[00:21:52] jesus shit [00:22:16] the college chicks downstairs are having a party [00:22:40] they have nice speakers it seems [00:22:58] * arg fires up the technics 1200s [00:23:05] two can play at this game [00:30:17] haha [00:30:32] it takes so much effort to play records [00:35:23] haha [00:35:24] i know man [00:35:31] but they sound so good [00:35:42] i wish final scratch wasnt such a piece of crap [00:35:50] otherwise i might be bothered to get that set up [00:38:37] yeah [00:39:04] the new one is supposed to be ok actually, not sure if its out yet [00:40:40] it would be fun to rig one of those to do something other than music [00:40:56] just using them as really big midi controllers or something [00:41:07] scratch video maybe [00:41:17] yeah, pioneer makes DVD turntables that look like their CD ones [00:41:21] they cost $2500 a piece [00:41:23] yeah I've seen those [00:41:27] dj shadow uses them [00:41:32] could be done just a little cheaper [00:41:34] hexstatic has a nice rig [00:41:57] electronic broadcast network's old school stuff was cool [00:43:00] haha I've got cowboy bebop on the TV and they just referenced captain crunch [00:43:01] I know that guy [00:43:45] he bugs me all the time about Objective-C/Cocoa shit [00:44:36] hahaha [00:44:43] the original blue box guy? [00:44:51] 2600hz/drop-to-trunk? [00:45:04] yeha [00:45:11] with the whistle [00:45:17] wow, crazy [00:45:20] old school shit [00:45:25] REALLY old school shit [00:45:34] like, taught woz and jobs how to blue box old school [00:47:57] it's kinda funny cause I also helped the PGP guy, phil zimmermann with his VoIP stuff [00:48:36] but he wasn't writing code himself, just funding the project and doing the algorithms and shit [00:50:13] dude, i help the most brilliant MIT profs set up trivial shit like SSH and gay perl scripts [00:50:22] haha [00:50:42] well in this case I wrote some CoreAudio code and gave it to them and said this is how to hook it up into your shit [00:50:48] and then like months of emails and IM [00:50:59] helping them fix the crap I didn't write [00:51:03] hehee [00:51:15] http://www.usenix.org/events/nsdi05/ [00:51:17] in crunch's case he didn't know anything at all about objective-c or cocoa, so that was hard [00:52:07] and in both cases I was just helping to help.. so it got really annoying [00:52:12] http://www.usenix.org/events/nsdi05/tech/ [00:52:15] I wasn't paid or anything [00:52:29] search for 'botz' [00:52:36] thats gonna be a good paper [00:52:47] too bad my effing name should be on it [00:53:01] that sucks that it's not [00:53:30] I got stiffed out of some big advertising award credit for a website I coded myself [00:53:37] yheah [00:53:43] i've been dicked out of like 2 patents [00:54:04] that sucks [00:54:20] yeah, whatever, i think my time is coming tho [00:54:27] totally [00:54:28] if this new service takes off [00:55:03] im telling you, the people who noticed python at 1.52 are reaping benefits now [00:55:15] i dont know if its causal [00:55:26] I started at 2.1 [00:55:32] same thing [00:55:35] pre-2.2 [00:55:53] I started right before 2.2.. so I got used to generators real fast [00:56:00] from __future__ import generators was at the top of everything [00:56:05] yep [00:57:51] this week I'm moving everything over to 2.4, so I can use genexps [00:57:57] and decorators [01:01:00] yeah, genexps rule [01:01:06] so do decorators [01:01:42] i volunteered to be the tech lead for getting python2.4 out the door as our base distribution [01:02:34] cool [01:04:30] im going to put peak and pyprotocols in with that [01:04:35] sweet [01:04:40] indeedy [01:04:46] hopefully pje will have a stable version with dispatch in it sooner than later [01:04:49] right now it's cvs only [01:04:50] the big obstacle is getting it into the base os [01:04:56] eggs are going to be huge [01:05:16] excellent [01:05:28] those directly solve most of our problems with python shared libs in a much better way than we handle it now [01:05:52] could probably even stick a thing in there so that they could load straight from the zip (c exts) [01:06:01] yeah [01:06:14] on linux I think you can load code from ram [04:02:27] [connected at Sat Apr 2 04:02:27 2005] [04:02:27] <> *** Looking up your hostname... [04:02:28] <> *** Checking ident [04:02:30] <> *** Found your hostname [04:02:58] <> *** No identd (auth) response [04:02:58] <> *** Your host is tolkien.freenode.net[thunder.stealer.net/6667], running version dancer-ircd-1.0.35 [04:02:58] [I have joined #peak] [04:02:58] ** tolkien.freenode.net set the topic to http://dirtsimple.org/2004/11/generic-functions-have-landed.html [04:28:17] ** jemfinch has left IRC (Remote closed the connection) [07:08:12] ** debugger has joined us [07:08:59] hi [13:58:50] ** jemfinch has joined us [16:50:59] ** pje has joined us [16:51:10] Hey etrepum [16:51:29] hey [16:51:57] I think I've got a version parsing idea that could replace StrictVersion/LooseVersion [16:52:08] I'd like you to see if it has any holes in it [16:52:20] ok [16:52:30] The basic idea is that you just split alphanum/non-alphanum into a sequence [16:52:47] So e.g. 2.2a3 parses into ('2','.','2','a','3') [16:52:59] isn't that pretty close to what LooseVersion is? [16:53:02] Then you add a 'final' to the end, so for the above you actually get... [16:53:15] So now it's ('2','.','2','a','3','final') [16:53:31] what's the point of "final" ? [16:53:34] And you also '0'-justify the numbers to some arbitrary (but fixed) length [16:53:49] Well, 2.2 -> ('2','.','2','final') [16:53:57] Which is > ('2','.','2','a','3','final') [16:54:37] IOW, it does the right thing for strict versions [16:55:08] And mostly does the right thing for loose versions [16:55:24] seems kinda arbitrary to use the word "final" [16:55:43] It's midway between 'c' and 'p' :) [16:56:05] So if you're using 'p' or 'pl' to mean "patch" (post-release), it works right [16:56:27] yeah, that's not really obvious though [16:57:04] Right, but it works for lots of things. [16:57:09] sure [16:57:22] But there are some quirks based on ASCII [16:57:38] For example '.' is less than '_' [16:58:07] So, it implies that 2.2.1 is less than 2.2-3 [16:58:22] Which for most '-' versioning schemes is actually wrong. [16:58:47] But I guess we could convert '_' back to '-', in which case that comes out right too. [16:59:50] that sounds fine [17:00:18] So the only really arbitrary parts are padding length for numbers, and the 'final' string [17:00:47] Interestingly, if someone compares '2.2' and '2.2final', then they still do the right thing [17:01:04] At least, if 'final' is more final than not having it. :) [17:01:35] Ah crud, there is a problem... [17:02:02] 2.1.1 compared to 2.1 [17:02:08] 'final' is >'.' [17:02:44] So unless you stick the string 'final' in front of all the numbers it doesn't work. :) [17:04:00] In effect, you sort of just need a custom collation sequence [17:04:53] Where . > -, and . > letters, and numbers>letters [17:06:29] ** _pje has joined us [17:07:33] <_pje> Where numbers are in relation to . and - doesn't matter so much [17:07:56] <_pje> Because you can't have two adjacent numbers [17:10:43] * _pje sighs. It seemed so simple. [17:10:51] <_pje> Beautiful theory, ugly facts. :) [17:14:01] ** pje has left IRC (Read error: 60 (Operation timed out)) [17:14:15] _pje is now known as pje [17:18:52] Okay, new try... drop the '.'s, but keep the '-'s, which sort below letters or numbers [17:19:27] Letters get prefixed with a '.' [17:19:50] So, 2.2 -> 2,2 and 2a2 -> 2,-a,2 [17:20:13] Or rahter, 2.2 -> 2,2,-final and 2a2 -> 2,-a,2,-final [17:20:33] 2.1 -> 2,1,-final and 2.1.1 -> 2,1,1,-final [17:21:27] 2.1a4 -> 2,1,-a,4,-final and 2.1-4 -> 2,1,-,4,-final [17:22:01] Oops. [17:22:30] Letters need to be < - [17:23:39] Y'know, this looks like the right thing for me to do is to make a bunch of unit tests and then just tweak the algorithm until it works for everything I care about. :) [17:38:17] Okay, I think I've got it working... got any tough cases I can try? [18:03:30] * pje waves at etrepum [18:31:20] * pje checks in the version parser [18:54:57] ** apoirier has joined us [19:01:06] ** hazmat has joined us [19:08:05] You guys got any tough version format puzzles I can test my version parser on? ;) [19:14:43] pje: yes, I do. [19:14:51] hold on, lemme get them. [19:15:08] Btw, this is application versioning, not RCS versioning [19:15:12] I know. [19:15:21] * jemfinch has paid a little attention to the preceding conversation. [19:15:34] (these cases are cases where we had to hack our versions to order properly on Debian; it's worth checking to make sure our hacks still work properly with your parser :) [19:21:02] 0.80.1-3 0.80.1-2 0.80.1-1 0.79.9999+0.80.0pre4-1 0.79.9999+0.80.0pre2-3 0.79.9999+0.80.0pre2-2 0.77.2-1 0.77.1-1 0.77.0-1 [19:21:15] Er, what order are those in? [19:21:20] descending. [19:21:32] Ok. Lemme add 'em to the test suite... [19:24:59] They work. [19:25:16] I'm having it compare every one against all the ones that follow. [19:27:20] cool :) [19:30:21] It actually looks like those aren't even hard tests, really [19:30:38] Because the numbers are self-consistent [19:31:01] E.g., you're not comparing non-pre against pre, w/everything else the same [20:38:35] ** pje has left IRC ("Client exiting") [21:40:23] ** debugger has left IRC () [21:57:33] ** apoirier has left IRC ("Using KVIrc 3.0.1")