code logs -> 2012 -> Sat, 25 Feb 2012< code.20120224.log - code.20120226.log >
--- Log opened Sat Feb 25 00:00:42 2012
00:13
< Stalker>
Any of you know how to make VLC automaticly start in "minimal interface"?
00:18 You're now known as TheWatcher[T-2]
00:20 You're now known as TheWatcher[zZzZ]
00:20
< Stalker>
Think I found it.
00:46 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
00:51 Derakon[AFK] is now known as Derakon
00:51
<&Derakon>
Vorn: so you want a dependency chain.
00:52
<&Derakon>
That sounds like it requires recursion to me.
00:57
< RichyB>
Prolog! You should apply Prolog to your problem.
00:57
< RichyB>
Then you are not thinking, "Oh no, I have problem."
00:58
< RichyB>
After applying Prolog, you are thinking "have(me, problem?):- No."
00:58
< RichyB>
ugh messed up the syntax on that slightly but you get the idea
00:59
< RichyB>
:- possesses(me, X), problem(X)? No.
00:59 maoranma [maoranma@D5CC77.617194.D31872.BA8A50] has joined #code
01:00 RichyB [MyCatVerbs@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: sawing logs]
01:02 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
01:02 mode/#code [+o ToxicFrog] by ChanServ
01:07 Attilla [Obsolete@FBC920.8C10FA.E7FDC7.D69C73] has quit [Client closed the connection]
01:08 Attilla [Obsolete@Nightstar-1a32815a.as43234.net] has joined #code
01:24 Kindamoody[zZz] is now known as Kindamoody
01:42
<~Vornicus>
Der: yeah, you're right, which sucks. I was vaguely hoping that I could, um, at least get it to do one level though
01:45
<&Derakon>
One level beyond just "select inputs from recipes where output = target item", you mean?
01:49
<~Vornicus>
Right. I mean, adding up the, um
01:52 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code
01:52 mode/#code [+o Vash] by ChanServ
01:54
<~Vornicus>
THe actual challenge I was looking at was "to build a 1-star item I need these materials. To build a 2-star item i need these other materials... and the 1-star item" and what I want is the materials I need, total, to build the 2-star item assuming I don't already have the 1-star item.
01:55
<~Vornicus>
But as you've pointed out I've forgotten that recursion doesn't work!
01:57
<&Derakon>
Unfortunate, isn't it?
02:00
<~Vornicus>
Yes. Dammitall.
02:00 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
02:00 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code
02:00 mode/#code [+o Vash] by ChanServ
02:08 iosleep is now known as iospace
02:08 Derakon is now known as Derakon[AFK]
02:29 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has quit [Ping timeout: 121 seconds]
02:42 Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code
03:04 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Ping timeout: 121 seconds]
03:04 gnolam [lenin@9D46A2.F4E9D7.E4B4CF.2072AD] has joined #code
03:23 Attilla [Obsolete@Nightstar-1a32815a.as43234.net] has quit [Ping timeout: 121 seconds]
03:47 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
04:01 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
04:01 mode/#code [+o himi] by ChanServ
05:11 ShellNinja [abudhabi@Nightstar-c9072dad.adsl.inetia.pl] has quit [Operation timed out]
05:15 ShellNinja [abudhabi@Nightstar-c9072dad.adsl.inetia.pl] has joined #code
06:08
<~Vornicus>
Gnarg. Okay, instrumenting.
06:09 Stalker [Z@2C3C9C.B2A300.F245DE.859909] has quit [Ping timeout: 121 seconds]
06:21 eckse [eckse@Nightstar-086443b9.dsl.sentex.ca] has quit [Client closed the connection]
06:22 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!]
06:22 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
07:00 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection]
07:01 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
07:02
<~Vornicus>
Yay, i think that's all the instruments I want.
07:48 Kindamoody is now known as Kindamoody|afk
08:01 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:09 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
08:43 thalass [thalass@Nightstar-07b2245e.bigpond.net.au] has quit [Ping timeout: 121 seconds]
09:18 Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds]
09:21 thalass [thalass@Nightstar-07b2245e.bigpond.net.au] has joined #code
09:23
< Tarinaky>
So he managed to figure out how to commit the renamed methods.
09:23
< Tarinaky>
Yay! Somebody else commited something
09:23
< Tarinaky>
Boo! They've committed... nothing else besides.
09:23
< Tarinaky>
I'm going to be rather cross on Monday all things considered.
09:52 * jerith tries to get his curve smoothing thing right.
09:54 * Tarinaky pokes the room - am I doing something wrong that nobody else seems to be committing code?
09:55
<@jerith>
Tarinaky: Do they know they're supposed to?
09:55
<@jerith>
Have you divided up the work?
09:56
< Tarinaky>
I told them what to do. And I've emailed them several times asking if there's any problems.
09:56
< Tarinaky>
At the meetings I ask if there're problems and they seem okay. They're just... not actually doing anything.
09:56
<@jerith>
Then it sounds like you're just stuck with a lazy team.
09:56
<@jerith>
Have you asked them where their code is?
09:56
< Tarinaky>
One of them managed to upload a commit to change the style of methods.
09:56
< Tarinaky>
Which I've stuck with, since, you know... I want them to contribute.
09:57
< Tarinaky>
I have not. I've told them to commit it to the git repo though.
09:57
<@jerith>
Ask them where it is.
09:57
<@jerith>
They'll either come up with excuses or say "actually, I haven't committed it yet".
09:57
<@jerith>
Or something.
09:57
< Tarinaky>
Okay. I'll try that on monday.
09:58
< Tarinaky>
(Next meeting on Monday, if I can get everyone to show up at the same time)
09:58
<@jerith>
If the latter, explain how collaboration works.
09:58
<@jerith>
Yeah, sounds like you have a bad group.
09:58
< Tarinaky>
I'm not sure I know how to explain how collaboration works.
09:58
<@jerith>
"I do my bit, you do your bit, we all put our bits over here so they cen be seen and used together."
09:59
<@jerith>
*can
09:59
< Tarinaky>
TBH I was always told that a bad/lazy group is because the leader's doing something wrong.
09:59
< Tarinaky>
So I kindof feel like I'm fucking up somewhere.
09:59
< thalass>
too few threats of violence?
09:59
<@jerith>
Are you the leader?
09:59
<@jerith>
If so, are you self-appointed?
09:59
< Tarinaky>
Nobody has officially appointed or voted on it.
09:59
< Tarinaky>
But I've organised the meetings and well... done everything so far.
10:00
< Tarinaky>
I guess self-appointed leader is accurate.
10:00
<@jerith>
Bad leadership can break a working team. Good leadership can't always fix a broken team.
10:01
< Tarinaky>
When they turn up they've always got their heads down and it can be really hard to get them to say anything.
10:01
<@jerith>
How well do you know them?
10:01
< Tarinaky>
Usually it's just blank agreement with whatever I've said...
10:01
< Tarinaky>
Not at all.
10:01
< thalass>
do they know each other?
10:01
< Tarinaky>
I got put with them because we all failed to turn up to the tutorial to decide groups.
10:02
<@jerith>
Ah.
10:02
< thalass>
Maybe some socialising is in order? counterstrike session? booze?
10:02
< thalass>
ah. that sounds bad.
10:02
<@jerith>
Ballmer Peak!
10:02
< Tarinaky>
One of them is being chased up by the department for attendance but I think the kick up his arse has worked.
10:02
< Tarinaky>
So I dunno if he's just so far behind he's struggling.
10:03
<@jerith>
Is this a project you could complete on your own?
10:03
< Tarinaky>
The other is the one who made the commit for coding style and nothing else.
10:03
< Tarinaky>
jerith: Yes. I just don't particularly want to.
10:03
<@jerith>
Keep on doing your thing. Keep badgering them for their contributions. Document how much (or little) they're doing.
10:04
<@jerith>
(Commit history is good for this.)
10:04
< Tarinaky>
I'm not sure how to document how much/little people are doing.
10:04
< Tarinaky>
I mean, attendance at meetings is easy.
10:04
<@jerith>
Are you supposed to be using git, or is that your own thing?
10:04
< Tarinaky>
Own thing.
10:04
< Tarinaky>
Everyone else is swapping memory sticks.
10:05
<@jerith>
email history can be a good record as well.
10:05
< Tarinaky>
The really high-tech solution is drop box.
10:05
<@jerith>
Maybe a group hacking session.
10:05
<@jerith>
Do they not teach VCS?
10:05
< Tarinaky>
They do, in the second year.
10:05 * jerith is unsurprised, but sad.
10:05
< Tarinaky>
It's mandatory for the 2e projects.
10:05
< Tarinaky>
This year they're still struggling to get some people to stop using static :p
10:06
< Tarinaky>
Admittedly they still struggle with that next year too~
10:06
< Tarinaky>
But the second year group project normally involves those people being beaten with pillow cases of soap.
10:06
<@jerith>
That's like... I don't know. Only teaching people about safety nets after a year of high-wire instruction.
10:06
<@jerith>
Your VCS is as important as your editor, and should be taught upfront.
10:06
< Tarinaky>
If the high-wire was 3ft off the ground I'd agree with you.
10:07
<@jerith>
The analogy is poor.
10:07
< Tarinaky>
People learn about VCS after they start programming.
10:07 You're now known as TheWatcher
10:07
<@jerith>
Sure, but that's not mandatory.
10:07
< Tarinaky>
I'm not sure it's necissarily a bad thing to do it in that order.
10:08
<@jerith>
I think it is.
10:08
< Tarinaky>
I mean, we're taught how to invoke javac on the command line before we're introduced to Eclipse.
10:08
<@jerith>
It gives you freedom to experiment.
10:08
<@jerith>
Different issue.
10:08
<@jerith>
VCS is more of a safety net than a convenience.
10:10 * Tarinaky shrugs.
10:11
< Tarinaky>
Anyway. So on Monday I ask them what they've done and where it is.
10:12
< Tarinaky>
What else/
10:15 * jerith shrugs.
10:16
<@jerith>
It's been years since I've worked with a group that wasn't disciplined and self-motivated.
10:17 * TheWatcher eyes, readsup
10:19
<@TheWatcher>
Tarinaky: aside from Jerith's suggestions, and your plan, I'd suggest talking to your group tutor. Or your year tutor. He probably won't do anything, but the fact that you have informed him that your group isn't pulling its weight can be useful when it comes to marking
10:19
<@jerith>
Good point.
10:20
<@jerith>
He may also have useful advice.
10:20
<@TheWatcher>
(I should also note that I've had to deal with - and indeed, currently am dealing with - MSc students who've never used a vcs)
10:20
<@jerith>
As far as I'm aware, nobody at my university was ever taught about VCS.
10:21
<@jerith>
I discovered it on my own halfway through my degree when I started looking at open source projects.
10:21
<@TheWatcher>
*nod* they require the second year software engineering group to use it, but without properly teaching it at all
10:22
< Tarinaky>
In fairness, they don't properly teach a lot of stuff on the course. It's kindof expected that we'll lrn to read a man page/api documentation.
10:22
<@TheWatcher>
Yeah, see, that's what set you apart from a normal undergrad these days ¬¬
10:23
<@jerith>
Tarinaky: They're aupposed to teach you the gundamentals and how to acquire the additional detail.
10:23
< Tarinaky>
Particularly for the second year project where they expect us to self-teach ourselves android development.
10:23
<@TheWatcher>
"It's not handed to us on a silver platter by nubile virgins?! WHAAA THIS JAAAOOORRRRBBS TOO HAAAAAAARRRRRD!"~
10:23
<@TheWatcher>
(I may be a little bitter ¬¬)
10:23
<@jerith>
Self-teaching tools and languages and environments is a good idea.
10:24
< Tarinaky>
Maths and Physics it's a lot easier to get through just on the lecture material and past papers.
10:24
<@jerith>
That's what makes engineering different.
10:24
<@jerith>
(Software engineering even more so.)
10:24
<@jerith>
You're very seldom doing things that have already been done, because they've already been done.
10:26
<@TheWatcher>
jerith: I agree entirely, but it requires a base level of experience and initiative, and the desire to do it. The UG intake these days is seriously broken, thanks to the mess that is secondary and college education, and the focus on marks being the be-all and end-all of the enterprise.
10:26
<@jerith>
If you can't solve a problem you've never seen before with tools you've only vaguely heard about, you're going to find yourself out of your depth very quickly.
10:27
< Tarinaky>
At this point I'd be prepared to spoon feed the group if they'd ask for help, lol.
10:27
<@jerith>
TheWatcher: So you slowly transition them from what they're used to to what they need to know.
10:27
<@TheWatcher>
We try
10:27
<@jerith>
That's what university's about.
10:28
<@jerith>
But you *must* teach them the fundamentals, and teach them hard.
10:28
<@TheWatcher>
They now have a couple of remedial courses in the first year, unfortunately said courses are... lacking, thanks to the... inflexibility of the staff teaching them.
10:28
<@TheWatcher>
Thankfully, they won't be around much longer.
10:29
< Tarinaky>
Inflexibility in terms of hours or...
10:30
<@TheWatcher>
Utter conviction that Their Way Is The Only Way To Teach It
10:30
< Tarinaky>
Ahah.
10:30
<@TheWatcher>
Despite widespread complaints from studens and staff
10:31
< Tarinaky>
"My lectures are a masterpiece, merticulously planned... Though the students always tell me that I'm hard to understand. And I can't think why (he can't think why)"
10:33
<@TheWatcher>
More or less. He also turned his moodle course into a labyrinthian abomination that nobody can find anything in, and then wonders why people don't do the stuff he's put in there.
10:34
< Tarinaky>
Ouch
10:34
< Tarinaky>
That does sound really bad.
10:34
<@TheWatcher>
And He (differen he) has decided that he'll buck the trend and put none of his materials online
10:34
<@TheWatcher>
Because You Don't Need It If You Attend Lectures!
10:34
< Tarinaky>
>.<
10:35
< Tarinaky>
You wonder if these people were ever UG :)
10:36
<@jerith>
It's very rare to be both competent and in academia in this industry.
10:37
<@TheWatcher>
Tarinaky: Around the time of the PDP-10, yes.
10:37
< Tarinaky>
TheWatcher: They still had lectures back then though.
10:39
< thalass>
They had nothing but lectures. No vodcast or streaming video from the dorm room or anything like that. Everything shall be as it was in the 1950s!
10:40
< Tarinaky>
And presumably they had the experience of either having to catch up on a missed lecture by copying a friend's notes and cross referencing hearsay with the recommended reading...
10:40
<@TheWatcher>
And they had to walk to the lecture theaters each day, up hill both ways, in the snow.
10:40 * thalass laughs
10:40
< Tarinaky>
Or experienced a wish that the lecturer had left the scrawl on the black board either more legibly or for a few seconds longer.
10:42
<@TheWatcher>
It amuses me that several members of staff refuse to be recorded in lactures. They never give a good reason why, if at all - I vaguely suspect they think it steals their soul or something.
10:42
< Tarinaky>
Smartboards are an abomonation unto reality and should be replaced with normal white boards or blackboards though.
10:42
<@TheWatcher>
*lectures
10:43
< Tarinaky>
As you have to kind of... maneuver around so you can see what you're writing.. and then inevitably it's not calibrated... or sometimes it just does whatever it likes on a lark...
10:44
< Tarinaky>
And then when you look at it you can see the pixels so it does your eyes in.
10:45
< Tarinaky>
And it doesn't update drawing quick enough which is really disorienting.
10:45
< Tarinaky>
But then I hate writing on normal white boards due to being a leftie.
10:46
< Tarinaky>
And that was a bit of a rant >.>
10:46
< thalass>
They have smartboards in my daughters kindy classroom. She's 4. >.<
10:46
< Tarinaky>
I think it's because they don't need cleaning.
10:46
< thalass>
Hell, they have a powerpoint presentation with the kids names on it, and that's how they sign in to class in the morning.
10:47
< thalass>
touching the balloons.
10:47
< Tarinaky>
And they look really good in terms of "LOOK! WE HAVE MONEY TO WASTE ON HITECH VISUAL AIDS!"
10:47 * jerith tries to decide whether he should implement a Point class or just use complex numbers.
10:47
< Tarinaky>
But I wouldn't be surprised if they cost less than a real whiteboard these days.
10:50
<@TheWatcher>
Tarinaky: where are you these days, anyway?
10:50
< Tarinaky>
Aberystwyth.
10:51 froztbyte [froztbyte@Nightstar-dc394964.za.net] has quit [Ping timeout: 121 seconds]
10:51
< thalass>
Which planet is that on? *runs*
10:51 froztbyte [froztbyte@Nightstar-dc394964.za.net] has joined #code
10:58
<@TheWatcher>
Tarinaky: but yes, anyway - keep logs of what you've done, and record what you've asked your teammates to produce that they haven't. Quiz them about WTF Mates, and talk to your tutor. And expect to have to do all the work :/
10:59
< Tarinaky>
thalass: It's where the the Irish Sea meets the Middle of Nowhere, Wales.
10:59
<@jerith>
(And really, given their behaviour so far, I'd be surprised if any work they did was actually useful.)
10:59
<@TheWatcher>
(indeed)
11:00
< thalass>
I had a feeling it might be wales. Yuckydah!
11:00
<@TheWatcher>
Tarinaky: Nowhere but pronounceable, Wales
11:00
<@jerith>
(This is one of those fields where it's fairly easy for a team member to have negative productivity.)
11:01
< Tarinaky>
Aberystwyth's pronounceable.
11:01
<@TheWatcher>
At least it doesn't require a run-up and a pint of phlem in your throat~
11:03
< Tarinaky>
"Mayor of Doncaster Peter Davies said: "It's clearly in the interests of Doncaster to be in Scotland: we'll get free prescriptions, free tuition for students and free care for the elderly. "
11:03
< Tarinaky>
-- On it emerging that Doncaster belongs to Scotland.
11:03
<@TheWatcher>
...
11:03
<@TheWatcher>
pft
11:04
<@TheWatcher>
Leeetle bit south for Scotland, methinks.
11:04
< thalass>
...
11:04
< thalass>
Some ancient treaty agreement or something?
11:04
< Tarinaky>
Yeah.
11:05
< thalass>
The kind of thing where it was ok to shoot irishmen with a longbow on sunday?
11:05
<@TheWatcher>
YEah
11:05
<@TheWatcher>
Treaty of Turham, in 1136
11:05
< Tarinaky>
Except that it was never legal to shoot an irishman with a longbow on sunday.
11:05
<@TheWatcher>
*Durham
11:05
< Tarinaky>
And even if it was it would be repealed, implicitly, by modern law taking precedence over it.
11:06
<@TheWatcher>
More's the pity~
11:06
<@TheWatcher>
(yes, I am joking, damnit ¬¬)
11:07
< Tarinaky>
Too late, check under your car before you start it.
11:07
<@TheWatcher>
Ah, ahead of the game, there: no car :P
11:07
< thalass>
hah
11:08
< thalass>
(it could have been welshmen, actually)
11:08
< Tarinaky>
It's entirely fictitious.
11:08
< Tarinaky>
Apocryphal.
11:08
< thalass>
Dang. I like those crazy old laws
11:08
< Tarinaky>
Versions of the story exist for more or less every combination of social/ethnic group and weapon.
11:10 * gnolam flails at his quaternions.
11:16
< Tarinaky>
In 100 years time they'll claim it's "still technically legal" to shoot Sikhs with a shotgun outside Stourbridge on a sunday as long as you do so while stood on only one leg while walking a dog.
11:17
< thalass>
hahaha
11:18
< Tarinaky>
Or you can machinegun down a clown as long as the number of rounds is the product of two different pairs of prime factors.
11:20
<@TheWatcher>
It's always legal to shoot clowns.
11:21
<@TheWatcher>
*shudder*
11:21
< Tarinaky>
Don't be silly. Batman will stop you.
11:23
< Tarinaky>
Right, I'm gonna go restock the freezer.
11:51 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
11:58 Attilla [Obsolete@Nightstar-1a32815a.as43234.net] has joined #code
12:03
<@jerith>
So. Who wants to write some mediawiki code?
12:03
< Tarinaky>
The same set of people who want to write code for my group project :p
12:04
< thalass>
Don't look at me. Noob. And on my 17th hour awake.
12:04 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
12:04 mode/#code [+o himi] by ChanServ
12:05 maoranma [maoranma@D5CC77.617194.D31872.BA8A50] has quit [Ping timeout: 121 seconds]
12:05
<&McMartin>
YOU BEAT: QUATERNION MAN
12:05
<&McMartin>
YOU GOT: GIMBAL UNLOCKER
12:05
< Tarinaky>
I had a fun discussion last night about whether you could think of a function as being an instance of some Function class.
12:06
<&McMartin>
Python and JavaScript both actually do this.
12:06
<@jerith>
Tarinaky: They're implemented that way...
12:06
<&McMartin>
To say nothing of boost::function in C++
12:06
<@jerith>
Yeah, what McM said.
12:06
< Tarinaky>
The actual context was C++. But OOP is all abstraction so it doesn't/shouldn't matter about the language so much as your mode of thinking.
12:07
<&McMartin>
Protip: This is a dangerous one, halfway between OO that isn't horrible batshittery and, well, just using higher-order functions like a civilized human being >_>
12:07
<&McMartin>
C++ calls classes that overload operator() "functors", which drives me up the fucking wall because that word means something else goddamnit
12:07
<&McMartin>
About five something elses, but really
12:08
< Tarinaky>
Just because you can think of something in a cetain way doesn't mean it actually works that way :p
12:08
<&McMartin>
Well
12:08
<&McMartin>
A C++ class with (a) some fields in it and (b) an operator() overload is actually equivalent semantically and unnervingly close in terms of binary layout to a LISP or JavaScript closure.
12:09
< Tarinaky>
I thought C++ used 'functor' to refer to pointers to functions?
12:09
<&McMartin>
No, that's a "function pointer"
12:09
< Tarinaky>
It's just the main use of overloading operator() is to do stuff you'd otherwise be doing by pointer-to-function.
12:09
<&McMartin>
Nope
12:09
<&McMartin>
pointer-to-function doesn't have state.
12:09
<&McMartin>
pointer-to-bound-method can have state, I think, but I think you then have to re-connect it in.
12:10
<&McMartin>
A function pointer and a closure are not the same thing.
12:10 * jerith reinvented OO in Pascal by shoving function pointers in records.
12:10
<@jerith>
Not long after that I discovered Turbo Pascal's OO features, which were actually less elegant than mine, despite the clunky syntax.
12:10
<&McMartin>
class A { int m = 0; public: int operator() (void) { return m++; } }
12:11
<@jerith>
Then I moved on to real languages.
12:11
<&McMartin>
You can't do this with C-style function pointers directly.
12:11
<&McMartin>
jerith: Well, TP did eventually become Delphi, which is at least semi-respectable even today.
12:11
< Tarinaky>
No. But I'm pretty sure that there's some C-style way of achieving the same goal with a function pointer.
12:11
<&McMartin>
Tarinaky: Yes, by also passing a pointer to m on every call.
12:11
<@jerith>
Delphi was pretty cool for a while, but the lack of GC made it a pain.
12:12
<&McMartin>
That means it's no longer a function pointer. =P
12:12
< Tarinaky>
I was mostly thinking of things like dictionaries of functions though.
12:12
<&McMartin>
That's enough for a vtable
12:12
<&McMartin>
But that's only half the equation.
12:12
<&McMartin>
The, well, function pointer half.
12:12
<&McMartin>
The other half is the execution environment
12:13
<&McMartin>
You need to lock the "this" pointer into the function to provide and encapsualte the data that's worked on.
12:13
<&McMartin>
In OO, you do this directly.
12:13
<&McMartin>
In LISP or JavaScript, you do it by making them variables in the defining context ("lexical scoping").
12:13
<&McMartin>
Lexical scoping is the older technique, by decades.
12:14
<&McMartin>
(define (make-counter) (let ((x 0)) (lambda () (begin (set! x (+ x 1)) x)))
12:14
< Tarinaky>
Most of that went over my head tbh.
12:14
< Tarinaky>
:(
12:15
<&McMartin>
Basically, in C++, when you return from a function, the local variables go away
12:15
<&McMartin>
In Lisp or JS, they only go away if you d
12:15
<&McMartin>
if you didn't define any functions inside that one.
12:16
< Tarinaky>
Ah.
12:16
<&McMartin>
If you *did*, the locals in block that defined the function are basically the fields of the callable object that the function so defined is.
12:16
<&McMartin>
The Scheme (a LISP dialect) code I quoted up there is equivalent to the C++.
12:17
<&McMartin>
My JS isn't facile enough to come up with the equivalent there and have it be right off the top of my head, but I think it is...
12:17
<&McMartin>
function make-counter() { var x; return function () { var y = x; x = x + 1; return y; }; }
12:17
<&McMartin>
make-counter here replaces the (implicitly defined) A::A() in the C++.
12:19
<&McMartin>
JavaScript doesn't have in-language data hiding, but you can use this trick with variables to enforce variable privacy anyway. It's a standard technique.
12:19
< Tarinaky>
Oh yeah. I had a brain fart a few days ago. What's the Java equiv of const?
12:20
<&McMartin>
It doesn't truly have one.
12:20
<&McMartin>
"final", however, is very close.
12:20
< Tarinaky>
As in const int = SOMETHING; or public const String foo() { return somePrivateString; }
12:20
<&McMartin>
final will cover the former
12:21
<&McMartin>
There is no concept of the latter in Java; if you want to ensure that a field can't be modified through its reference, you may not permit the reference to escape, or the object must itself be immutable.
12:21
<&McMartin>
As it happens, String is immutable, so you're covered there.
12:21
< Tarinaky>
Oh, I didn't know that. I'd settled for returning a copy.
12:22
< Tarinaky>
Unfortunately this made the C++ programmer inside me cry.
12:22
<&McMartin>
C++ has lots and lots of spurious copies too, it just does them in different places.
12:22
<&McMartin>
(primarily, function returns. =P)
12:22
< Tarinaky>
Although I probably did the copy wrong.
12:23
< Tarinaky>
new Something(something) makes a copy of something right? Same as in C++
12:24
<&McMartin>
It's not guaranteed to
12:24
<&McMartin>
It usually will.
12:24
<&McMartin>
It does, like C++, always create a new object.
12:24 * Tarinaky goes make a patch reflecting that String is immutable before he forgets.
12:24
<&McMartin>
(nonvirtual constructors continue to make me sad)
12:25
<&McMartin>
One main difference I think is that in C++, new Something(something_vaguely_equivalent) tends to be a conversion operator, and in Java it tends to be a wrapper/decorator.
12:25
<&McMartin>
You can wrap collections to make them immutable, I think, though I don't recall the class name.
12:27
<@jerith>
I think there's a package containing immutable wrapper classes.
12:28
<&McMartin>
Also of note: since strings are immutable in Java, doing something like...
12:28
<&McMartin>
String s = "blah"; for (i = ...) { s = s + " blah"; }
12:29 * TheWatcher readsup
12:29
< Tarinaky>
Creates a new string each time.
12:29
<@TheWatcher>
jerith: what're you writing?
12:29 * Tarinaky nods.
12:29
<&McMartin>
is extremely inefficient. When building up strings either use a StringBuffer (if you want to build it up with string operations) or a PrintWriter wrapping a StringWriter (if you want to have stuff like System.out.println, but going to a string instead of the screen)
12:30
<&McMartin>
I think there's a non-threadsafe, faster version of StringBuffer now, too (StringBuilder?)
12:30
<@jerith>
TheWatcher: github.com/jerith/depixel
12:30
< Tarinaky>
Yeah. I think we covered using StringBuffer in the last semester.
12:30
< Tarinaky>
It's just easy to forget stuff like that.
12:30
< Tarinaky>
I've gotta split though, I'm late for something.
12:30
< Tarinaky>
Later.
12:31
<@TheWatcher>
I meant regarding "12:03:24 <@jerith> So. Who wants to write some mediawiki code?"
12:31
<@jerith>
Ah.
12:31
<@jerith>
TheWatcher: github.com/praekelt/vumi-wikipedia
12:31 * TheWatcher has been toiling away in there a fair bit, one way or another, this week
12:32
<@jerith>
I need an API that will render to text or minimal HTML.
12:33
<@jerith>
preilly (Wikimedia's lead (and often only) mobile dev) says he can do it, but he's quite busy.
12:40
<@jerith>
TheWatcher: How much of your work in there is suitable for pushing upstream?
12:42
<@TheWatcher>
First thing that springs to mind is to modify includes/api/ApiParse.php to add an extra 'textonly' option, and invoke html2text to convert p_result -> getText() to plain text, but that feels pretty kludgy
12:42
<@jerith>
That's what I'm currently doing on the outside.
12:42
<@jerith>
The problem is that there's a lot of stuff that isn't suitable for inclusion in plain text.
12:43 Kindamoody|afk is now known as Kindamoody
12:43
<@jerith>
Image captions, [edit] links, etc.
12:43
<@TheWatcher>
Also, probably not much - generally things like adding extra permissions stuff, filtering of recent changes per group
12:43
<@TheWatcher>
Ah, yeah, point
12:44 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
12:44
<@TheWatcher>
I've also added a few bits and pieces so that user links get a group list popup added. Mostly just things to make life easier in work, rather than likely to be genuinely useful to anyone else
12:45
<@jerith>
I'm currently filtering those out based on CSS class and looking for oddness in the little snippets I'm returning over SMS/USSD, which isn't very thorough.
12:45 * TheWatcher nod
12:45
<@TheWatcher>
I guess it'd mean actually fiddling with the parser to make it cleaner. And..yeah, no, not touching >.>
12:46
<@jerith>
(My HTML stripping is explicitly a short-term hack. This stuff really belongs in the mediawiki code, where all the relevant semantic data is available.)
13:04 * TheWatcher gives up eyeing the parser code
13:04
<@TheWatcher>
Yeah, not trying anything in there, that stuff is nasty >.>
13:14 * thalass prods around in the guts of a lua game, succeeds in changing the keyboard keys, but understands little else.
13:54 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
14:06 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
14:07 mode/#code [+o himi] by ChanServ
14:22 thalass is now known as Thalasleep
14:34 Attilla [Obsolete@Nightstar-1a32815a.as43234.net] has quit [Ping timeout: 121 seconds]
14:35 WiFlyer [NSflashIRC@48DFF2.D7721A.E7F270.7B384E] has joined #code
14:35 WiFlyer [NSflashIRC@48DFF2.D7721A.E7F270.7B384E] has left #code []
14:37 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
14:44 WiFlyer [NSflashIRC@48DFF2.D7721A.E7F270.7B384E] has joined #code
14:44 WiFlyer [NSflashIRC@48DFF2.D7721A.E7F270.7B384E] has left #code []
15:06
<~Vornicus>
How on earth has js survived this long without even string formatting in the standard library
15:08 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:08 mode/#code [+o Syloqs_AFH] by ChanServ
15:09 Syloqs_AFH is now known as Syloqs-AFH
15:10
<@TheWatcher>
Vorn: because madness.
15:37 Kindamoody is now known as Kindamoody|out
15:54 AnnoDomini [annodomini@A08927.B4421D.B81A91.464BAB] has joined #code
15:54 mode/#code [+o AnnoDomini] by ChanServ
16:06
< Tarinaky>
Ahah! Life!
16:06
< Tarinaky>
One of them says he'll sit down and get some stuff done today.
16:26 RichyB [MyCatVerbs@Nightstar-86656b6c.cable.virginmedia.com] has joined #code
16:32 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has quit [Ping timeout: 121 seconds]
16:32 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
16:33 Reiver [orthianz@3CF3A5.E1CD01.C6689C.33956A] has joined #code
16:45 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
16:45 mode/#code [+o himi] by ChanServ
16:48 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
16:54
< Tarinaky>
I', having a little bit of trouble understanding Perlin Noise.
16:54
< Tarinaky>
Specifically where the array of noise that you're sampling comes from.
16:57
< RichyB>
Tarinaky, just to check, you're learning using Ken Perlin's own materials, right? http://www.noisemachine.com/talk1/
16:58
< RichyB>
He pretty much writes this out better than anyone else manages.
16:58
< Tarinaky>
The site didn't load right for me.
16:58
< Tarinaky>
I just get this really thin column down the rhs.
16:58
< RichyB>
...? What browser are you using?
16:58
< Tarinaky>
Chromium
16:59
< RichyB>
Weird. So am I.
16:59
< Tarinaky>
Ah, one of the slides loads okay.
16:59
< RichyB>
http://www.noisemachine.com/talk1/2.html <- link directly to slide 2 in case that helps.
16:59
< RichyB>
(slide 1 is just the cover anyway)
17:00
< Tarinaky>
I wasn't talking about slide 1.
17:03 AnnoDomini [annodomini@A08927.B4421D.B81A91.464BAB] has quit [Ping timeout: 121 seconds]
17:05
< RichyB>
I could mirror the slides for you if you're still having trouble getting them to load. Don't know that that'll help any without knowing why you're having issues though. :/
17:06
<~Vornicus>
Tarinaky: the array of noice vectors?
17:07
< Tarinaky>
Yes... maybe...
17:07
< Tarinaky>
>.<
17:07
<~Vornicus>
You have an indexable N-dimensional array that acts like a random number generator - which is to say you pass in a coordinate and it gives you a "random" number
17:08
<~Vornicus>
You then have an array of N-dimensional vectors; each one should be a unit vector, and you should have as many such vectors as you have possible outputs to the RNG
17:09
< Tarinaky>
These are seperate things?
17:09
<~Vornicus>
Yes
17:09
< Tarinaky>
Okay.
17:09
< Tarinaky>
That might be where my confusion comes from.
17:09
<~Vornicus>
THen to get the noise vectors you index into your N-dimensional random generator
17:09
<~Vornicus>
And then take the output of that and index into the array of vectors.
17:12
< Tarinaky>
Okay, so I have a gradiant and a number... then what?
17:15
<~Vornicus>
The vector gives you a gradient, you interpolate the gradients, and you're done.
17:15
< Tarinaky>
What's the array of numbers for?
17:16
< Tarinaky>
And how does one interpolate gradients? What does that even mean?
17:16
<~Vornicus>
The array of numbers tells you what vector to use at each point
17:16
< Tarinaky>
Oooh.
17:16
<~Vornicus>
The vector tells you the gradient; you use interpolation (with an easing function in there somewhere) to determine the noise value at a particular point.
17:17
<~Vornicus>
The array of numbers is actually not an array but a function that acts like an indexable infinite array of random numbers.
17:17
< Tarinaky>
Why is called an array and not a function?
17:18
< Tarinaky>
f(x): R^2 -> N >.>
17:18
< Tarinaky>
*f(x,y)
17:18
< Tarinaky>
I herped a derp a little
17:20
<~Vornicus>
Because the function has to be final
17:20
<~Vornicus>
er, const. WHichever name floats your boat
17:22
< Tarinaky>
Anyway~ What does it mean to interpolate between two gradients as opposed to two points.
17:22
< Tarinaky>
I'm having difficulty visualising that.
17:22
<~Vornicus>
That's answered in the slides; there's an equation that gets used
17:24
<~Vornicus>
But I think your best bet is to imagine it as "we're building a smooth surface that has slopes at the index points as given from the vectors"
17:25
< Tarinaky>
So after interpolating you integrate?
17:25
<~Vornicus>
No.
17:26
<~Vornicus>
THe surface is the result of the interpolation
17:26
<~Vornicus>
It's complicated enough that I can't describe it while also making a SUnday DInner scale lunch.
17:26
< Tarinaky>
Sorry.
17:26
< Tarinaky>
I'll go pester someone else on monday, lol.
17:27
<~Vornicus>
I would also have to read the paper again myself because I don't remember a lot about the order of things after you've got your vector field.
17:28
<~Vornicus>
Ah, here we are
17:28
< Tarinaky>
Oh!
17:29
< Tarinaky>
I think I get it.
17:29
<~Vornicus>
http://www.noisemachine.com/talk1/15.html We find the value of the gradient for all the surrounding points
17:29
<~Vornicus>
THis is done using dot product against the vector for each of the surrounding grid points - the dot product gives you the gradient
17:29
<~Vornicus>
THen you interpolate those using an easing function
17:30
< Tarinaky>
According to this it's the cross product against the difference in position.
17:33
<~Vornicus>
"this"? I see dot product/inner product
17:35
< Tarinaky>
G.(P-Q)
17:35
< Tarinaky>
http://www.noisemachine.com/talk1/15.html
17:40
< Tarinaky>
http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselinks/perlin-noise-math -faq.html#algorithm << This is quite good
17:40 Kindamoody|out is now known as Kindamoody
17:42 AnnoDomini [annodomini@A08927.B4421D.B81A91.464BAB] has joined #code
17:42 mode/#code [+o AnnoDomini] by ChanServ
17:49 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
17:50 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
17:53
<~Vornicus>
yeah, that's dot
17:54 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code
17:54
< Tarinaky>
Yes. But P-Q is the difference in position between P and Q.
17:55
< Tarinaky>
- is not dot >.>
17:55
<~Vornicus>
Yes, but you said cross earlier. You dot.
17:55
<~Vornicus>
Not cross.
17:55
< Tarinaky>
When did I say cross?
17:55
< Tarinaky>
Oh.
17:55
< Tarinaky>
Apparently at 17:30
17:55
< Tarinaky>
Lol.
17:56 * Vornicus patpats tarinaky
17:56 * Tarinaky feels silly.
17:59
< Tarinaky>
I think I 'get' it now.
17:59
< Tarinaky>
I'm going to have to hash out some code when I get chance so I can be sure.
18:02
< Tarinaky>
Vornicus: Where are the neighbours supposed to be?
18:02
< Tarinaky>
Just the nearest whole numbers?
18:04
< Tarinaky>
Or rather, the nearest point with a mapping in the gradient function?
18:06
<~Vornicus>
The nearest integer x/y/z
18:07
<~Vornicus>
There's alternatives of course; I've see one, iirc called simplex, that only counts things in a sphere around each point, and chooses the points so the spheres in question don't cross lines into other sections
18:08
< Tarinaky>
Wait, what's the thing you vary to increase the frequency?
18:08
<~Vornicus>
TO change the frequency you change how your x/y/z maps to the "world"
18:09
< Tarinaky>
And... I'm not sure I see how this is repeating.
18:09
< Tarinaky>
Or is that just because the PRNG will repeat?
18:13
<~Vornicus>
if you see it repeating, that means your prng isn't r enough
18:13
< Tarinaky>
I know, but the talk about frequencies is because the noise repeats.
18:14
< Tarinaky>
Or is supposed to repeat...
18:14
< Tarinaky>
Otherwise it wouldn't have a frequency...
18:14
<~Vornicus>
You have two things here
18:15
<~Vornicus>
You have the frequency which is the size of the details; it's the distance between integer coordinates on your plane
18:15
<~Vornicus>
You also have the frequency which is the size of the full repeat length of your plane
18:15
<~Vornicus>
WHich should be Rather Large if you're doing it right
18:16
< Tarinaky>
So I only, really, need 4 gradiants?
18:16
<~Vornicus>
What
18:16
<~Vornicus>
No
18:16
<~Vornicus>
Each point in your 2d plane is based on 4 gradients
18:16
< Tarinaky>
But if the 4 gradient's positions are supposed to be far apart.
18:17
<~Vornicus>
But those four gradients are chosen based on where you are - each integer grid point has a gradient that has been chosen by your indexable prng
18:18
< Tarinaky>
I mean you only need 4 integer grid points...
18:19
< Tarinaky>
Or am I missing something here?
18:21
<~Vornicus>
Locally you only need 4 integer grid points
18:21
<~Vornicus>
But you need a different four points when you move into another square
18:21
< Tarinaky>
What does Locally mean though?
18:21
< Tarinaky>
How big did you mean by Rather Big?
18:22
<~Vornicus>
Like if I'm at (2.3, 3.5) I need (2,3) (3,3) (2,4) and (3,4)
18:22
<~Vornicus>
And by Rather Big you should be picking a prng that gives a large period
18:22
< Tarinaky>
Right, but what does a unit actually correspond with here?
18:22
<~Vornicus>
A unit corresponds to how big you want your details to be
18:22
< Tarinaky>
Oh I see.
18:22
< Tarinaky>
So that -can- be as small as I can calculate.
18:23
< Tarinaky>
So when perlin noise talks about frequency it means the distance between integer coordinates.
18:24
< Tarinaky>
What do I do about when x,y are integers?
18:24
< Tarinaky>
Or do I just do nothing?
18:24
<~Vornicus>
Scale it
18:24
<~Vornicus>
Oh that
18:25
<~Vornicus>
Well, you're getting "0" off it because your "other" locations aren't weighing in at all (they have 0 weight at other integer points) and because dot product of anything against 0 is 0
18:25 * Tarinaky nods.
18:26
< Tarinaky>
So for a heightmap there'd be a locally flat region every unit length.
18:27
<~Vornicus>
No, it'd be locally the same height
18:27
<~Vornicus>
As the other integer points
18:27
< Tarinaky>
Yes.
18:28
< Tarinaky>
That's what I mean.
18:28
< Tarinaky>
This seems detrimental.
18:29
<~Vornicus>
This is why usually you have several noise functions going off at once.
18:29
< Tarinaky>
Won't their integer points occur at the same points as well?
18:29
< Tarinaky>
Since they're multiples of 2.
18:30
< Tarinaky>
Not multiples
18:30
< Tarinaky>
Powers
18:30
<~Vornicus>
No, you scale it differently
18:31
<~Vornicus>
IOdeally you'd pick something incommensurable - an irrational scaling - but you can just pick something with a ridiculously high lcm
18:31
< Tarinaky>
lcm?
18:32
<~Vornicus>
least common multiple
18:32
<~Vornicus>
I mean take for instance two noise functions with scales, Idunno, 100 and 37, they'll only ever match points every 3,700 pixels
18:33
< Tarinaky>
Where does this idea of Octaves come from then?
18:34
<~Vornicus>
i don't know, where?
18:34 eckse [eckse@Nightstar-83937dde.dsl.sentex.ca] has joined #code
18:34 mode/#code [+o eckse] by ChanServ
18:34
< Tarinaky>
Umm... The slides.
18:34
<~Vornicus>
gnah,uld have to look more
18:36 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
18:37
< Tarinaky>
noise(p) + 1/2 noise(2p) + 1/4 noise(4p)
18:37 rstamer is now known as Anna
18:38 eckse_ [eckse@Nightstar-7e7c04f4.dsl.sentex.ca] has joined #code
18:38 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
18:39
<~Vornicus>
Okay, so
18:39
<~Vornicus>
Your p is rweally really really big
18:39
<~Vornicus>
Like, 2^16 big
18:39
< Tarinaky>
Yes.
18:40
< Tarinaky>
This does not matter.
18:40
< Tarinaky>
Wait... no...
18:40
< Tarinaky>
Don't you mean the frequency is really big?
18:40
< Tarinaky>
P is just the position...
18:41 eckse [eckse@Nightstar-83937dde.dsl.sentex.ca] has quit [Ping timeout: 121 seconds]
18:41
<~Vornicus>
the wavelength is really big
18:41
< Tarinaky>
Yes.
18:42
<~Vornicus>
Then you have a wavelength half that size, and another, and another, and another
18:42
< Tarinaky>
Yes.
18:42
< Tarinaky>
Octaves.
18:42
<~Vornicus>
But the wavelength is so big that your actual apparent 0 points are so far apart as to not matter
18:43
< Tarinaky>
Doesn't that mean that on the... can't remember the word...
18:43
< Tarinaky>
0th Octave there's only 4 gradient points used?
18:44
< Tarinaky>
Because otherwise there's be 0 points in the 0th octave.
18:46
<@AnnoDomini>
Hey, guys, how feasible is coding up a mapping utility to run a game of Dungeons and Dragons in a five-dimensional hypercube?
18:46
<@Tamber>
o.0
18:47
<@AnnoDomini>
I figure it could be okay if you make a Room class or something and define where the exits go.
18:48
< Tarinaky>
The challenge is visualising it in a sensible way.
18:48
<@AnnoDomini>
Just need a way to tell one room from another. A number in the room would work well enough.
18:48
< Tarinaky>
If you have a sequence of rooms linked by north, south, east, west, up, down, future, past, top and bottom
18:49
<@AnnoDomini>
Assuming that it's impossible to interact with two+ rooms simultaneously, through the use of portals or something, it's not necessary to show more than one room at a time.
18:49 Kindamoody is now known as Kindamoody[zZz]
18:49
< Tarinaky>
I'm just not sure what a doorway topwards would look like. Where you'd place it in a 2D map.
18:50
<@AnnoDomini>
A lever!
18:50
<@AnnoDomini>
Which teleports you.
18:50
< Tarinaky>
That's not n-dimensional.
18:51
<~Vornicus>
Tarinaky: what are you talking about
18:51
< Tarinaky>
That's just teleporting across a 2d grid.
18:51
< Tarinaky>
Vornicus: Anno's problem?
18:51
<~Vornicus>
In all octaves you only look at one square of the infinite array of random vectors for any given point
18:51
< Tarinaky>
Vornicus: Yes. But the zero value points occur at the corners of those squares.
18:52
<~Vornicus>
RIght, but that's okay.
18:52 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
18:52
< Tarinaky>
Why is it okay?
18:52 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
18:52
< Tarinaky>
Because you choose the wavelength of the 0th octave such that a square is unfeasibly large?
18:52
< Tarinaky>
Or for some other reason?
18:53
<~Vornicus>
That.
18:53
<~Vornicus>
Well, not unfeasibly large. But large enough that people won't notice. In the slides he uses a largest size of about 16 px for everything except the clouds, and that's big enough to not tell that this is happening
18:54
< Tarinaky>
Ah.
18:54
< Tarinaky>
I'm surprised that it's difficult to spot.
18:55 EvilDarkLord is now known as Aeron
18:56
< Tarinaky>
I should head on out to my Vampire game.
18:56
< Tarinaky>
Thanks for being patient with me, as ever.
18:57 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
18:57
< Tarinaky>
Some days I worry I take your patient explanations for granted >.<
18:58
< froztbyte>
Tarinaky: if there were no-one willing to share knowledge, where would we be? :)
18:58
< Tarinaky>
Actually... A roguelike where you can move forwards and backwards through time would be... amusing.
18:59
< Tarinaky>
Unfortunately I think the concept has been overdone.
18:59
< froztbyte>
Vorn's patience now will, I would bet, shape how you would in turn teach someone else in the future
18:59
< froztbyte>
and so the cycle of learning continues :)
18:59
< Tarinaky>
froztbyte: You missed me threatening my fellow freshers with violence didn't you?
19:00 eckse_ is now known as eckse
19:00
< froztbyte>
Tarinaky: everyone starts somewhere :D
19:00
< froztbyte>
(also, based on what I read about them earlier today, the threat of violence is an understandable one)
19:00
< Tarinaky>
Right, I'm officially late now.
19:00
< Tarinaky>
GONE!
19:00 * Vornicus has honed his patience
19:01
< froztbyte>
lots of skillpoints into that one, amirite?
19:01
< Tarinaky>
Autohypnosis is op.
19:02
< froztbyte>
you're not supposed to be here right now
19:03 AnnoDomini is now known as Jasever
19:04
<@Jasever>
Autohypnosis IS overpowered.
19:06
<@Jasever>
It's like a whole bunch of spells from various classes, bunched up into one ability.
19:11 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
19:19 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
19:20 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
19:29
< Eri>
Since we were on the topic of hypercubes, this is a tessaract rotating
19:29
< Eri>
http://upload.wikimedia.org/wikipedia/commons/d/d7/8-cell.gif
19:31
< Eri>
If you were an observer inside one of the volumes of the tessaract, and you could only see in three dimensional space, would your perception of space be altered as it rotates?
19:31
< Eri>
That's obviously only a projection
19:32
< Eri>
Like, I look at the center volume as it moves through the rest of the projection, and it stretches, and reverses
19:32
<@Jasever>
Depends if one of the rotation axes makes 'down' alter its normal position.
19:33
< Eri>
I was thinking rotation about the fourth axis
19:33
< Eri>
Err, hang on
19:33
<@Jasever>
I wouldn't think so, then. People don't have a good way to sense 4th axis movement.
19:35
< Eri>
I suppose it could all be math anyway, no? Like, we've defined higher dimensions, but do we know of any forces capable of acting in these dimensions? None that exist in our three, from what i know
19:36
< Eri>
*I
19:40
<@Jasever>
I know nothing. I just thought it'd be fun to run a dungeon in it, following an image found on /tg/.
19:40
<@Jasever>
http://i.imgur.com/yj8ri.jpg
19:47
< Eri>
That link may have just made something clear to me.
19:47
< Eri>
When you've got a projection of a tessaract, there's a cube in the middle, surrounded by volumes on each face.
19:47
< Eri>
My interpretation was that these are all distinct volumes.
19:48
< Eri>
By the description in that post, the volume on, say, the north face is also the volume on the south face?
19:48
< Eri>
I think I understand the rotation a bit better, now
19:51
< Eri>
Hmm hmm hmm, which would mean that the "door" described isn't a door at all
19:52
< Eri>
You'd step from, say, an x-y-z right-handed system into an x-y-w right handed system if you go one way, and an x-y-w left handed system if you go the opposite way.
19:53
< Eri>
I haven't figured out which direction you'd have to go to change which axis yet, though. Something to think about in the shower
19:53
<@Jasever>
I'm afraid that I cannot parse what you say, else I will get a headache.
19:54
< Eri>
Basically, we get a tessaract by sweeping a cube out one unit in the w direction
19:54
< Eri>
Where w is the fourth axis
19:54
< Eri>
So, the cube, overall, becomes a tessaract
19:54
< Eri>
Each face of the cube forms a new cube
19:54
<@Jasever>
Okay.
19:55
<@Jasever>
I get that much.
19:55
< Eri>
But, each face only exists in a certain plane
19:55
<@Jasever>
I can even sort-of imagine the 5-dimensional one.
19:55
< Eri>
So, the x-y face, swept into w, forms an x-y-w cube
19:55
< Eri>
There's no z in that cube
19:55
<@Jasever>
Okay.
19:56
< Eri>
We can generalize this, I think, because there are vertices and edges
19:57
< Eri>
So, each edge of the original cube now makes a face, each vertice makes an edge
19:57
< Eri>
This totally makes a lot of sense to me, now. I didn't really understand how to imagine an n-cube now. It's just a bunch of n-1 cubes, in different co-ordinate systems
19:58
< Eri>
Incidently, that also means stepping through the "door" would probably kill you, because one entire axis of you no longer exists
19:59 * Eri hmms
19:59
< Eri>
Or, maybe it's just not represented
19:59
<@Jasever>
PORTALS.
19:59
< Eri>
More things to think about. The shower's already booked, I'll have to think of this while I eat my cereal
20:01
< Eri>
Hmm. I can extend something I said above
20:02
< Eri>
If I step through a door from x-y-z right-handed into z-y-w left handed, then go across the room, and step into x-y-z again, it would now be left-handed, I think
20:03
< Eri>
Maybe not. I may not be applying the left/right transition logic consistently
20:03 * Eri thinks..... while riding my bike to school, I guess.
20:03
< Eri>
Man, now my day is packed
20:06
< Eri>
One last note, I realized while putting on my socks.
20:07
< Eri>
My n cube = n n-1 cubes can be generalized.
20:07
< Eri>
Since we sweep vertices, each dimension is a nested set of vertices
20:09
< Eri>
That's pretty elementary, though. I only mentioned it because it lets us generalize to a lower dimension than 3
20:28 RichyB [MyCatVerbs@Nightstar-86656b6c.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
20:40 RichyB [MyCatVerbs@Nightstar-86656b6c.cable.virginmedia.com] has joined #code
20:52 Attilla [Obsolete@Nightstar-db712228.as43234.net] has quit [Ping timeout: 121 seconds]
20:53 Attilla [Obsolete@Nightstar-db712228.as43234.net] has joined #code
21:16 Stalker [Z@Nightstar-5aa18eaf.balk.dk] has quit [Ping timeout: 121 seconds]
21:33 maoranma [maoranma@Nightstar-cd44a482.pools.spcsdns.net] has joined #code
22:26
<@jerith>
20:59 < Tarinaky> froztbyte: You missed me threatening my fellow freshers with violence didn't you?
22:26
<@jerith>
We are patient with people who want to learn.
22:27
<@jerith>
If you want instant gratification, we will have very little patience.
22:27 Stalker [Z@2C3C9C.B2A300.F245DE.859909] has joined #code
23:25 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
23:37
<@Anna>
I was on the verge of murdering some twat yesterday.
23:37
<@Anna>
Comes in asking for help
23:37
<@Anna>
But doesn't say what his problem is
23:38
<@Anna>
Just repeatedly bugging everyone for help
23:38
< Stalker>
Where/how/morecontextpls?
23:39
<@Anna>
https://gist.github.com/1911692
23:45 * Vornicus returns from eating a sunday dinner on saturday and a game of puerto rico.
23:45
< Rhamphoryncus>
<Qwerty316> My commodore
23:45
< Rhamphoryncus>
<Qwerty316> can anyone help?
23:45
< Rhamphoryncus>
<Qwerty316> its a 64
23:45
< Rhamphoryncus>
Yeah, that's a troll
23:45
< Rhamphoryncus>
A very successful one
23:46
<@Jasever>
It was fairly obvious one-fourth into its routine.
23:50
<@Tamber>
Not even an amusing one. Shame.
23:51 * Vornicus determines that he can't really ask Tarinaky whether his help, um, helped, because he hasn't gotten a chance to fool around with it anyway
23:55 Anna is now known as rstamer
23:58 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
--- Log closed Sun Feb 26 00:00:13 2012
code logs -> 2012 -> Sat, 25 Feb 2012< code.20120224.log - code.20120226.log >

[ Latest log file ]