code logs -> 2009 -> Thu, 05 Feb 2009< code.20090204.log - code.20090206.log >
--- 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
code logs -> 2009 -> Thu, 05 Feb 2009< code.20090204.log - code.20090206.log >