code logs -> 2008 -> Mon, 11 Aug 2008< code.20080810.log - code.20080812.log >
--- Log opened Mon Aug 11 00:00:02 2008
--- Day changed Mon Aug 11 2008
00:00
<+Consul>
For non-linear processing (in the DSP sense).
00:00
<+Consul>
THAT's the fun stuff to me.
00:00
<+Consul>
Figuring out exceptions and writing boring preset loader/saver classes != fun stuff. :-/
00:02 Attilla [~The.Attil@92.2.65.ns-20699] has joined #code
00:02 mode/#code [+o Attilla] by ChanServ
00:04
<+Consul>
So I think I will have to learn things like SSE optimization.
00:04
<@McMartin>
If that's the case, you're likely to get more done at the low-level processing library level.
00:04
<@McMartin>
SSE is just an additional assembly instruction set for SIMD.
00:04
<@McMartin>
(Single Instruction, Multiple Data)
00:04
<+Consul>
Hrm...
00:05
<+Consul>
So it's more a case of writing my processing code right, and letting the compiler optimize it for me?
00:05
<@McMartin>
ssorta.
00:05
<@McMartin>
Compilers aren't good at SIMD.
00:05
<@McMartin>
Generally that gets done by hand as some set of absolutely core operations.
00:05
<@McMartin>
The idea being that you can replace those for processors that don't have those exact instructions.
00:05
<@McMartin>
SDL, for isntance, has MMX/SSE/3dNow! modules for its sprite blitters.
00:06
<@McMartin>
And one that doesn't use any of them. At build time it produces the binary that will work on that machine.
00:07
<+Consul>
Hrm
00:07
<+Consul>
Well, I'll burn that bridge when I come to it.
00:07
<+Consul>
That zero-latency FFT will likely require assembly programming, targetted to each specific platform. All I have here is AMD64...
00:08
<@McMartin>
If you have AMD64 you also have IA32 - just set -m 32 as a compile option.
00:10
<+Consul>
Hrm
00:11
<+Consul>
I just re-read that paper, and it's not a zero-latency FFT. It does reduct latency, compared to straight FFT, however.
00:11
<+Consul>
reduce *
00:11
<+Consul>
Something tells me FFTW can probably already do that.
00:12
<@McMartin>
Yeah, it sounds like you might enjoy actually digging into FFTW itself given your interests.
00:13
<+Consul>
Well, that'll teach me to read these papers a bit closer.
00:13
<+Consul>
I kinda skipped straight to the algorithm itself.
00:14 Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout]
00:21 Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code
00:21 mode/#code [+o Reiver] by ChanServ
00:32 Attilla [~The.Attil@92.2.65.ns-20699] has quit [Ping Timeout]
00:38 Attilla [~The.Attil@92.2.65.ns-20699] has joined #code
00:38 mode/#code [+o Attilla] by ChanServ
01:19 Thaqui [~Thaqui@Nightstar-13764.jetstream.xtra.co.nz] has joined #code
01:19 mode/#code [+o Thaqui] by ChanServ
01:44 Finerty is now known as Vornicus-Latens
02:31 Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout]
02:38 Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code
02:38 mode/#code [+o Reiver] by ChanServ
03:14 gnolam [lenin@Nightstar-2037.A163.cust.bahnhof.se] has quit [Quit: Z?]
03:16 MyCatVerbs changed the topic of #code to: It's like Swiss bank accounts, but for coders! | Have a pastebin! http://rafb.net/paste | Channel mode +U, ask for voice to post links. | Monologues permitted. Rants encouraged.
03:59 Attilla [~The.Attil@92.2.65.ns-20699] has quit [Quit: <Insert Humorous and/or serious exit message here>]
06:07 AnnoDomini [AnnoDomini@Nightstar-29323.neoplus.adsl.tpnet.pl] has joined #Code
06:07 mode/#code [+o AnnoDomini] by ChanServ
06:48 Derakon is now known as Derakon[AFK]
08:46 You're now known as TheWatcher
11:03 gnolam [lenin@Nightstar-2037.A163.cust.bahnhof.se] has joined #Code
11:03 mode/#code [+o gnolam] by ChanServ
11:08
<@gnolam>
Ooh, plasmalicious.
11:14 Attilla [~The.Attil@92.2.65.ns-20699] has joined #code
11:14 mode/#code [+o Attilla] by ChanServ
11:46 Thaqui [~Thaqui@Nightstar-13764.jetstream.xtra.co.nz] has left #code [MORE constitution LESS destitution MORE pros...perity.]
12:08 Vornicus-Latens is now known as Vornicus
13:08 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
13:08 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
13:18 gnolam [lenin@Nightstar-2037.A163.cust.bahnhof.se] has quit [Ping Timeout]
13:19 gnolam [lenin@Nightstar-2037.A163.cust.bahnhof.se] has joined #Code
13:19 mode/#code [+o gnolam] by ChanServ
13:20
<@gnolam>
Whee! Island generation works like a charm now.
13:21
<@gnolam>
A very very slow charm, but still.
13:21
<@gnolam>
http://www.lysator.liu.se/~gnolam/temp/island.png
13:21
<@gnolam>
McMartin: thanks again for the plasma fractal idea.
13:21
<@Vornicus>
Pretty.
13:22
<@TheWatcher>
gnolam: what is it you're writing, anyways?
13:22
<@TheWatcher>
(also, I second vorn)
13:35
<@gnolam>
Thanks.
13:36
<@gnolam>
TheWatcher: an epic tale of feature creep, mostly.
13:36
<@TheWatcher>
Heh
14:19
<@TheWatcher>
Wheee, circular class dependencies
14:50 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
14:52 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
15:07 KoJlb [~user@91.185.253.ns-12512] has joined #code
15:24 * KoJlb ..:: Óø¨ë, ÎòÌàçÊà »»»  ÍèÊóÄà! ««« ::..
15:24
<@AnnoDomini>
Go away. Now.
15:25 mode/#code [+b *!*@91.185.253.*] by TheWatcher
15:25 KoJlb was kicked from #code by TheWatcher [TheWatcher]
16:59
<@McMartin>
gnolam: That's fantastic. Did you posterize the plasma fractal afterwards or something?
17:02
<@Vornicus>
The water line in there doesn't look posterizeable - I'd possibly have interpreted the fractal as a heightfield and done level curves
17:12
<@McMartin>
Hmm, yeah, that does sound more sensible
17:12
<@McMartin>
And now, off to work.
17:12
<@ToxicFrog>
Posterize?
17:13
<@Vornicus>
Posterize: a raster image effect.
17:13
<@McMartin>
Image filtering technique where you radically reduce the color palette.
17:14
<@ToxicFrog>
Aah.
17:14
<@gnolam>
McMartin: thanks!
17:14
<@gnolam>
Vornicus: correct.
17:14 * Vornicus wins!
17:15
<@McMartin>
(Though it occurs to me that doing a 'cel-shaded' color map is technically identical to the level curves.)
17:15
<@Vornicus>
Almost.
17:15
<@McMartin>
More work, certainly
17:15
<@McMartin>
And you don't get outlines.
17:16
<@Vornicus>
I don't know how you'd get outlines.
17:16
<@Vornicus>
Without doing the level curve thing.
17:17
<@Vornicus>
Il-l-l-l-lusion!
17:18
<@gnolam>
Marching squares? It's how I plan to get a vector outline, anyway.
17:18
<@Vornicus>
Marching squares?
17:18
<@gnolam>
2D version of marching cubes.
17:18 * Vornicus doesn't actually know that one.
17:18
<@gnolam>
http://en.wikipedia.org/wiki/Marching_squares
17:19
<@Vornicus>
aha
17:25
<@Vornicus>
Well, you've got it as a heightfield, right?
17:26
<@gnolam>
Yep.
17:27
<@Vornicus>
So, given a heightfield, you can get a line for each, uh, hexel, the thing crosses.
17:28
<@Vornicus>
(or two lines, as the case may be)
17:28 * gnolam renders all his copies of Malleus Maleficarum with hexels.
17:28
<@gnolam>
Yep.
17:28 * Vornicus needed a term!
17:28
<@gnolam>
Hey, I like it. I might steal it. :)
17:29
<@Vornicus>
So, what you can do is, if that's too many lines, do reduction using level-of-detail hacks, probably with line length and turn angle stuff.
17:29 * gnolam nods.
17:29
<@gnolam>
I already have code to do that, from the wargame project.
17:29 * AnnoDomini laughs at XKCD.
17:30
<@Vornicus>
gnolam: there you go.
17:30
<+Consul>
AnnoDomini: I wish I could come up with half the ideas Randall does. I could have a hell of a stand-up show at Penguicon. :-)
17:30
<@gnolam>
My only concern is getting it all to run at a decent speed.
17:31
<@Vornicus>
What kind of speed do you need?
17:31
<@AnnoDomini>
It's contrary to my Google Maps experience, though. That thing tends to avoid ferries.
17:32
<@Vornicus>
It's a joke on the "swim across the atlantic ocean" thing, which actually /does/ happen.
17:32
<@gnolam>
Well, I'll have to generate, say, a hundred of these things. Which could take a while.
17:32
<@Vornicus>
Oh.
17:32
<@Vornicus>
Have you played Dwarf Fortress?
17:32
<@gnolam>
But that's a later concern. Thinking ahead of complexity is cheating - quick, dirty working hacks first, speed and human-readability second! ;)
17:32
<+Consul>
Vornicus: I still can't help but think that was a deliberate easter egg on the part of the Google Maps team.
17:33
<@gnolam>
Gah. Dwarf Fortress's map generation.
17:33 * gnolam shudders.
17:33
<@Vornicus>
Until your map generator takes longer than DF's you can't complain. :)
17:35
<@Vornicus>
Anyway I don't really see how you'll have any performance problems with this unless you're doing something /huge/
17:35
<@ToxicFrog>
gnolam: DF's map generation is awesome, apart from the occasional eternal reject loop.
17:35
<@Vornicus>
Awesome but very very long.
17:35
<@ToxicFrog>
Most of the time is the history, though, not the world itself.
17:36
<@ToxicFrog>
Geography generation goes fairly quickly, it's simulating a thousand years of history with hundreds of thousands of actors that takes a while.
17:37 * AnnoDomini for some reason imagined a set of tectonic plates with DnD stats trying to Bull Rush each other.
17:37
<@Vornicus>
GRAH I WANT TO EXAMINE THAT THING'S CODE
17:59
<@TheWatcher>
woot, DeusEx works in wine
18:01
<@TheWatcher>
Vorn: have symbolic disassembler, will travel? ¬¬
18:01
<@Vornicus>
TW: ;_;
18:03 * TheWatcher still wishes DF had a similar setup to DK2, it might actually be playable then >.>
18:05
<@ToxicFrog>
It's on the TODO list.
18:05
<@Vornicus>
Way way way way down the bottom of the TODO list.
18:05 * TheWatcher nods, was about to say that...
18:05
<@Vornicus>
And judging from the rest of the game he needs an actual UI designer.
18:06
<@ToxicFrog>
And I actually kind of agree with his argument (he wants to finish the gameplay first, so that he knows what the interface needs to do first, rather than sinking a lot of effort into one now and then finding out it needs a complete rewrite anyways)
18:06
<@ToxicFrog>
This is, after all, alpha software, and the equivalent of the command-line test mode for a graphical app.
18:06
<@ToxicFrog>
That doesn't make it any less frustrating, though.
18:06
<@ToxicFrog>
Re: DX working in wine: woot
18:07
<@ToxicFrog>
Re: DK2: eugh. Eugh eugh eugh. Each interface improvement was matched by a step back, and the gameplay was horrible.
18:08
<@TheWatcher>
That's the reason I'm using lua to generate my UI - makes modifications rather easier.
18:15 AnnoDomini is now known as Steve
18:15 Steve is now known as Steven
18:30
<@Vornicus>
Part of TF's argument is "jesus god I changed the UI now I have to remake half the assets so they fit"
18:46
<@ToxicFrog>
That too.
18:46
<@ToxicFrog>
But fundamentally, I think it's that the he doesn't really regard it as a game yet. The UI it has is just a way of examining the engine to make sure it's working properly.
18:47 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Ping Timeout]
18:47 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
19:06
<@TheWatcher>
Vorn: most of the stuff I'm going to try to make on the fly with opengl, so some might need to be remade, but I don't anticipate complete scratch rebuilds of assets
19:07
<@TheWatcher>
(I'm pulling a similar trick to the way WoW does its UI, only a bit different)
19:07
<+Consul>
YAY! I have books for next semester.
19:08
< Shoukanjuu>
\o/
19:08 * Vornicus noddles
19:08
< Shoukanjuu>
The phone book doesn't have the DMV listed.
19:08
< Vornicus>
...
19:08
<+Consul>
Linear algebra, calc 3, and calc-based physics.
19:09
<@TheWatcher>
Look under 'Officious Torturers"
19:57 * ToxicFrog foams
19:59
< Shoukanjuu>
XD
20:05
<@ToxicFrog>
Hmm.
20:06
<@ToxicFrog>
Which Scheme implementation would the people in here recommend: guile, bigloo, drscheme (PLT Scheme), elk, gauche, rscheme, or scm (scheme48, I think)?
20:14
<@gnolam>
I've only used PLT (by the way, doesn't "Dr Scheme" sound like a supervillain?).
20:14
<@ToxicFrog>
Yes.
20:14
<@gnolam>
Never had any problems with it.
20:14
<@gnolam>
That was a couple of years ago though...
20:14
<@ToxicFrog>
(context: I'm having another go at SICP, this time aiming to (1) actually do the whole thing cover to cover and (2) do the examples in Scheme, rather than implementing Scheme constructs in Lua and then using that)
20:15
<@ToxicFrog>
(although that was lots of fun)
20:15
<@gnolam>
...
20:15 * gnolam slowly backs away from the crazy person.
20:17
< Shoukanjuu>
Dr Scheme sounds like a rejected supervillain XD
20:17
<@gnolam>
Anyway, I can't remember running into any problems with any of SICP's examples in DrScheme.
20:17
< Shoukanjuu>
Wow, I just saw the most awesome commercial.
20:18
<@gnolam>
Shoukanjuu: he didn't get approval from Bad Horse.
20:18
< Shoukanjuu>
A shame, really.
20:18
<@ToxicFrog>
gnolam: what's crazy about that?
20:19
<@MyCatVerbs>
ToxicFrog: use drscheme for tackling SICP.
20:21
<@MyCatVerbs>
ToxicFrog: the others are all fine enough technically, but none of them have anywhere near as nice a workflow as drscheme. Plus, IIRC, drscheme has a feature that lets you pick different sub/supersets of Scheme, with options for the various RnRS, one or two specifically for SICP, and of course full PLT Scheme.
20:27
<@ToxicFrog>
Oh, I see!
20:27
<@ToxicFrog>
drscheme is an IDE, mzscheme is the actual terp
20:28
<@MyCatVerbs>
Indeed.
20:28
<@ToxicFrog>
It doesn't appear to have a SICP-specific mode, although it does have general teaching modes (beginner, beginner with list abbrevs, intermediate, intermediate with lambda, advanced) and a mode specifically for Essentials of Programming Languages.
20:29
<@MyCatVerbs>
Eh, well, just go for full PLT. SICP doesn't exercise any of the corner-cases in the language anyway, AFAIK.
20:31
<@MyCatVerbs>
You can go through SICP quite happily with a text editor and Guile or mzscheme or Chicken or Bigloo or Stalin or Scheme48 or Gambit or... whatever. But drscheme's more pleasant to work in, except maybe for emacs users. Vim isn't particularly pleasant for hacking Scheme in.
20:33
<@TheWatcher>
(or, indeed, anything ¬¬)
20:37
<@ToxicFrog>
If I were going to do it with a plain editor I'd use nedit in any case
20:45 AnnoDomini [AnnoDomini@Nightstar-29569.neoplus.adsl.tpnet.pl] has joined #Code
20:45 mode/#code [+o AnnoDomini] by ChanServ
20:46 Steven [AnnoDomini@Nightstar-29323.neoplus.adsl.tpnet.pl] has quit [Killed (NickServ (GHOST command used by AnnoDomini))]
20:46 AnnoDomini is now known as Steven
20:55 Rico is now known as EvilDarkLord
21:15
<@gnolam>
Ahhh!
21:15 * gnolam realizes why he could use NPOT FBO targets despite a lack of GL_ARB_texture_non_power_of_two.
21:16
<@gnolam>
Non-power of two textures were promoted into the OpenGL 2.0 standard.
21:21
<@ToxicFrog>
....how do I comment out a line in scheme?
21:23
<@MyCatVerbs>
; at the start
21:23
<@MyCatVerbs>
; is Scheme's #, it seems.
21:38
<@ToxicFrog>
Hmm.
21:38
<@ToxicFrog>
How do I get it to display numbers as floating point rather than rational?
21:39
<@ToxicFrog>
FP is a lot easier to read than "3 (80 digit number)/(200 digit number)"
22:38 Steven is now known as AnnoDomini
22:58 * gnolam realizes he can combine the displacement and blur steps into one.
22:58
<@gnolam>
Yay, that shaved a lot of time off generation.
23:03
< Vornicus>
I want to see this code.
23:04
<@gnolam>
Not at the moment you don't. :)
23:04
< Vornicus>
heh
23:12 Attilla [~The.Attil@92.2.65.ns-20699] has quit [Ping Timeout]
23:25 Attilla [~The.Attil@92.2.65.ns-20699] has joined #code
23:25 mode/#code [+o Attilla] by ChanServ
23:25
<@MyCatVerbs>
ToxicFrog: offhand, I don't know, sorry.
23:27
<@MyCatVerbs>
ToxicFrog: exact->inexact?
23:28
<@MyCatVerbs>
ToxicFrog: aye, that's it. (exact->inexact expression), coerces to the nearest floating-point value.
23:29 You're now known as TheWatcher[T-2]
23:34 You're now known as TheWatcher[zZzZ]
23:36
<@ToxicFrog>
MyCatVerbs: I actually want it for display only, if possible
--- Log closed Tue Aug 12 00:00:00 2008
code logs -> 2008 -> Mon, 11 Aug 2008< code.20080810.log - code.20080812.log >