--- 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 |