--- Log opened Wed Dec 19 00:00:19 2007 |
01:10 | <@McM[SanDiego]> | I thought Agile was "only test" |
01:11 | <@C_tiger> | This is super-agile development: only code. |
01:14 | <@McM[SanDiego]> | No, no. In agile, you don't code. |
01:14 | <@McM[SanDiego]> | You only test. |
01:14 | <@McM[SanDiego]> | "Only code" is waterfall in practice~ |
01:14 | <@C_tiger> | Wait, I thought agile was like super-feature-creap. |
01:14 | <@C_tiger> | creep. |
01:15 | <@McM[SanDiego]> | Kinda. The sane version, as near as I can tell, "This will take three years to do right. You want it next week. We can give you something next week. What do you really need, bearing in mind that it's a week's worth of work?" |
01:16 | <@McM[SanDiego]> | Followed by a bunch of half-thought-out best-practices for reusing your code right. |
01:19 | <@C_tiger> | I always envisioned it as something like a really really basic core with as many modular connectors as possible to connect to features as-you-need-them. |
01:19 | <@McM[SanDiego]> | That's a good way to make your design under those circumstances. |
01:19 | <@C_tiger> | And then features are coded on a super-short dev cycle as needed. |
01:19 | <@McM[SanDiego]> | They've also made a number of very fun program transformation toys. |
02:09 | | Vornicus is now known as Darius |
02:38 | < MyCatVerbs> | "Only test" is definately a better description of (some of) the Agile practices. |
02:38 | < MyCatVerbs> | Like the Test-Driven-Development nutters, who make a set of unit tests before they start coding, then hack until all the tests pass, then come up with a few more unit tests and hack until *those* pass, too. |
02:41 | < Darius> | Which is actually a vaguely sensical way to go about it, if you know how your software is supposed to work. |
03:23 | <@C_tiger> | Out of curiosity, what happened to ilfs python lessons? |
03:31 | <@McM[SanDiego]> | Probably "Christmas Break". |
03:31 | <@C_tiger> | ah |
03:32 | | C_tiger [~c_wyz@Nightstar-5378.nycmny.east.verizon.net] has left #code [] |
03:33 | | C_tiger [~c_wyz@Nightstar-5378.nycmny.east.verizon.net] has joined #code |
03:33 | < C_tiger> | I always forget esc closes. |
03:33 | < Darius> | Actually I don't know. |
03:34 | < Darius> | I should probably poke at him for that string thing. |
03:35 | < C_tiger> | You know, I keeps switching between perl and python now. I can't decide which I like better. I find perl easier to read but I really like python's data types and data handling. |
03:41 | < Darius> | ...wait, what? |
03:42 | < C_tiger> | What? |
03:42 | < C_tiger> | I went to perl, and I missed tuples. |
03:42 | < C_tiger> | and sets. |
03:42 | < Darius> | perl, easier to read? |
03:42 | < C_tiger> | Me. like. braces. |
03:42 | < Darius> | heh. |
03:43 | <@ToxicFrog> | Perl has the advantage that block ends are clearly visible. |
03:43 | < C_tiger> | Yes. |
03:43 | <@ToxicFrog> | OTOH, perl also has the disadvantage that if you lose focus for a moment you write line noise. |
03:44 | < C_tiger> | I also kind like how variables get their own little symbol in front so you KNOW it's a variable and not a keyword. |
03:45 | < C_tiger> | Although that can also get confusing when you forget that you need to do $list[item] and not @list[item]. |
03:45 | < C_tiger> | s/kind/kinda/ |
03:45 | | * Darius really dislikes the warts in perl. Far prefers the Ruby ones. |
03:45 | < Darius> | (where warts are scoping, not typing) |
03:45 | <@ToxicFrog> | Type warts are, IMO, digusting, and one of the things I like least about perl. |
03:45 | < C_tiger> | I have yet to learn the quirks of ruby. |
03:46 | <@ToxicFrog> | And any decent editor will distinguish between keywords and names for you. |
03:46 | < C_tiger> | well, keywords, names and functions. |
03:46 | < Darius> | That said, the only thing I would transplant from Ruby to any other language is underscores in numeric literals. |
03:48 | < C_tiger> | TF, also I think warts make for better reading and that should be independent of editor. |
03:48 | < C_tiger> | They are annoying when writing. |
03:49 | < Darius> | (in Ruby, 4294967296 and 4_294_967_296 are the same, and 3.141_592_653_589_7 and 3.1415926535897 are the same.) |
03:49 | <@ToxicFrog> | ...the difference between names and functions being...? |
03:49 | <@ToxicFrog> | And better reading is sadly not independent of editor; compare, say, scite or nedit to notepad. |
03:50 | < Darius> | A great many modern languages (including Python) have functions as first-class objects; you can assign them to variables, create them dynamically, etc, etc. |
03:50 | <@ToxicFrog> | I thought perl had that too. |
03:50 | <@ToxicFrog> | (and not just modern languages) |
03:50 | < C_tiger> | None in code, but I think it makes it easier to conceptualize logically when reading the code if you know the name refers to a list or a scalar rather than a procedure. |
03:50 | < Darius> | I thought it did too. |
03:50 | < C_tiger> | It does. |
03:50 | < C_tiger> | But I'm pretty sure those don't get warts. |
03:51 | < C_tiger> | so they're distinguished from scalars and lists and hashes thataways. |
03:51 | <@ToxicFrog> | I contend that if you choose meaningful names for your variables, typewarts are redundant. |
03:52 | < C_tiger> | I disagree. I'm not sure why, I just find it harder to read without. |
03:53 | < C_tiger> | I can't seem to scan as easily without them. |
03:53 | < C_tiger> | It's like I have to read every single character and that really slows my reading speed. |
04:01 | < C_tiger> | arg, perl functions require the & wart. This is what happens when you switch languages back and forth. |
06:13 | | Reiver [~reaverta@Nightstar-10536.xdsl.xnet.co.nz] has quit [Quit: Changing servers] |
06:14 | | Reiver [~reaverta@118.90.32.ns-4347] has joined #Code |
06:14 | | mode/#code [+o Reiver] by ChanServ |
06:20 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Quit: Changing servers] |
06:20 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
06:20 | | mode/#code [+o Reiver] by ChanServ |
06:53 | | Darius is now known as Vornicus |
07:08 | | You're now known as TheWatcher |
07:38 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out] |
07:38 | | Attilla [~The.Attil@Nightstar-23967.ipt.aol.com] has quit [Ping Timeout] |
07:38 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
07:38 | | mode/#code [+o ToxicFrog] by ChanServ |
07:42 | | NSGuest-3490 [~The.Attil@Nightstar-23967.ipt.aol.com] has joined #code |
08:15 | | You're now known as TheWatcher[afk] |
09:18 | | Chalcedon [~Chalcedon@203.211.122.ns-2621] has quit [Quit: Gone] |
09:25 | | NSGuest-3490 is now known as Attilla |
09:28 | | * McM[SanDiego] replaces a bunch of linked lists in UQM with clean, efficient hashtables. |
09:29 | < Vornicus> | Wootsauce |
09:29 | < Vornicus> | What'd you apply this madness to? |
09:29 | | Pi-2 [~sysop@67.183.91.ns-3660] has quit [Ping Timeout] |
09:30 | <@McM[SanDiego]> | The master resource list. |
09:30 | <@McM[SanDiego]> | Which originally was an array. |
09:30 | <@McM[SanDiego]> | We're trying to migrate it to a String->String map so that we can have sensible resource identifiers. |
09:30 | <@McM[SanDiego]> | (Right now they're a huge pile of #defines) |
09:30 | <@McM[SanDiego]> | The "OK, get something out the door" version, which we've been using for awhile now, uses an association list for this purpose. |
09:30 | < Vornicus> | Master resource list - the thing that stores color tables, images, and the like? |
09:31 | <@McM[SanDiego]> | The thing that, given the name of an image set (like "Chmmr, Medium"), produces the filenames that need to be loaded. |
09:31 | < Vornicus> | WE ARE CHMMR |
09:32 | <@McM[SanDiego]> | http://sc2.svn.sourceforge.net/viewvc/sc2/trunk/sc2/content/uqm.rmp?revision=287 0&view=markup |
09:32 | < Vornicus> | ah, so |
09:32 | | * Attilla has his little satelite things block any attempt to shoot him |
09:33 | <@McM[SanDiego]> | Meanwhile, the array-based stuff is in http://sc2.svn.sourceforge.net/viewvc/sc2/trunk/sc2/content/starcon.ls2?revision =2870&view=markup -- and used to point directly to filenames. |
09:33 | <@McM[SanDiego]> | Addon packs in the released version work by overwriting what any given filename means. |
09:33 | <@McM[SanDiego]> | Addon packs in the development trunk have advanced to overlaying subsidiary maps over uqm.rmp. |
09:33 | <@McM[SanDiego]> | We'd like to get rid of the .ls? level entirely before 0.7 |
09:34 | <@McM[SanDiego]> | Anyway. .rmp files were being loaded into an association list. They are now being loaded into a hashtable. |
09:34 | <@McM[SanDiego]> | Configuration data gets hashtabled as well, as a bonus. |
09:34 | <@McM[SanDiego]> | (uqm.cfg and flight.cfg) |
09:35 | | AnnoDomini [AnnoDomini@Nightstar-29486.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
09:35 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
09:35 | | mode/#code [+o gnolam] by ChanServ |
09:36 | | AnnoDomini [AnnoDomini@83.21.25.ns-3548] has joined #Code |
09:36 | | mode/#code [+o AnnoDomini] by ChanServ |
09:55 | | Vornicus is now known as Vornicus-Latens |
10:34 | | You're now known as TheWatcher |
11:17 | | Attilla [~The.Attil@Nightstar-23967.ipt.aol.com] has quit [Connection reset by peer] |
11:26 | | Attilla [~Andre@172.200.173.ns-22442] has joined #code |
11:27 | | Pi-2 [~sysop@67.183.91.ns-3660] has joined #code |
11:53 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Ping Timeout] |
11:56 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
11:56 | | mode/#code [+o gnolam] by ChanServ |
13:11 | | Reiver is now known as ReivZzz |
14:23 | <@ToxicFrog> | Man, this is so weird. |
14:23 | <@TheWatcher> | Hm? |
14:25 | <@ToxicFrog> | So, I have this source. I build it on both linux and windows. |
14:25 | <@ToxicFrog> | Both builds target mingw32; both builds use gcc-4.2.1 |
14:25 | <@ToxicFrog> | With optimizations turned on, they generate different machine code. This shouldn't happen. |
14:26 | <@ToxicFrog> | Weirder yet, with optimizations turned off, they generate the same machine code, but the linux-hosted build generates a __tcf_0 function in some files, which appears to be something for automatic static object cleanup on exit() (which we don't need or want) |
14:26 | <@ToxicFrog> | Whereas the windows build does not. |
15:15 | | You're now known as TheWatcher[afk] |
17:25 | | Forj [~Forj@203.211.122.ns-2621] has joined #code |
17:26 | | mode/#code [+o Forj] by ChanServ |
17:50 | | Forj [~Forj@203.211.122.ns-2621] has quit [Quit: Gone] |
18:04 | | NitinA [~PeoplesMi@Nightstar-5126.pn.at.cox.net] has joined #Code |
18:04 | | NitinA [~PeoplesMi@Nightstar-5126.pn.at.cox.net] has quit [Quit: <Stoom> NitinA + Stoom = Win / Win <Stoom> Nitina - Stoom = Lose <Stoom> Stoom - NitinA = Lose] |
18:08 | | You're now known as TheWatcher |
18:09 | | AnnoDomini is now known as Pete |
19:28 | | Chalcedon [~Chalcedon@Nightstar-1707.ue.woosh.co.nz] has joined #code |
19:28 | | mode/#code [+o Chalcedon] by ChanServ |
20:04 | | Vornicus-Latens is now known as Vornicus |
20:41 | | ilovefire [~santros_v@209.82.191.ns-11321] has joined #code |
20:42 | | * ilovefire feels semi-guilty, because he was trying to figure it out last night and thought he might've been on to something, but completely forgot what it was. |
20:46 | < Vornicus> | Well, it's not that hard, really. |
20:46 | | * Pete looks for his RJ-45 Plug tool. |
20:46 | | * Pete can't find it, and has some walnuts he wants to open. |
20:47 | < ilovefire> | of course, I've also been studying for finals lately so. |
20:47 | < Vornicus> | Ah, well |
21:15 | | * ToxicFrog waves from the depths of C++ compiler debugging and object code validation. |
21:25 | < Vornicus> | ...cool. Not. |
21:29 | <@ToxicFrog> | Yeah, turns out g++ 4.2.1 behaves differently on linux and windows, compiling the same source code and targeting the same system. |
21:30 | <@ToxicFrog> | Specifically, the linux version acts like -fuse-cxa-atexit is set for the purposes of static variable ctor/dtor management, but unset for the purposes of get_atexit_node(), even if you explicitly set it. |
21:30 | <@ToxicFrog> | (although explicitly unsetting it behaves as expected) |
21:30 | <@ToxicFrog> | Whereas the windows version behaves normally whether it's set, unset, or left at default. |
21:31 | <@ToxicFrog> | Since my job is to prove that the binaries generated on the linux build system are identical to the ones generated on the windows build system, this is a problem. |
21:33 | | * gnolam prods Winsock with something sharp. |
21:33 | < Vornicus> | TF: ew |
21:38 | <@ToxicFrog> | Quite. |
22:21 | | Attilla [~Andre@172.200.173.ns-22442] has quit [Connection reset by peer] |
22:25 | <@ToxicFrog> | ;.; |
22:26 | <@Pete> | Tears are bubbling pitch? |
22:26 | <@ToxicFrog> | The machine code diverges more with -O1 than with -O2! |
22:26 | <@gnolam> | The spider smiley returns! |
22:27 | <@ToxicFrog> | For added fun, with -O1 the windows hosted build is bigger, with -O2 the linux hosted build is. |
22:28 | < Vornicus> | O.o |
22:28 | <@gnolam> | And it's not just the system-specific cruft that's acting up? |
22:29 | <@ToxicFrog> | They're both targeting the same system. |
22:29 | <@ToxicFrog> | The only difference is what OS the compiler is running on. |
22:30 | <@gnolam> | Init stuff etc. |
22:30 | <@ToxicFrog> | Targeting the same system! |
22:30 | <@gnolam> | Eh, forget it. |
22:30 | | * gnolam is too tired to try to explain properly. |
22:31 | | Attilla [~The.Attil@172.200.173.ns-22442] has joined #code |
22:31 | <@ToxicFrog> | I'd like to hear it when you're better rested, then. |
23:00 | | ReivZzz is now known as Reiver |
23:11 | | DiceBot [~Reiver@Nightstar-10536.xdsl.xnet.co.nz] has joined #Code |
23:11 | | mode/#code [+v DiceBot] by ChanServ |
23:15 | | ilovefire is now known as ilf_food |
23:16 | | Pete is now known as AnnoDomini |
23:22 | | You're now known as TheWatcher[T-2] |
23:25 | | You're now known as TheWatcher[zZzZ] |
--- Log closed Thu Dec 20 00:00:25 2007 |