--- Log opened Thu Feb 05 00:00:16 2009 |
00:09 | | You're now known as TheWatcher[T-2] |
00:18 | | You're now known as TheWatcher[zZzZ] |
00:28 | | Derakon is now known as Derakon[AFK] |
00:52 | < GeekSoldier> | Top 9! Be different! |
00:54 | <@Consul> | If you really want to be different, make it the top 8 1/2. |
01:25 | | * gnolam blarghs at the Source SDK's mod creation template. |
01:43 | | Derakon[AFK] is now known as Derakon |
01:57 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Reboot] |
01:58 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
01:58 | | mode/#code [+o gnolam] by ChanServ |
02:17 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Ping Timeout] |
02:32 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
02:32 | | mode/#code [+o ToxicFrog] by ChanServ |
02:42 | | * gnolam stabs Microsoft's updating mechanisms with a serrated knife. |
02:42 | <@Derakon> | You do a lot of stabbing. |
02:43 | <@gnolam> | Apparently not enough. |
02:43 | <@gnolam> | A pox on all web installers. >:E |
02:58 | <@Derakon> | Oooh, I just had an idea! |
02:58 | <@Derakon> | So the motivation to register the game is to let people play additional courses, right? |
02:59 | <@Derakon> | And I'll recognize the courses that are available to unregistered users by their md5sums and the like, yes? |
02:59 | <@Derakon> | Unapproved courses will still show up in the courselist, and their demos will play, but the "Start game" button won't work. |
02:59 | <@Derakon> | I'm a geeeeeenius. |
02:59 | <@Derakon> | (In fact, the start button text can change to "Register" when this happens~) |
03:01 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
03:15 | <@Derakon> | Anyone know if there's a way in Python to remove the last character from a string, regardless of what that character is? |
03:15 | <@Derakon> | strip() requires me to specify which characters I'm willing to remove. |
03:16 | <@ToxicFrog> | str = str[:-2] |
03:16 | <@Derakon> | Danke. |
03:16 | <@ToxicFrog> | (search key: "python substring") |
03:17 | <@Derakon> | So the : says "Everything up through the following index" and the -2 says "index is the second to last character", right+ |
03:17 | <@Derakon> | s/+/?/ |
03:20 | < Tarinaky> | If I have an array: "char Stuff[4]", "(short)(Stuff[2]<<8|Stuff[3])" gives me a Big Endian number, yes? |
03:20 | <@ToxicFrog> | In C, yes? |
03:20 | < Tarinaky> | C/C++. |
03:21 | <@ToxicFrog> | That's independent of endianness, I believe. |
03:21 | <@ToxicFrog> | It's equivalent to *(short *)(Stuff+2), assuming sizeof(char) == 1. |
03:21 | <@ToxicFrog> | (and sizeof(short) == 2) |
03:23 | < Tarinaky> | I'm not familiar with *(short *)(Stuff+2). |
03:23 | < Tarinaky> | What is that? |
03:24 | <@ToxicFrog> | You know pointers, yes? |
03:24 | < Tarinaky> | Yes. |
03:24 | <@ToxicFrog> | (Stuff+2) - points to the memory location two chars past Stuff |
03:24 | <@ToxicFrog> | (short *) - cast to pointer to short |
03:25 | <@ToxicFrog> | * - pointer dereference |
03:25 | < Tarinaky> | Ah. I didn't know Stuff+2. |
03:25 | <@ToxicFrog> | Actually, it's probably better to use (&Stuff[2]) |
03:26 | < Tarinaky> | Thanks. |
03:33 | <@ToxicFrog> | (or, for that matter, (uint16_t)(*(uint32_t *)Stuff)) |
03:56 | <@Derakon> | Okay, I think that's that UI element basically done. http://derakon.dyndns.org/~chriswei/temp/bulletmlscreen27.png |
03:58 | <@Derakon> | Mind you, the actual code business isn't done yet~ |
03:58 | <@McMartin> | (Stuff + 2) and &Stuff[2] are equivalent; adding integers to a pointer advances it by that integer times the size of the object pointed at. |
04:00 | <@Derakon> | So, given my Clever Plan for convincing people to register, I'll need to come up with a set of patterns that look really awesome in the demo screen~ |
04:05 | <@ToxicFrog> | McMartin: I meant more that &Stuff[2] is more readable. |
04:07 | < Tarinaky> | When I'm writing to standard out "\\" is a backslash isn't it? |
04:09 | <@ToxicFrog> | s/when writing to stdout/in C strings or characters/ |
04:09 | < Tarinaky> | Cool, thanks. |
04:51 | | * Derakon eyes the Python hashlib library. |
04:51 | <@Derakon> | This doesn't look like what I need for registration codes; I need something that encodes and decodes stuff. All I get from this is digests. |
04:51 | | Alek|gone [~omegaboot@Nightstar-27127.dsl.emhril.sbcglobal.net] has quit [Quit: bad reboot! bad!] |
04:52 | | Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer] |
04:53 | <@McMartin> | Hashes = digests. |
04:53 | <@McMartin> | Hash is a trapdoor function |
04:54 | <@Derakon> | That's all well and good, but without some mechanism to decrypt the user's code, I can't very well use this. |
04:54 | <@Derakon> | Unless I want to use the "the salt is the key" approach you suggested. |
04:56 | | Alek [~omegaboot@Nightstar-27127.dsl.emhril.sbcglobal.net] has joined #code |
04:57 | | * Derakon finds an implementation of DES/tripleDES in Python. |
05:13 | <@Derakon> | Hm. Other ways to make binary values into human-safe text than base64? |
05:14 | <@Derakon> | Specifically, something that's case-insensitive and uses numbers. |
05:14 | <@ToxicFrog> | Hexdump? |
05:14 | <@Derakon> | That would limit me to A-F, right? |
05:15 | <@Derakon> | My main problem right now is that a 16-character AES encryption makes a 24-character base64 encoded string with two '='s at the end, which seems excessive~ |
05:18 | <@ToxicFrog> | Ummm |
05:18 | <@ToxicFrog> | There's not really a good way around that |
05:18 | <@ToxicFrog> | Hexdump will take even more space |
05:19 | <@Derakon> | Yeah. |
05:19 | | Syloq [Syloq@NetAdmin.Nightstar.Net] has joined #code |
05:19 | <@Derakon> | And it occurs to me, so would any case-insensitive encodnig. |
05:19 | <@Derakon> | s/nig/ing/ |
05:19 | <@ToxicFrog> | Yes. |
05:19 | <@ToxicFrog> | What's wrong with hashing? |
05:19 | <@Derakon> | And I don't want to deal with case-sensitive codes. |
05:19 | <@ToxicFrog> | Also, why not? |
05:19 | <@Derakon> | It's more error-prone, both for me (program-side) and for users. |
05:19 | <@Derakon> | Hashing means having the key (salt) in the program. |
05:20 | | Syloq is now known as Syloqs-AFH |
05:21 | <@ToxicFrog> | Yes, but you've already stated that your goal here is "to keep the honest users honest"; anyone who cares enough to extract the salt also cares enough to simply rip out the copy protection entire. |
05:22 | <@Derakon> | Fair point. |
05:27 | | Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer] |
05:28 | <@Derakon> | Oh, look, pygame handles Shift support for me~ |
05:35 | <@Derakon> | Okay, there. |
05:36 | <@Derakon> | ...not quite. The game still thinks it's not registered when I start it up again. ;.; |
05:36 | <@Derakon> | Because I got the arguments (name, code) to checkRegistrationCode reversed. |
05:38 | <@Derakon> | Now I just have to make the non-registered status actually mean something. And come up with a better salt than "-abcdefghijklmnopqrstuvwxyz". |
05:56 | <@Derakon> | Hm. Good thing Diablo II is singlethreaded. I left Fusillade going in the background to check if it runs into any problems with high-ranked patterns, and let's just say that doomcircle is subject to slowdown~ |
06:08 | <@Derakon> | Hah, there we go. The Beginner, Intermediate, and Advanced courses are now the only ones you can play in the unregistered version. If you try to load a course that isn't available, then the text "ONLY AVAILABLE IN REGISTERED VERSION" appears in the course info display, and the start button changes to say "Register" instead. |
06:44 | | UndeadAnno [~farkoff@Nightstar-29737.neoplus.adsl.tpnet.pl] has joined #Code |
06:44 | | mode/#code [+o UndeadAnno] by ChanServ |
07:01 | | Derakon is now known as Derakon[AFK] |
08:04 | | Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ] |
08:44 | | Attilla [~The.Attil@Nightstar-9469.cdif.cable.ntl.com] has joined #code |
08:44 | | mode/#code [+o Attilla] by ChanServ |
08:55 | | UndeadAnno [~farkoff@Nightstar-29737.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
08:56 | | KarmaBot [AnnoDomini@Nightstar-29737.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
09:08 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
09:08 | | mode/#code [+o gnolam] by ChanServ |
09:10 | | You're now known as TheWatcher |
11:53 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus] |
14:47 | | UndeadAnno [~farkoff@Nightstar-29373.neoplus.adsl.tpnet.pl] has joined #Code |
14:47 | | mode/#code [+o UndeadAnno] by ChanServ |
16:32 | <@gnolam> | Argh. |
16:32 | <@gnolam> | Visual Studio is a right bitch to uninstall. |
16:34 | <@TheWatcher> | ... you're trying to uninstall it? |
16:34 | <@TheWatcher> | Ahahahaha |
16:34 | <@TheWatcher> | >.> |
16:35 | <@TheWatcher> | You know that windows install CD? ¬¬ |
16:36 | <@gnolam> | :P |
16:36 | <@gnolam> | I can't get Source to play nice with MSVS2008. |
17:00 | <@gnolam> | Also, MSDNAA is being horribly slow today. |
17:00 | <@gnolam> | And their downloader thingy is still downright retarded. |
17:06 | | Vornicus [~vorn@Admin.Nightstar.Net] has joined #code |
17:06 | | mode/#code [+o Vornicus] by ChanServ |
17:19 | | You're now known as TheWatcher[afk] |
17:52 | | moocow [moocow@204.8.223.ns-12899] has quit [Operation timed out] |
18:00 | | Derakon[AFK] is now known as Derakon |
18:01 | | moocow [moocow@204.8.223.ns-12899] has joined #code |
18:40 | | You're now known as TheWatcher |
19:18 | | * gnolam spits and curses. |
19:22 | | NSGuest-32 [~nick@Nightstar-12626.tampfl.fios.verizon.net] has quit [Ping Timeout] |
19:50 | | Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code |
19:56 | | Doctor_Nick [~nick@Nightstar-12626.tampfl.fios.verizon.net] has joined #code |
19:56 | | mode/#code [+o Doctor_Nick] by ChanServ |
20:01 | | * gnolam sorts his guns by barrel flavor while he tries to fully understand OpenUP. |
20:11 | | Consul [~consul@Nightstar-541.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving] |
20:22 | | McMartin [~mcmartin@Nightstar-14680.dsl.pltn13.sbcglobal.net] has quit [Quit: Kernel upgrade] |
20:26 | | McMartin [~mcmartin@Nightstar-14680.dsl.pltn13.sbcglobal.net] has joined #code |
20:26 | | mode/#code [+o McMartin] by ChanServ |
20:52 | | Consul [~consul@Nightstar-541.dsl.sfldmi.ameritech.net] has joined #code |
20:52 | | mode/#code [+o Consul] by ChanServ |
21:33 | <@Derakon> | What's Windows-speak for "remove director"? |
21:33 | <@Derakon> | s/tor/tory/ |
21:34 | <@gnolam> | Elaborate. |
21:36 | <@TheWatcher> | Dera: as in a command prompt command, or? |
21:36 | <@Derakon> | Yeah, at the command prompt. |
21:36 | <@Derakon> | I want 'rm' and 'rm -r'. |
21:36 | <@TheWatcher> | deltree |
21:36 | <@Derakon> | Danke. |
21:37 | <@TheWatcher> | oh, wate |
21:37 | <@TheWatcher> | I'm not sure if that works anymore |
21:37 | <@Derakon> | Nemmind, I used the UI to do it. *shrug* |
21:38 | <@Derakon> | Now I have the separate problem that pycrypto won't build. |
21:38 | <@TheWatcher> | rmdir should actually work in windows XP on |
21:38 | <@gnolam> | Well, to remove an empty directory it's "rd". |
21:38 | <@Derakon> | Complains that I need Visual Studio installed, WTF. |
21:38 | <@gnolam> | "rd /s" if you want deltree functionality. |
21:39 | <@Derakon> | "error: Python was built with Visua Studio 2003; extensions must be built with a compiler than can generate compatible binaries. Visual Studio 2003 was not found on this system. If you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py" |
21:39 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Reboot] |
21:39 | <@Derakon> | Guess I get to install Cygwin ahead of schedule. |
21:40 | <@TheWatcher> | Windows without cygwin? *shudder* ¬¬ |
21:40 | <@Derakon> | I was hoping to just get Python installed and then run py2exe and have done with it~ |
21:40 | <@Derakon> | Right now I'm in dependency hell. |
21:40 | <@Derakon> | ...oh, geeze, Cygwin's gonna want network access to install stuff, isn't it? >.< |
21:41 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
21:41 | | mode/#code [+o gnolam] by ChanServ |
21:42 | <@Derakon> | Yep, it wants network access. Gotterdammerung. |
21:42 | <@Derakon> | I don't want to deal with this. ;.; |
21:43 | <@McMartin> | MinGW32 is not Cygwin |
21:44 | <@McMartin> | They're similar but incompatible |
21:44 | <@McMartin> | And MinGW32 is what you want here. |
21:44 | <@McMartin> | Being "gcc, but targetinging Kernel32.dll and user32.dll" |
21:44 | <@Derakon> | Go go misleading error messages! |
21:44 | <@McMartin> | Cygwin is "gcc targeting Unix with a ridiculously expensive Unix emulation layer" |
21:45 | | * gnolam WTFs. |
21:45 | <@McMartin> | It used to be that MinGW was part of Cygwin; maybe it's just old. |
21:45 | <@Derakon> | Mind you, it looks like mingw32 also prefers to do a netbased install, given that the "Automated MinGW Installer" is all of 137KB. |
21:45 | <@McMartin> | "it" being pycrypto. |
21:45 | <@gnolam> | Seriously, WHAT THE HELL, MICROSOFT. |
21:45 | <@McMartin> | gnolam: Hm? |
21:45 | <@McMartin> | This is GNU's fault, not MS's~ |
21:45 | <@gnolam> | MSVS2005 just fucking /faked/ an install on me. |
21:50 | | * gnolam repeatedly bangs his head against his desk. |
21:50 | <@McMartin> | Derakon: I personally downloaded individual packages, but you do have to know what you need going in when you do. |
21:52 | <@Derakon> | Well, looking at the list here: http://sourceforge.net/project/showfiles.php?group_id=2435 |
21:53 | <@Derakon> | I'm guessing GCC Version 3, GNU Binutils (?), GNU Make, MinGW API for MS-Windows, MinGW Utilities (?), MSYS System Builder (?). |
21:53 | <@McMartin> | Of the ?s, definitely need Binutils |
21:54 | <@McMartin> | That's the assembler and linker among other things. |
21:54 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: KILL] |
21:54 | <@McMartin> | Not sure about Utilities and System Builder. |
21:54 | <@Derakon> | ...yes, that would be handy. |
21:54 | <@McMartin> | One moment while I check my own install~ |
21:54 | <@McMartin> | I have binutils, gcc-core, gcc-g++, mingw-runtime, and w32api. |
21:58 | <@Derakon> | Thanks. We'll see if that's enough. |
21:59 | | * Derakon faceplants as the machine does not know how to open gzipped files. >.< |
22:00 | <@McMartin> | Oh, and, um, bsdtar, which I got from idunnowhere. |
22:01 | <@Derakon> | I'm just using the Mac to open 'em. |
22:02 | <@McMartin> | That works too |
22:02 | <@McMartin> | Oh, right |
22:02 | <@McMartin> | Also, ensure there are no spaces in the MinGW base path |
22:02 | <@Derakon> | Heh. |
22:02 | <@McMartin> | Whoever wrote a lot of the MinGW build-related scripts does not understand how batch files quote things. |
22:02 | <@Derakon> | I'd complain, but that's a common problem on OSX too. |
22:02 | <@TheWatcher> | Causes no end of fun in my C course, that one >.> |
22:02 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
22:03 | | mode/#code [+o gnolam] by ChanServ |
22:03 | <@McMartin> | TheWatcher: This is even more awesome because Win32's official $HOME has spaces in it. |
22:03 | <@McMartin> | So does its default $PREFIX. |
22:04 | <@TheWatcher> | McM: oh, I know |
22:04 | <@Derakon> | I'm certainly getting a lot of mileage out of this USB stick today~ |
22:04 | <@TheWatcher> | Heh |
22:06 | <@Derakon> | ...argh, so I have the packages, uncompressed, and I have the installer, and the installer only provides these two options: "Download and install", "Download only". |
22:06 | <@Derakon> | And the packages themselves are just data, no installer that I can see. |
22:06 | | * Derakon rages. |
22:06 | <@McMartin> | Yeah, you unzip them into C:\MinGW or whatever. |
22:07 | <@McMartin> | Then you have a POSIX-y filesystem with C:\MinGW being root |
22:07 | <@McMartin> | Then you put C:\MinGW\bin into your path. |
22:07 | <@Derakon> | ...ah. |
22:07 | <@Derakon> | That's gonna be annoying to do by hand. |
22:07 | <@McMartin> | Installers are for pansy losers who can't be arsed to learn the inner workings of every subsystem they deal with! Abstraction is a tool of the devil! |
22:08 | <@McMartin> | (That said, the net installer does handle this stuff, I think) |
22:08 | <@Derakon> | Yes, but it also requires net access. |
22:08 | | * TheWatcher vaguely notes that developing on a PC without a net connection is going to be vaguely painful anyway |
22:08 | | * Derakon writes a Perl script to set things up as desired. |
22:08 | <@Derakon> | TW: in theory, I won't be doing actual development work; just porting. |
22:08 | <@Derakon> | Which should be nearly trivial. |
22:09 | <@Derakon> | AS SOON AS I CAN GET DEPENDENCIES RESOLVED, ANYWAY. |
22:09 | | * TheWatcher is just going to be over here saying absolutely nothing |
22:09 | <@McMartin> | TW: The app is written in Python, so. |
22:09 | <@McMartin> | Python is unusually good about this, as long as you use the right APIs. |
22:10 | <@TheWatcher> | Ah. That may be less ruinous to folicular integrity. |
22:10 | <@TheWatcher> | Probably. |
22:10 | <@McMartin> | They managed to get popen3 to work on Windows without writing POSIX emulation layers. |
22:10 | <@McMartin> | Which the Perl people whined was impossible for years. |
22:13 | <@Derakon> | I'm really sickened by the fact that I'm just doing this to install PyCrypto. |
22:13 | <@Derakon> | Everything else did fine without needing a compiler. |
22:24 | | JHalliday [~JHalliday@Nightstar-12882.in-addr.btopenworld.com] has joined #code |
22:27 | | * Derakon is rendered speechless. |
22:27 | | * Derakon froths. |
22:27 | <@Derakon> | python.exe setup.py build -c mingw32 |
22:28 | <@Derakon> | (Insert lots of stuff about building, apparently successfully) |
22:28 | <@Derakon> | python.exe setup.py install |
22:28 | <@Derakon> | "error: Python was built with Visual Studio 2003 yadda yadda yadda" |
22:28 | <@McMartin> | What the butt |
22:28 | <@McMartin> | Isn't there a prebuild of PyCrypto that works? |
22:29 | <@McMartin> | (also, Python setup.py install -c mingw32?) |
22:29 | <@Derakon> | Tried it. |
22:29 | <@Derakon> | It doesn't like arguments being passed to the install command. |
22:29 | <@McMartin> | Nice |
22:29 | <@Derakon> | I'll give this guy a shot: http://jintoreedwine.wordpress.com/2008/07/20/python-25-and-encryption-pycrypto- under-windows/ |
22:29 | <@McMartin> | Google up general info on PyCrypto, see what's up |
22:31 | <@Derakon> | Yeah, his story matches with mine until he does setup.py install and it actually works. |
22:34 | | * Derakon uses the binary provided by that kind fellow, gets a splash screen before erroring out because the program couldn't load the highscores file. |
22:35 | <@Derakon> | Now we're getting somewhere! |
22:38 | | UndeadAnno [~farkoff@Nightstar-29373.neoplus.adsl.tpnet.pl] has quit [Quit: I am Yulaw! I am nobody's bitch! You - are mine.] |
22:38 | <@Derakon> | ...I love how the "Open with other application" dialogue box dumps me into Program Files, with no executables to be found anywhere. |
22:38 | <@Derakon> | I just want Notepad! |
22:39 | <@McMartin> | I suggest Notepad++, which lets you right click anything with "Open in Notepad++" |
22:41 | | JHalliday [~JHalliday@Nightstar-12882.in-addr.btopenworld.com] has quit [Quit: Leaving] |
22:42 | <@Derakon> | Ahh, yes. os.environ.get('HOME') returns None in Windows. |
22:45 | <@McMartin> | It's called something else in Windows. |
22:45 | <@Derakon> | HOMEDRIVE\HOMEPATH, I think. |
22:45 | <@McMartin> | The thing to look for, however, is not HOME, but APPDATA. |
22:45 | <@McMartin> | Well, %APPDATA%\Fusillade |
22:46 | <@McMartin> | Which will by default be C:\Documents and Settings\$USER\Application Data\Fusillade\ |
22:46 | <@McMartin> | There are various fallbacks you can use if you care about supporting Windows 98. =P |
22:46 | <@McMartin> | I suggest not caring. |
22:47 | <@Derakon> | Heh. |
22:49 | <@McMartin> | (UQM does, because in 2002 it did matter. =P) |
22:49 | <@Derakon> | ...great. Minor edits to file made, and now Python's complaining that my indentation levels don't match up. I'm guessing some combination of \r\n has screwed me up here. |
22:49 | <@McMartin> | Tabs vs. spaces, I believe. |
22:50 | <@Derakon> | Ah hah, thanks. |
22:53 | <@McMartin> | (ALWAYS USE SPACES IN PYTHON RAR) |
22:53 | <@McMartin> | (>_>) |
22:57 | <@Derakon> | Yeah, I was using spaces. Notepad++ wasn't. |
22:57 | <@Derakon> | Anyway! First high score on Windows recorded: 162484 points, 5:10.80 survival time, killed on loop 4 against the Pinwheel pattern. |
22:59 | <@TheWatcher> | Woot |
23:00 | <@Derakon> | Ahh, good, and the reason I got no sound was because the speakers weren't plugged in (the computer evidently lacking an onboard speaker). |
23:01 | <@McMartin> | (PCs generally do) |
23:01 | <@McMartin> | Notepad++ should be configurable re: spaces/tabs |
23:01 | <@TheWatcher> | Failing that, there's always emacs~ |
23:01 | <@Derakon> | Ewww. |
23:02 | <@TheWatcher> | mwahahahahah |
23:02 | <@McMartin> | Or vim! |
23:02 | <@Derakon> | I can't seem to find the Documents and Settings directory anywhere...this is a Vista box, so that may have changed. |
23:02 | <@Derakon> | Vim would be better, yes~ |
23:02 | <@TheWatcher> | yeah, they moved it in vista |
23:02 | <@McMartin> | Just get the version that doesn't have the code injection attacks~ |
23:02 | <@McMartin> | Get a command window open, and type echo %APPDATA% |
23:03 | <@TheWatcher> | c:\Users or c:\ProgramData now, I believe |
23:03 | <@Derakon> | Ah hah! |
23:03 | <@Derakon> | C:\Users\Username\AppData |
23:04 | <@Derakon> | Actually C:\Users\Username\AppData\Roaming for some reason. |
23:04 | <@Derakon> | Hm. Any way to say "Open this directory in the UI" from the commandline? |
23:04 | <@McMartin> | "start" |
23:04 | <@McMartin> | Though that may only work for "start ." |
23:05 | <@McMartin> | ... yeah, only works for . here in XP. |
23:05 | <@McMartin> | start is almost otherwise equivalent to "open" on Mac. |
23:06 | <@McMartin> | ... on the other hand, this *does* work |
23:06 | <@McMartin> | start "%APPDATA%" "%APPDATA%" |
23:06 | <@McMartin> | Just having one starts a command shell with the name of your appdata directory as the window title. |
23:06 | <@Derakon> | ...oh, good, that bug exists on my preferred development platform~ |
23:06 | <@McMartin> | gg, Microsoft. |
23:07 | <@Derakon> | Heh. |
23:07 | <@Derakon> | Thanks. |
23:07 | <@McMartin> | Vista may have de-retarded that~ |
23:07 | <@Derakon> | (Aforementioned bug being that you can't control the ship until the controls have been written to a file) |
23:08 | | * McMartin has more or less managed to reach the point where he can distinguish between when it's appropriate to rage at Microsoft and when it's appropriate to mock POSIX bigots~ |
23:08 | <@McMartin> | start being retarded (and also being a shell extension instead of a proper command) are both clearly the former. |
23:12 | <@Derakon> | Now the slowest part of porting is copying a bunch of files onto and off of the USB stick~ |
23:13 | <@Derakon> | I suppose I could just leave the files on the USB stick and do development from there, actually. |
23:14 | <@McMartin> | That amortizes the delay but increases the total. |
23:14 | <@McMartin> | Unless you're shoving the images over repeatedly. |
23:15 | <@Derakon> | ...maaaaaybe. >.> |
23:16 | <@TheWatcher> | network + subversion *cough* >.> |
23:16 | <@McMartin> | The whole point here is that the Windows machine no can haz netwr0kz. |
23:17 | <@Derakon> | In part because I don't trust it, and in part because I don't want to deal with setting up a router. |
23:18 | <@Derakon> | (For two main reasons: one, DNS latency goes through the roof and I've never managed to find the configuration for telling it which nameserver to use, and two, I've never managed to get port forwarding for my DynDNS site working properly) |
23:19 | <@McMartin> | NULL MODEM CABLE! |
23:19 | <@McMartin> | (Do Macs even have serial ports anymore?) |
23:19 | <@Derakon> | (I don't...think so?) |
23:20 | <@TheWatcher> | (no, they don't - usb null modem?) |
23:20 | <@Derakon> | Okay, how do I do "cd F:" and make it stick? |
23:20 | <@McMartin> | The command you want is merely "F:" |
23:20 | <@Derakon> | Thanks, Windows. |
23:21 | <@McMartin> | This goes back to the DOS era, when changing the current drive actually caused external actions. |
23:21 | <@McMartin> | And meant "check again to ensure there's actually a disk there, possibly triggering a disk-swap prompt" |
23:21 | <@Consul> | I was about to say, I remember that from my DOS 3.3 days. |
23:22 | <@McMartin> | [PLEASE INSERT DISK 256 AND PRESS SPACE TO CONTINUE] |
23:22 | <@Consul> | It's definitely not intuitive, though. |
23:22 | <@Derakon> | The main thing that pisses me off about the Windows commandline so far is how it and the UI have totally different directory structures. |
23:22 | <@Derakon> | Like, the path at the top of a file browser window is physically impossible according to the commandline. |
23:22 | <@gnolam> | Huh? |
23:23 | <@gnolam> | Give an example. |
23:23 | <@McMartin> | Don't forget to quote diretories with spaces in it. |
23:23 | <@Derakon> | Well, the F: thing. |
23:23 | <@Derakon> | Specifically, the file browser listing "Computer" as its root. |
23:24 | <@McMartin> | Well, if you *really* want, you can use UNC paths. |
23:24 | <@McMartin> | You don't. |
23:24 | <@McMartin> | Trust me. |
23:24 | <@Derakon> | Heh. |
23:24 | <@Derakon> | I'm still getting used to this stuff. |
23:24 | <@Derakon> | I've not been a serious Windows user, uh, ever. |
23:24 | <@Consul> | Okay, you have me on that one. *goes to look up UNC paths* |
23:24 | <@gnolam> | The F:\ thing? Drive letters are the same in the UI as in the shell... |
23:24 | <@gnolam> | +G |
23:25 | <@McMartin> | Yeah, and you're also fighting the ragged edge between the 16-bit era and the 32-bit era and the ragged edge between DOS systems and NT4 systems. |
23:25 | <@McMartin> | The UNC paths give you a more POSIX-y universal reference space, but only a subtree of it is actually files. |
23:25 | <@McMartin> | Its equivalent to /dev, for instance - \\.\Devices\ - is a UNC path but it is not a file. |
23:25 | <@Consul> | Ah, okay. |
23:26 | <@Consul> | I do know UNC paths, I just didn't know they were called that. |
23:26 | <@McMartin> | I may have blown the acronym. |
23:26 | <@McMartin> | The other fun thing is that that "." can be replaced with other machines' names, giving you network paths as well. |
23:26 | <@Consul> | You got it right. I found a reference on the web. |
23:26 | <@McMartin> | The only place this actually works easily is for \\*\\pipe\, which has spoiled me so hard sockets make me weep. |
23:26 | <@Derakon> | Mental note: py2app and py2exe use the same directory names. Remove build and dist when transferring between OSes~ |
23:26 | <@McMartin> | Snerk |
23:27 | <@Derakon> | In other news, Windows doesn't know what to do with bulletml.app~ |
23:28 | <@Derakon> | Now, I'm a bit worried about this message: "The following modules appear to be missing [AppKit, Foundation, OpenGL.GL, dotblas, numpy, objc, pkg_resources, pygame.numpyarray]" but the program appears to run. |
23:28 | <@Derakon> | So! Who wants to be a guinea pig? |
23:28 | <@McMartin> | I will! |
23:28 | <@McMartin> | Once I get home from work. |
23:28 | <@McMartin> | But I can grab it now, at least. |
23:29 | <@TheWatcher> | Sure, I will |
23:29 | <@Derakon> | http://derakon.dyndns.org/~chriswei/temp/bulletml-beta1.exe |
23:29 | <@Derakon> | We're out of alpha, boys! |
23:29 | <@Derakon> | I should, uh, probably start calling it "fusillade" in the filesystem and modules. |
23:30 | <@McMartin> | Heh |
23:30 | <@Derakon> | Oh, yes. Registration name is "alpha", code is sQq/6jcF+GOJoKLUuRPejw== |
23:30 | <@Derakon> | These will stop working once I come up with a better salt. |
23:31 | <@McMartin> | It's really only 20k? |
23:31 | <@Derakon> | ...? |
23:31 | <@McMartin> | I downloaded it and it handed me 20,992 bytes. |
23:31 | <@TheWatcher> | hmmm, doesn't run. Opens a dos prompt, which then closes immediately. Hmm |
23:31 | <@Derakon> | That can't be right. |
23:32 | <@TheWatcher> | trying from a dos prompt |
23:32 | <@Derakon> | Okay, I'll dig into that a bit more. |
23:32 | <@Derakon> | TW: can't work without the ~12MB of assets. |
23:32 | <@Derakon> | Which are definitely not present. |
23:32 | <@Derakon> | Oh, duh. |
23:32 | <@Derakon> | I assumed that the .exe worked like a .app. Which it doesn't, of course. |
23:33 | <@Derakon> | Give me a few minutes...I'm building the Mac beta1 right now. |
23:33 | | * gnolam headdesks. |
23:33 | <@TheWatcher> | Dera: FWIW - |
23:33 | <@TheWatcher> | Z:\>bulletml-beta1.exe |
23:33 | <@TheWatcher> | LoadLibrary(pythondll) failedThe specified module could not be found. |
23:33 | <@TheWatcher> | Z:\PYTHON25.DLL |
23:34 | <@McMartin> | Yup |
23:34 | <@McMartin> | That's part of the assets he's missing. |
23:34 | <@McMartin> | (See Ophis's Windows build for an example of what py2exe produces) |
23:35 | <@TheWatcher> | (I know, just providing it for Completeness. Habit with bug reporting ¬¬) |
23:35 | <@McMartin> | http://hkn.eecs.berkeley.edu/~mcmartin/ophis/ |
23:37 | <@Derakon> | Wow, I'd forgotten just how useless progress bars are in Windows. |
23:37 | <@McMartin> | Heh |
23:37 | <@Derakon> | "I'm 80% of the way through! Oh, wait, this'll take a bit longer than I thought...I'm 80% of the way through again! Oh, wait..." |
23:37 | <@TheWatcher> | snrk |
23:38 | <@McMartin> | My least favorite lack of the Windows environment is Symbolic Links That Are Worth A Damn. |
23:38 | <@McMartin> | It would be "lack of mount points" but it turns out NTFS has had those for ages and it's just that nobody uses them. |
23:46 | <@Derakon> | Okay, I wasn't certain what all in dist I needed, so I just dumped everything in. It appears to work...but let me know. http://derakon.dyndns.org/~chriswei/temp/bulletml-beta1.zip |
23:46 | <@McMartin> | I'll compare with Ophis for noise. |
23:47 | <@Derakon> | It's mostly just messy. |
23:47 | <@McMartin> | You might eventually want to NSIS it up. |
23:47 | | * TheWatcher starts downloading |
23:47 | | * Derakon nods. |
23:47 | <@McMartin> | If you do, consult me for how to not make this be pain equivalent to writing assembler in PHP. |
23:48 | <@Derakon> | I definitely will. |
23:48 | <@Derakon> | Y'all've already made this process a hell of a lot easier than it would have been on my own. |
23:51 | <@Consul> | /bin/sh: yacc: command not found ? Really? Wow... |
23:53 | <@McMartin> | Hrm. |
23:53 | <@McMartin> | OK, looking at the zip file |
23:53 | <@McMartin> | You'll want to remove the trash OS X leaves behind and refuses to delete |
23:53 | <@McMartin> | ._DS_STORE and friends |
23:53 | <@Derakon> | ...whups. |
23:53 | <@McMartin> | Harmless but annoying. |
23:54 | <@Derakon> | Yeah. |
23:57 | <@Derakon> | How's that download going, TW? |
23:59 | <@TheWatcher> | 95% |
23:59 | <@TheWatcher> | I've got to limit my down somewhat |
23:59 | | * Derakon nods. |
--- Log closed Fri Feb 06 00:00:28 2009 |