code logs -> 2009 -> Thu, 08 Jan 2009< code.20090107.log - code.20090109.log >
--- Log opened Thu Jan 08 00:00:35 2009
00:20
<@gnolam>
If you can make Matlab die a quick but horrible death, go for it.
00:20
<@Consul>
Heh
00:21
<@ToxicFrog>
Woot. Viewport is working.
00:22
<@ToxicFrog>
With panning and zoom.
00:30 AnnoDomini [~farkoff@Nightstar-29662.neoplus.adsl.tpnet.pl] has quit [Quit: His gods were simple and understandable; Crom was their chief, and he lived on a great mountain, whence he sent forth dooms and death. It was useless to call on Crom, because he was a gloomy, savage god, and he hated weaklings. But he gave a man courage at birth, and the will and might to kill his enemies, which, in the Cimmerian's mind, was all any god should be expected to do.]
01:02 Gruber [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
01:02 gnolam is now known as NSGuest-974
01:02 Gruber is now known as gnolam
01:02 NSGuest-974 [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout]
01:10 Derakon[AFK] is now known as Derakon
01:16 Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
01:24
< gnolam>
Argh. Fuglyquotes.
01:26
<@McMartin>
I <?> Unicode
01:53 You're now known as TheWatcher[T-2]
01:53 * Derakon blarghs.
01:57
<@Derakon>
The increasing need for lazy evaluation of parameters is really cramping my style here. I think I need to rethink my design.
01:58 You're now known as TheWatcher[zZzZ]
01:58
<@Derakon>
So for example, you have a <bulletRef> tag, which contains an <action> tag that says "Repeat this $1 times: <action> <fire> at angle $2".
01:59
<@Derakon>
Now we have a <fire> action which uses that bulletRef. It has two <param> tags for $1 and $2. One of them is 20. The other is $1.
01:59
<@Derakon>
(IOW the <fire> tag is itself parameterized).
01:59
<@Derakon>
(My bad, it's a fireRef tag)
02:04
<@McMartin>
This gets better.
02:04
<@McMartin>
You could have $1 be $2 and $2 be $1~
02:04
<@Derakon>
Oh?
02:04
<@McMartin>
The question is how flexible you want to be in the presence of pathological input.
02:04
<@Derakon>
I...don't see how that changes things, actually.
02:04
<@McMartin>
If you do naive lazy evaluation it will never finish.
02:05
<@McMartin>
It will just go $1 -> $2 -> $1 -> $2 -> ... forever.
02:05
<@Derakon>
Oh, you mean the value of $1 is "$2"?
02:05
<@McMartin>
Yeah
02:05
<@Derakon>
Yeah, I'm only doing single-pass.
02:05
<@Derakon>
AIUI I must pass params down until they are used or I encounter a 'Ref'-type tag.
02:05
<@Derakon>
(At which point I pick up new params)
02:05
<@McMartin>
Aha
02:05
<@McMartin>
Well, I'll leave you to it.
02:06
<@Derakon>
Params can't be instantiated except at refs.
02:06 * McMartin schedules a meeting, prepares for dinner
02:06
<@Derakon>
Have fun.
02:06
<@Derakon>
I should get food. Maybe pancakes tonight.
02:06
<@McMartin>
Maybe this time there won't be a three-car pileup on the way home.
02:06
<@Derakon>
Yeegh.
02:22
<@Derakon>
Argh. Except for bulletFuncs, everything can be evaluated at update time.
02:23
<@Derakon>
Except for BulletFuncs. >.<
03:08 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
03:15
<@Derakon>
Okay, so lemme verbalize my problem here.
03:16
<@Derakon>
Bullets have two important member tags: direction and speed.
03:16
<@Derakon>
Or rather, the <bullet> tag has only two important member tags.
03:16
<@Derakon>
These values are only relevant when creating a new actual bullet sprite.
03:17
<@Derakon>
Notably, the only thing that a BulletFunc does when you call it is call any ActionFuncs it contains.
03:17
<@Derakon>
What this means is that I need to have evaluated any <direction> and <speed> tags in a <bullet> tag at the time I create the BulletFunc.
03:17
<@Derakon>
But those tags can be parameterized.
03:17
<@Derakon>
Hmm....
03:18
<@Derakon>
Okay, actually, I think I know how to fix this.
03:18
<@Derakon>
Thanks, everyone!
03:37
<@Derakon>
Okay, perhaps I just postponed the problem...
03:37 * Derakon eyes his code.
03:37 * McMartin is home
03:37
<@McMartin>
This time it was merely a two car accident that hadn't been cleared. >_<
03:38
<@Derakon>
Heh.
03:39
<@Derakon>
My new problem is that bullets can contain actions that can contain yadda yadda that have params in them, and I'm losing the params list at the time I instantiate a new BulletFunc.
03:39
<@Derakon>
So I guess I need to preserve the params list somehow...
03:41
<@Derakon>
...well, that runs.
03:41
<@Derakon>
It is nothing at all like the demo version.
03:43
<@Derakon>
On the plus side, nothing appears to be broken that wasn't broken before.
03:43
<@Derakon>
So I guess this is progress?
03:45
<@Vornicus>
Der, it sounds to me like you're trying to be purer than BulletML itself acts?
03:56
<@Derakon>
I don't think so.
04:04 MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has quit [Ping Timeout]
04:04
<@Derakon>
Hah! That's kinda neat.
04:04
<@Derakon>
I made a ball&chain effect.
04:05
<@Derakon>
Pretty simple -- spiral fire direction, kill bullet after a few frames.
04:05
<@Derakon>
Okay, I know what the problem is here. I'm evaluating too lazily.
04:06
<@Derakon>
...or is it?
04:25
<@Derakon>
Yay! I'm firing circles!
04:26
<@Derakon>
Now I just need to figure out why my waitFunc isn't firing.
04:27
<@Derakon>
Oh, duh.
04:28
<@Derakon>
I should probably add a warning if you try to stuff more than one action inside of a <repeat> tag.
04:30
<@Derakon>
Yay! Circlefire is fully operational!
04:30
<@Derakon>
This calls for a celebration, and a backup!
04:37 * Vornicus applies svn commit to the problem.
04:37
<@Derakon>
I really need to set up source control, yeah.
04:37
<@Derakon>
At the moment, my backups are in ~/proj/backups, which periodically gets copied to my iPod.
04:38 * Vornicus has too much data! ;_;
04:47
<@Derakon>
Anyway, I think I've finally completed my BulletML implementation.
04:48
<@Vornicus>
Yay!
04:51
<@Derakon>
So, have a look. http://derakon.dyndns.org/~chriswei/temp/bulletml2.tgz
04:52 * jerith finally gets around to putting his .emacs in a repo.
04:53
<@Vornicus>
agh, not on a mac so Ican't play with it
04:56 * Vornicus wants his computer back ;_;
05:35 Derakon is now known as Derakon[gaming]
06:10 Derakon[gaming] is now known as Derakoen
06:10 Derakoen is now known as Derakon
06:31
<@Derakon>
Oooh, that's a nicely impossible bullet spread.
06:33
<@Vornicus>
Having seen the kind of shit shooters pull nowadays? I don't think there's any such thing.
06:33
<@Derakon>
Are you saying I can't create an impossible spread?
06:33
<@Derakon>
Or that I can't create a nice one?
06:34
<@Vornicus>
The former, or almost. Bullet hell games coat almost the entire screen in bullets.
06:34
<@Derakon>
I could pretty trivially create a literally impossible spread.
06:34
<@Derakon>
Meaning that there would be a solid wavefront of bullets with no gaps for the player to slip through.
06:34
<@Derakon>
This wouldn't be very much fun though.
06:35
<@Derakon>
What I have right now is a very fast spiral shot whose bullets fly out about 60% of the way down the screen and then slow to a crawl.
06:35
<@Derakon>
So they've barely moved by the time the next set of bullets arrives behind them. Lemme get a screenshot.
06:36
<@Derakon>
http://derakon.dyndns.org/~chriswei/temp/bulletmlscreen1.png
06:36
<@Vornicus>
and then shoot off into space?
06:37
<@Derakon>
Yeah, that's the nice little surprise for someone who'd come to the conclusion they had to go scrape through those gaps.
06:37
<@Derakon>
(Remember, your hitbox in a manic shmup is 1 pixel)
06:37
<@Derakon>
Also, I'm getting about 18FPS with 900 bullets here.
06:37
<@Derakon>
Which I think is OK. Players won't mind some slowdown if it comes when the screen's really hectic.
06:38
<@Vornicus>
Manics often have multiple overlapping patterns - spirals in opposite directions with laser bursts.
06:38
<@Derakon>
Yeah, I know.
06:38
<@Derakon>
I can do that. But one step at a time.
06:38
<@Vornicus>
That stuff is scary.
06:43
<@Derakon>
What's really mean is the bosses whose attacks can't be bombed away.
06:43
<@Derakon>
So you actually have to learn to dodge things. >.<
06:45
<@Vornicus>
heh
06:46
<@Derakon>
...these patterns are way more badass when you can see them in motion.
06:47
<@Derakon>
Starting off with you and the emitter...then in two seconds there's 250 bullets onscreen.
06:48 Derakon is now known as Derakon[AFK]
06:54 AnnoDomini [~farkoff@Nightstar-29662.neoplus.adsl.tpnet.pl] has joined #Code
06:54 mode/#code [+o AnnoDomini] by ChanServ
07:31 Alek is now known as Alek|gone
08:09 TarinakyKai [~Tarinaky@Nightstar-16638.plus.com] has joined #code
08:10 Tarinaky [~Tarinaky@Nightstar-16638.plus.com] has quit [Ping Timeout]
08:20
< TarinakyKai>
Hey. Can any Linux users recommend a text editor like Geany but with something better than the split window plugin it ships with? So far all I've had is cries of vim which isn't -really- what I wanted since I want something GUI based.
08:20
<@McMartin>
I'm unfamiliar with Geany. What's your source language?
08:20
< TarinakyKai>
Also: I know it's not strictly a code question but I want it for the writing of code which is -almost- related. >.>
08:21
<@McMartin>
IDE questions are absolutely on-topic.
08:21
< TarinakyKai>
C/C++, LaTeX, BASH and XML are what I mostly use.
08:21
<@McMartin>
Mr.
08:21
<@McMartin>
Er.
08:21
<@McMartin>
"Hrmmmm."
08:22
<@McMartin>
I personally use emacs, which has enough split-window for my own use, but that's not really ideal...
08:22
<@McMartin>
For Java, Eclipse wins hands down, but of those, it can only sort of do C/C++ and can't really handle the others at all.
08:23
<@McMartin>
For LaTeX specifically, I wrote a good chunk of my dissertation using TeXMaker, which has a *lot* of LaTeX-specific bells and whistles.
08:24
<@McMartin>
ToxicFrog uses, IIRC, something called "NEDIT" which is also Scintilla-based like Geanny.
08:24
<@McMartin>
Other than that, the only pointer I can give is to the list at the bottom of Geany's own Wikipedia page: http://en.wikipedia.org/wiki/Geany
08:27
<@McMartin>
Also, since it's between 12:30 and 3:30 AM for most of the channel regulars, you might also want to ask again in 8-18 hours.
08:40 KBot [AnnoDomini@Nightstar-6909.neoplus.adsl.tpnet.pl] has joined #Code
08:41 AnnoDomini [~farkoff@Nightstar-29662.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
08:41 KarmaBot [AnnoDomini@Nightstar-29662.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
08:42
< TarinakyKai>
Alright, thanks.
08:42 KBot is now known as KarmaBot
08:47 AnnoDomini [~farkoff@Nightstar-6909.neoplus.adsl.tpnet.pl] has joined #Code
08:47 mode/#code [+o AnnoDomini] by ChanServ
09:17 You're now known as TheWatcher
09:22 Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code
09:22 mode/#code [+o Attilla] by ChanServ
09:23 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
09:41 Reiv [ReivTop@Nightstar-24685.ipnet.xnet.co.nz] has joined #Code
09:46 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ]
12:01 Reiv [ReivTop@Nightstar-24685.ipnet.xnet.co.nz] has quit [Quit: Hoemtiem]
12:01 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
12:01 mode/#code [+o gnolam] by ChanServ
13:43 Serah [~Z@87.72.35.ns-26506] has joined #Code
13:43 mode/#code [+o Serah] by ChanServ
14:25 EvilDarkLord [~jjlehto3@Nightstar-9591.cs.hut.fi] has joined #code
14:25 mode/#code [+o EvilDarkLord] by ChanServ
15:32 negusma2000 [~none@Nightstar-23085.static.dsl.dodo.com.au] has joined #code
15:32 negusma2000 [~none@Nightstar-23085.static.dsl.dodo.com.au] has left #code []
16:17
< TarinakyKai>
I was told to ask this question again after about 8 hours which have passed so:
16:18
< TarinakyKai>
Can any Linux users recommend a text editor like Geany but with something better than the split window plugin it ships with?
16:29
<@ToxicFrog>
McMartin, TarinakyKai: I do not in fact use nedit, although I did for years.
16:29
<@ToxicFrog>
(and it's not scintilla-based; if it was, I wouldn't be using it)
16:30
<@ToxicFrog>
These days I use JEdit, which is pretty awesome.
16:30
<@ToxicFrog>
Source hilighting for lots of languages, indentation-based folding, window splitting, tabbed editing, lots of useful plugins (which the editor can automatically download and install for you) including a project manager, persistence of what you have open across invocations...
16:31
<@ToxicFrog>
So yeah, in short, I recommend JEdit pretty much unreservedly. The one major issue is that the format for language mode files is XML-based and kind of nasty.
16:32
<@ToxicFrog>
If Java is an issue, NEdit is also an option, although it's showing its age these days. No unicode support, for example.
16:33
<@EvilDarkLord>
Is JEdit apt-gettable?
16:33
<@ToxicFrog>
Probably?
16:34 * TarinakyKai grumbles. His distros package manager is falling over for some reason.
16:34
<@EvilDarkLord>
I could look into that. Currently using Scite.
16:34
<@ToxicFrog>
I know it's zypperable in OpenSUSE 11, and I know it's not available in the repos for Fedora 7.
16:34
<@ToxicFrog>
(but that there are independent RPMs for it).
16:34
<@ToxicFrog>
Beyond that, no idea.
16:37
<@ToxicFrog>
Scite I tried, but lacked some language modes I wanted and is hostile to adding me.
16:37
<@ToxicFrog>
Adding more, rather.
16:37 * EvilDarkLord tries to imagine what TF would look like as a language.
16:45
<@ToxicFrog>
(incidentally, if you do use jedit, I highly recommend the BufferTabs and Project Viewer plugins - Plugins->Manager->Install)
16:47
< TarinakyKai>
Right now something's stopping me downloading it -_-
16:50
<@ToxicFrog>
What distro?
16:51
< TarinakyKai>
Arch.
16:52
< TarinakyKai>
I think a server went down.
16:54
<@ToxicFrog>
Could be. Switch mirrors?
16:55
< moocow>
I just installed jedit and it seems intersting so far.
16:56
< TarinakyKai>
Takes a small age to run rankmirrors for for pacman to timeout and try another one. -_-
16:56
< TarinakyKai>
And it's not entirely obvious if it's doing anything.
16:58
< TarinakyKai>
Looks like at least two of the mirrors are down.
17:01
< moocow>
quite interesting with the ftp plugin that it supports sftp.
17:06
<@ToxicFrog>
Wall-drawing: working
17:08
<@ToxicFrog>
Hmm. How do you delete walls?
17:14 You're now known as TheWatcher[afk[
17:14 You're now known as TheWatcher[afk]
18:23
<@McMartin>
I usually mark secret passage
18:25
<@ToxicFrog>
Well, I asked poorly.
18:25
<@ToxicFrog>
"What is the UI gesture for deleting walls, which are represented as lines between two grid points?"
18:26
<@McMartin>
A slashing gesture?
18:30
<@ToxicFrog>
I was contemplating just right-click on one vertex, right-click on the other vertex.
18:31
<@McMartin>
That works too
19:26 You're now known as TheWatcher
19:34 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
19:48 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
19:48 mode/#code [+o Vornicus] by ChanServ
20:05
<@Consul>
I get to start differential equations on Monday. I'm so excited! :-)
20:08
<@EvilDarkLord>
y' = y/(y-x). Solve for y. :)
20:08 C_tiger [~cheng@Nightstar-5282.hsd1.ca.comcast.net] has quit [Operation timed out]
20:08
<@Consul>
Heh
20:09
<@Consul>
Well, I already know the "infinite series" method. I might be able to crack it with that one.
20:09
<@EvilDarkLord>
(Part a of an old exam exercise)
20:10
<@Consul>
First of all, that's not in standard form...
20:11
<@Consul>
But it doesn't look like it can be put into std. form.
20:12
<@EvilDarkLord>
Standard form being y on one side and x on the other?
20:12
<@Consul>
y' + y = x or something like that.
20:13
<@Consul>
I was just watching the diff-eq lectures on Youtube from MIT, and he had different notation.
20:14
<@Consul>
Basically, in the form of a linear equation, y1 + y2 = c sort of thing.
20:56
<@Consul>
Okay...
20:56
<@Consul>
You can rearrange your eq as: y'/y = 1/(y-x) -- if I recall, y'/y has a special definition.
20:56
<@McMartin>
Hm.
20:56
<@McMartin>
IIRC, there's also a #math, too, if you get deeper than we can handle.
20:57
<@McMartin>
(It's been *way* too long since I've messed with these)
20:57
<@Consul>
Oh, I'm just musing. :-)
20:57
<@McMartin>
Fair enough
20:57
<@Consul>
But nice to know about #math, thanks. :-)
20:59
<@Consul>
I haven't started the class yet.
20:59
<@Consul>
But I am finding myself enjoying math a lot these days.
21:00
<@Consul>
I never thought that would happen.
21:02
<@Consul>
Google is failing me on y'/y, so either I'm remembering wrong, or my Google-fu isn't up to snuff.
22:05 Serah [~Z@87.72.35.ns-26506] has joined #Code
22:05 mode/#code [+o Serah] by ChanServ
23:17 AnnoDomini [~farkoff@Nightstar-6909.neoplus.adsl.tpnet.pl] has quit [Quit: beer_pump.c:335: robust error in 'traffic_cone()' - 'traffic_light' is not a budgerigar]
23:17
<@McMartin>
Dan_Schmidt: Feeling somewhat guilty that I can disprove an 18th-century conjecture with 2 minutes of typing and .1 sec of CPU time.
23:18
<@Vornicus>
Computers are strange beasts.
23:25
<@ToxicFrog>
Hmm. I could place and delete walls.
23:25
<@ToxicFrog>
Then I made my event handling code better and it stopped working.
23:28
<@McMartin>
(Quote was in reference to Euler Problem #46)
23:28
<@ToxicFrog>
Hmm.
23:29
<@ToxicFrog>
Depending on the position of the mouse, some event handlers are called only intermittently.
23:29
<@ToxicFrog>
Not frosty.
23:33
<@ToxicFrog>
...
23:33 * ToxicFrog facedesks
23:33
<@ToxicFrog>
What's wrong with this code:
23:34
<@ToxicFrog>
while true do
23:34
<@ToxicFrog>
common.dispatch(sdl.event())
23:34
<@ToxicFrog>
mode.dispatch(sdl.event())
23:34
<@ToxicFrog>
...more event loop stuff...
23:34
<@McMartin>
Oooh ooh, pick me, pick me
23:34
<@ToxicFrog>
end
23:34 * ToxicFrog picks McM!
23:34
<@McMartin>
You're interleaving the event stream between common and mode. Cache it in a local var.
23:34
<@ToxicFrog>
Bingo.
23:34
<@McMartin>
event() is not purely functional.
23:35
<@ToxicFrog>
This also neatly explains why it works sometimes and doesn't work other times.
23:36
<@ToxicFrog>
On the plus side, now that that's sorted, I can do things like:
23:36
<@ToxicFrog>
modes.marker = require "control.events" ()
23:37
<@ToxicFrog>
function modes.marker.mouse_1(evt) -- handle left mouse click
23:37
<@ToxicFrog>
function modes.marker.key_e() -- handle "E" press on the keyboard
23:37
<@ToxicFrog>
And have it Just Work.
23:54 Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout]
--- Log closed Fri Jan 09 00:00:19 2009
code logs -> 2009 -> Thu, 08 Jan 2009< code.20090107.log - code.20090109.log >