--- Day changed Fri Oct 16 2009 00:27 -!- katsmeow is now known as katsmeow-afk 00:53 -!- Noahj [n=noah@ip98-182-59-157.ri.ri.cox.net] has quit ["Leaving."] 01:05 -!- genehacker2 [i=genehack@wireless-128-62-56-198.public.utexas.edu] has quit [] 01:15 -!- genehacker [i=genehack@wireless-128-62-56-198.public.utexas.edu] has joined #hplusroadmap 01:32 < kanzure> so the skdb website is now running opencascade simultaneously 01:32 < kanzure> suprisingly the site doesn't take forever to load 01:32 < bkero> I'm eating kittens. 01:32 < kanzure> you're eating dirt 01:32 < kanzure> and you like it 01:32 < bkero> pssh 01:32 < bkero> These kittens are probably a bit dirty 01:33 < bkero> So yea 01:33 < kanzure> you planning on heckling me at the conference? 01:33 < kanzure> did you decide it's too far? 01:33 < bkero> If I make it down there 01:33 < bkero> Yea 01:34 < bkero> Oh wait! 01:34 < bkero> I might have winter break then 01:34 < bkero> In which case I'd just drive down 01:35 * bkero makes a mental note of looking at a calendat next time he's next at a computer. 01:35 < bkero> calendar* 01:42 < genehacker> eating kittens 01:43 < genehacker> seems you've been spending too much time online 01:47 < genehacker> I want a tundish 01:47 < genehacker> does skdb have a list of refractories? 01:59 < genehacker> if not 01:59 < genehacker> time to add one 03:05 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #hplusroadmap 03:21 -!- genehacker [i=genehack@wireless-128-62-56-198.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 03:33 -!- strages_ [n=strages@c-76-29-231-141.hsd1.al.comcast.net] has quit [Read error: 110 (Connection timed out)] 06:18 -!- lazzareth__ [n=x@202-89-188-136.static.dsl.amnet.net.au] has joined #hplusroadmap 06:18 -!- mason_l [n=x@202-89-188-136.static.dsl.amnet.net.au] has quit [Read error: 110 (Connection timed out)] 06:36 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has quit [Read error: 113 (No route to host)] 06:55 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has joined #hplusroadmap 08:12 -!- strages [n=strages@c-76-29-231-141.hsd1.al.comcast.net] has joined #hplusroadmap 08:34 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 08:36 -!- genehacker [i=genehack@wireless-128-62-71-84.public.utexas.edu] has joined #hplusroadmap 09:07 -!- genehacker [i=genehack@wireless-128-62-71-84.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 09:07 -!- genehacker [i=genehack@wireless-128-62-172-56.public.utexas.edu] has joined #hplusroadmap 09:22 -!- Noahj [n=noah@216.41.93.130] has joined #hplusroadmap 09:31 -!- Phreedom [n=quassel@195.216.211.175] has quit [Read error: 113 (No route to host)] 09:46 < kanzure> hello lazzareth__ 09:57 -!- genehacker [i=genehack@wireless-128-62-172-56.public.utexas.edu] has quit [Read error: 60 (Operation timed out)] 10:06 < kanzure> fenn: do you know how to pass locals() to a cheetah template? 10:25 < fenn> that's a good idea.. but no 10:56 -!- lazzareth__ [n=x@202-89-188-136.static.dsl.amnet.net.au] has quit ["Ex-Chat"] 10:56 -!- mason-l [n=x@202-89-188-136.static.dsl.amnet.net.au] has joined #hplusroadmap 11:14 -!- ve [n=a@94-193-95-252.zone7.bethere.co.uk] has joined #hplusroadmap 12:44 < kanzure> http://neopythonic.blogspot.com/2008/10/why-explicit-self-has-to-stay.html 12:58 < CIA-23> skdb: kanzure * r 640fa5d /clients/web.py: really bad unit tests for cherrypy 13:03 < fenn> '/home/some/page/new/' should be '/home/some/page/new' or '/home/some/page/new?foo=123&bar=456' 13:05 < fenn> how do you know 'new' is the command in the second example? (/x/y/z/new/1/2/3) 13:06 < fenn> i dont like the reserved keywords.. for example what if i have a directory 'source'? 13:12 < fenn> i like the @cherrypy decorators 13:13 < fenn> what is 'vpath' in PackageFront? and what is PackageFront? 13:15 < fenn> where does PackageIndex come from? 13:15 < kanzure> PackageIndex comes from templates/ 13:15 < kanzure> templates/ is currently not committed 13:15 < kanzure> vpath in the "default" methods is the second argument..er.. i mean, def blah(stuff, goes, here, *vpath, **keywords) 13:16 < kanzure> this sets positional arguments into vpath 13:16 < kanzure> and keyword arguments into keywords 13:16 < fenn> from templates import * 13:16 < fenn> ImportError: No module named templates 13:16 < kanzure> positional arguments in http://blah.com/blah/goes/here/ are "blah goes here". the keyword arguments are the GET or POST variables. 13:16 < kanzure> fenn: i told you it's not committed 13:16 < fenn> i was debugging concurrently with the explanario 13:17 < kanzure> explanidad? 13:17 < kanzure> nevermind 13:17 < kanzure> if you want to quickly make templates/ do this: 13:17 < kanzure> mkdir templates 13:17 < kanzure> touch templates/__init__.py 13:17 < kanzure> touch templates/IndexTemplate.tmpl 13:17 < fenn> a primitive invertebrate organism resembling a proper explanation 13:17 < kanzure> cd templates; cheetah compile IndexTemplate 13:18 < fenn> well i still wouldnt have PackageIndex or whatever 13:18 < kanzure> easy_install Cheetah; easy_install TurboCheetah; 13:18 < kanzure> oh, well, touch templates/PackageIndex.tmpl 13:18 < fenn> you can apt-get cheetah 13:18 < kanzure> they are not interesting 13:18 < kanzure> and contain just "foo" and "bar" respectively 13:21 < kanzure> my output on CherryBase.default should be helpful 13:21 < kanzure> http://adl.serveftp.org/app/web.py/x/y/z/ 13:21 < fenn> is the _url stuff from cherrypy? 13:22 < kanzure> no that's me 13:22 < kanzure> class Url is totally me 13:23 < fenn> shouldnt you do somethink like: for (k,v) in url.__dict__: setattr(self, k, v) 13:23 < fenn> erm. copy(v) 13:23 < kanzure> yes 13:24 < fenn> that whole thing is sorta confusing 13:24 < kanzure> sorry, where? 13:24 < fenn> i dont think you should call it a url, whatever it is 13:24 < fenn> you've got commands and paths and so on 13:25 < fenn> "a url is parsed into a Url." is just weird 13:25 < kanzure> cherrypy gives the *blah argument as a tuple to a method 13:25 < kanzure> so then i convert this tuple and play around with it with Url 13:25 < kanzure> but i'm open to calling it something else 13:25 < kanzure> s/tuple/n-uple/ 13:25 < fenn> url = Url(extra) 13:26 < fenn> that's where you're getting the data 13:26 < kanzure> ok and extra was the *extra argument 13:27 < fenn> well it's weird because it's not a url anymore, it's a path and a command right? 13:27 < kanzure> it wasn't a url to begin with i guess 13:33 < kanzure> #cherrypy says it is a "virtual path" or "path segment" 13:35 < kanzure> (#cherrypy is on oftc) 13:40 < kanzure> 13:36 <@fumanchu> that's a term from http://www.ietf.org/rfc/rfc3986.txt 13:40 < kanzure> 13:36 <@fumanchu> path-abempty = *( "/" segment ) 13:40 < kanzure> 13:37 <@fumanchu> so in '/foo/bar/baz' there are 3 segments 14:40 < kanzure> http://adl.serveftp.org/app/web.py/x/y/z/ 14:40 < kanzure> "extra" is the "virtual path" 14:40 < kanzure> yes 14:41 < kanzure> http://adl.serveftp.org/app/web.py/units/x/y/z/ 14:41 < fenn> x/y/z/ is the virtual path, but is it also command keyword arguments? 14:41 < kanzure> but in this case: http://adl.serveftp.org/app/web.py/units123/x/y/z/ the virtual path is units123/x/y/z 14:41 < kanzure> the reason why /units/x/y/z did not have "units" in the virtual path was because "units" was in the object tree 14:41 < kanzure> in the case of /x/y/z/ there are no commands in the virtual path 14:41 < fenn> why would i want "extra"? 14:41 < kanzure> i consider "edit" to be a command 14:42 < kanzure> as a cherrypy developer? 14:42 < fenn> what does "extra" represent? 14:42 < kanzure> it is the "virtual path" that cherrypy gives the "default" method (CherryBase.default in web.py) 14:42 < fenn> why not web.py/units?x=inch&y=furlong 14:43 < kanzure> er that works.. 14:43 < fenn> x and y are keywords 14:43 < kanzure> yessir 14:43 < kanzure> not positional 14:43 < fenn> sfw 14:44 < kanzure> please note 14:44 < kanzure> http://adl.serveftp.org/app/web.py/units/?one=50+m&two=2km 14:45 < kanzure> http://adl.serveftp.org/app/web.py/units/?ZZZZZ=50+m&xxxx=2km 14:45 < kanzure> the keyword variable names do not matter in my example 14:45 < kanzure> so don't confuse it with /units/x/y/z 14:45 < fenn> ok.. i understood that 14:45 < fenn> what does units/x/y/z mean? 14:45 < fenn> what are x/y/z 14:45 < kanzure> in this case they are random mashings of my keyboard 14:45 < fenn> i just dont get what avirtual path is supposed to be 14:45 < fenn> it's not an object, it's not a file, it's not a command.. wtf is it! 14:46 < kanzure> look again 14:46 < kanzure> http://adl.serveftp.org/app/web.py/units/x/y/z/ 14:46 < kanzure> http://adl.serveftp.org/app/web.py/units123/x/y/z/ 14:46 < kanzure> in one case "units123" is part of the virtual path 14:46 < kanzure> in the other "units" is not a part of the virtual path 14:46 < fenn> that's just because units123 wasn't found 14:46 < kanzure> yes 14:47 < kanzure> so it "goes as far as it can" 14:47 < kanzure> and then it calls farthest_matched_thingy.default(virtual_path, keywords) 14:47 < fenn> bleah 14:47 < fenn> you have no idea what a virtual path is, do you 14:47 < kanzure> i just told you 14:48 < kanzure> the virtual path is everything that was not matched to something in the cherrypy object tree 14:48 < fenn> it's "something that's not there" 14:48 < kanzure> well it doesn't have to be a "something" 14:48 < fenn> sounds more like a "nonexistent path" to me 14:49 < kanzure> it can be whatever farthest_matched_thingy wants to interpret it as 14:49 < kanzure> so for instance one valid "virtual path" is a SHA string 14:49 < kanzure> (you shouldn't/will not have an object with the same name as that SHA ;-)) 14:49 < fenn> do you actually have a valid use case in mind for this? 14:49 < kanzure> yes specifying the SHA 14:49 < fenn> not the SHA thing, but vpath in general 14:50 < kanzure> originally yes but now that /package/screw/data/edit has "data" as a File object, File.edit can probably take over 14:50 < kanzure> originally i was going to use virtual paths to figure out what page a user wanted to edit 14:50 < fenn> why doesn't it say "path is: ( 14:50 < kanzure> where? 14:50 < fenn> why doesn't it say "path is: ('web.py', 'units')" 14:51 < fenn> instead of x, y 14:51 < kanzure> that made sense until you asked "instead of" 14:51 < fenn> since x, y is the "virtual path" (thereby implying there is a real path) 14:51 < kanzure> web.py is "broken off" by cherrypy i think 14:51 < kanzure> or possibly apache? 14:51 < kanzure> probably cherrypy 14:51 < fenn> fine, then just "path is: ('units')" 14:52 < kanzure> the output is misleading 14:52 < kanzure> really that should say "virtual path is: " 14:52 < fenn> ok 14:52 < kanzure> hm that probably screwed you up 14:52 < fenn> no 14:52 < kanzure> it has great screwup potential 14:52 < fenn> yes 14:54 < kanzure> i'm not sure if "default" is going to be used like this now that fumanchu has shown me __getattr__, which makes much more sense for what we want to do 14:54 < kanzure> though it is peculiar that cherrypy insists on hijacking the getattr of a class for its nefarious purposes.. 14:54 < kanzure> why not just a "__cpgetattr__" or something 14:55 < kanzure> http://tools.cherrypy.org/wiki/RestfulDispatch 14:55 < kanzure> http://www.cherrypy.org/wiki/PageHandlers#OtherDispatchers 14:56 < fenn> how does it hijack __getattr__? i mean when does that get turned on? 14:56 < kanzure> if there is a custom __getattr__ defined, it uses it 14:56 < fenn> ok, so you just do that manually 14:56 < kanzure> right i figure that some packages might want their own custom __getattr__ for something 14:56 < kanzure> (who knows) 14:57 < kanzure> so it wouldn't be nice to force cherrypy upon them 14:57 < fenn> having a hard tim following the restfuldispatch example 14:57 < kanzure> a hard who?! 15:27 -!- Noahj [n=noah@216.41.93.130] has quit ["Leaving."] 15:46 < CIA-23> skdb: kanzure * r f1aaea9 / (clients/web.py core/package.py): working on Packages view for keeping packages together 15:50 < CIA-23> skdb: kanzure * r 387957a / (clients/web.py core/package.py core/skdb.py): rename Packages to PackageSet 15:54 * kanzure configures apache for local testing 15:54 < kanzure> better than pushing code that i haven't checked 15:58 < fenn> is it easier to set up cherrypy with its own web server? 15:59 < kanzure> i tried it and it didn't work 16:00 < kanzure> sudo apt-get install libapache2-mod-wsgi, then edit /etc/apache2/sites-enabled/000-default and add in AddHandler wsgi-script .py for a certain element in the config file 16:04 < kanzure> i need a better way to deal with extra_paths at the top :( 16:05 < fenn> what is all that for? 16:06 < kanzure> apache doesn't have the right pythonpath variables apparently 16:06 < fenn> /usr/lib/python2.5/site-packages should already be in sys.path 16:06 < fenn> i thought you werent using mod_python 16:09 < kanzure> i'm not 16:28 * drazak sits on kanzure 16:28 < fenn> i just want to point out that web.py is a server, not a client 16:32 < kanzure> it is not a server 16:32 < fenn> is too 16:32 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has joined #hplusroadmap 16:32 < kanzure> cherrypy has a built-in server if you want 17:02 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 17:35 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has joined #hplusroadmap 18:17 -!- Phreedom [n=quassel@195.216.211.175] has joined #hplusroadmap 18:31 * drazak is still at the motherfucking lab 18:31 < drazak> I should do some inventory 18:31 < drazak> but I'm tired as hell 18:46 -!- genehacker [i=genehack@wireless-128-62-39-225.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 19:55 -!- kardan| [n=kardan@p54BE50A8.dip.t-dialin.net] has joined #hplusroadmap 20:11 -!- kardan_ [n=kardan@p54BE4243.dip.t-dialin.net] has quit [Read error: 110 (Connection timed out)] 20:23 < kanzure> metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases 20:23 < kanzure> metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases 20:30 < kanzure> TypeError: Error when calling the metaclass bases module.__init__() takes at most 2 arguments (3 given) 21:31 < kanzure> when you request /packages/lego/part/1 from web.py, 21:31 < kanzure> you can see the opencascade "loading step file" message crap (like how long it takes to load each step file) in the server logs 21:31 < kanzure> pretty cool :) 21:37 < drazak> kanzure: what do you think of a primer on pipetting and other basic techniques? 21:38 < kanzure> i have never seen a primer on pipetting 21:39 < drazak> I've seen a couple 21:42 < kanzure> what's the normal HTTP response code? not 302, but what? 21:44 < kanzure> 405? 21:44 < kanzure> ah, 200 21:44 < kanzure> heee unit tests :) 21:52 < ybit> http://www.newegg.com/Product/Product.aspx?Item=N82E16834101185 21:53 < ybit> bkero: know of anything better, you're always up on this kind of stuff :-) 21:53 < ybit> ..for this price or less 21:54 < ybit> last time we talked about laptops, you suggested the t4220, but i want performance from the lappy 21:54 < kanzure> Writing memories with light-addressable reinforcement circuitry 21:54 < kanzure> http://adl.serveftp.org/papers/Writing%20memories%20with%20light-addressable%20reinforcement%20circuitry.pdf 21:58 * kanzure tries to hook up to heybryan.org:8080 but finds a wild gnurd living there 21:58 < kanzure> hmph 22:02 < CIA-23> skdb: kanzure * r ca0e58e / (6 files in 3 dirs): partial package view on cherrypy server 22:30 < bkero> ybit: ew core solo 22:33 < bkero> ybit: http://cgi.ebay.com/FUJITSU-P1620-CORE2-DUO-1-2GHZ-2048MB-40GB-VISTA-WIFI_W0QQitemZ290360066579QQcmdZViewItemQQptZLaptops_Nov05?hash=item439acf0213 22:34 -!- genehacker [n=noko@173.57.48.104] has joined #hplusroadmap 22:40 < ybit> huh, i was thinking it was dual 22:42 < bkero> Core Solo 22:42 < bkero> Big ol' pile of horse shit 22:42 < ybit> i just don't see me paying that much for those specs when for $75 you can get 210 more gig of storage and an extra gig of ram 22:42 < ybit> http://www.newegg.com/Product/Product.aspx?Item=N82E16834200027 22:42 < bkero> Higher resolution, tablet 22:42 < bkero> Better battery life 22:42 < bkero> It's an ultra-low voltage 22:43 < bkero> Higher PPI 22:43 < bkero> Dock 22:43 < bkero> Dual battery charger, case 22:44 < ybit> wonder if that's the screen made for outdoors, because there were two screens for that model 22:45 < bkero> I have one. It's resistive touch, matte 22:45 < bkero> You can get active digitizers on ebay for about $50 22:51 -!- genehacker [n=noko@173.57.48.104] has quit [] 22:53 < drazak> kanzure: I haven't been flamed for bitching about synbio... yet 22:53 < drazak> I need to put together a more well written bitch about synbio 22:54 < ybit> bkero: the only reason i can think to have a tablet notebook (unless it's the n900 touch tablet/phone/gps/camera) is for drawing a facial hair on my personal pictures 22:55 < ybit> though i imagine it is useful, sometimes, in reducing prototyping in something like inkscape 22:55 < ybit> +time 22:57 < ybit> bkero: anything else it's useful for? 23:07 < CIA-23> skdb: kanzure * r f5f329e /clients/ (templates/PackageView.tmpl templates/__init__.py web.py): PackageView, another template, etc. 23:10 < CIA-23> skdb: kanzure * r 633a0f7 /clients/web.py: forgot to include the right template 23:17 < ybit> i also forgot to mention that the tablet is ddr2, most notebooks at that price now have an extra gig and are running on ddr3