--- Day changed Mon Jul 20 2009 00:24 -!- katsmeow is now known as katsmeow-afk 00:24 < bkero> Pretty decent tablet on woot if anyone is interested. 01:08 < CIA-73> skdb: kanzure * rd14365092c23 /pymates/pymates.py: cleaned up some of the variables 01:20 < CIA-73> skdb: kanzure * r81871bf249f6 /pymates/pymates.py: cleaning up cruft, a comment 02:47 < ybit> http://en.wikipedia.org/wiki/Open_CASCADE :: """Open CASCADE is a software development platform for 3D CAD, CAM, CAE, etc. that is developed and supported by Open CASCADE S.A.S.. It is available under the "Open CASCADE Technology Public License" which the developer claims to be "LGPL-like with certain differences". Despite this claim, it is not listed as compatible with the LGPL license by the publisher of the LGPL, the Free Software Foundation. [1] I 02:47 < ybit> i didn't realize there were licensing issues with occ 03:16 < genehacker_vista> HOLY COW 03:16 < genehacker_vista> SOMETHING HIT JUPITER 03:19 < genehacker_vista> maybe 03:24 < QuantumG> that's what jupiter is for :) 03:27 < splicer-afk> (the vacuum cleaner of the system) 03:39 < splicer-afk> hehehe: http://2012-comet.com/phpbb/2012/ 03:40 < splicer-afk> ...they sell gifts too of course 03:55 < genehacker_vista> heh 03:56 < genehacker_vista> (I'd hit that reference here) 03:57 < genehacker_vista> lol that's not a meteor 03:57 < genehacker_vista> that's a picture of a nebula 03:57 -!- Netsplit holmes.freenode.net <-> irc.freenode.net quits: tarbo2_ 03:58 -!- Netsplit over, joins: tarbo2_ 04:27 < drazak> ybit: not too many 04:28 < drazak> ybit: there's a few it'd be nice to have on VEGFA isoforms 04:32 < drazak> so, today we transformed cells, when we go in we're killing the ones that didn't transform with amphocilin, wedsnesday we're transfecting them into tissue, tomorrow we're purifying and doing electrophoresis 04:32 < drazak> apparently we're also doing some microfluidics stuff, but that hasn't been shown to me other than changing the flow rate on some devices 05:24 -!- genehacker_vista [n=noko@cpe-67-9-157-136.austin.res.rr.com] has quit [Read error: 110 (Connection timed out)] 05:52 -!- Smari [n=spm@nmi-gw.eyjar.is] has joined #hplusroadmap 06:49 -!- Phreedom [n=freedom@195.216.211.175] has quit [Remote closed the connection] 06:50 -!- Phreedom [n=freedom@195.216.211.175] has joined #hplusroadmap 07:14 < kanzure> " 07:14 < kanzure> " 07:14 < kanzure> i compiled my kernel using that flag , and now it boots Windows instead. 07:22 -!- Smari [n=spm@nmi-gw.eyjar.is] has quit [Read error: 104 (Connection reset by peer)] 07:22 -!- spm_ [n=spm@nmi-gw.eyjar.is] has joined #hplusroadmap 07:22 -!- spm_ is now known as Smari 07:27 < kanzure> hi SMari 07:27 < kanzure> *Smari 07:27 < Smari> y0 07:27 < Smari> I hate this laptop 07:28 < kanzure> http://hardware.slashdot.org/comments.pl?sid=1307799&cid=28749853 07:28 < kanzure> re: bakcups 07:28 < kanzure> *backups 07:36 < kanzure> re: backups http://jwz.livejournal.com/801607.html 07:37 < CIA-73> Tangiblebit: spm * r1e590359ba48 /tangiblebit.com/ (3 files in 2 dirs): Restructuring JavaScript interface... 07:37 < CIA-73> Tangiblebit: spm * re2d6f13a4b7f /tangiblebit.com/ (3 files in 3 dirs): Pushing around some javascript functions, cleaning up site management interface. 07:40 < kanzure> you replaced the #'s with *'s? 07:42 < Smari> That was one of the changes, yes. 07:42 < Smari> # is enumerations, * is bullet list. I've spent too much time on Wikipedia. :P 07:45 < Smari> I didn't get much work done this weekend, mostly just thinking and planning 07:49 < kanzure> hahah: http://millionairemate.com/ thanks slashdot 07:56 < kanzure> hah: http://seekingarrangement.com/ 07:58 < kanzure> fun stuff 08:01 -!- genehacker_vista [i=genehack@wireless-128-62-158-110.public.utexas.edu] has joined #hplusroadmap 08:04 < CIA-73> skdb: kanzure * r3535812d1a9a /pymates/shell.sh: interactive shell script added 08:25 -!- genehacker_vista [i=genehack@wireless-128-62-158-110.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 08:45 -!- mage2 [n=mage@66.179.208.36] has joined #hplusroadmap 09:39 < CIA-73> skdb: kanzure * r490a84d44689 /pymates/monday.py: bus ride commit- cleaning up monday.py 09:47 < kanzure> http://mccormick.cx/news/entries/RDC.news recursive dimensional clustering - collision detection in pure python 09:52 < kanzure> http://2009.igem.org/wiki/index.php?title=Special:RecentChanges&limit=1000&days=3000&hideminor=0 09:53 < kanzure> er, use this instead: 09:53 < kanzure> http://2009.igem.org/wiki/index.php?title=Special:RecentChanges&limit=1000&days=3000&hideminor=1 09:53 < kanzure> hm still doesn't give me anything sooner than 2009-07-18 09:54 < kanzure> what was used to generate this image? http://www.reprap.org/pub/Main/AssemblingDarwinMachinery/Assembly.JPG 10:01 -!- samrose [n=samrose@24.11.214.181] has joined #hplusroadmap 10:35 < ybit> kanzure: did you ever find out what created the reprap image? 10:36 -!- maradydd_ [n=mlp@88.147.36.140] has joined #hplusroadmap 10:37 < ybit> maradydd_ == meredith? 10:39 < ybit> or marnia? 10:39 < ybit> ah, mlp 10:39 < ybit> ^is for future reference 10:41 < ybit> anyone tried using code_saturne or openfoam? kanzure, i know you used elmer 10:55 -!- maradydd [n=mlp@88.147.8.73] has quit [Read error: 110 (Connection timed out)] 11:03 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has joined #hplusroadmap 11:14 < ybit> neat, sourceforge list of human machine interface software: http://sourceforge.net/softwaremap/trove_list.php 11:15 -!- maradydd [n=mlp@88.147.37.147] has joined #hplusroadmap 11:15 < ybit> Smari: i'm guessing you were aware of parsec cee "The PARSEC CEE is the primary achievement of several years of effort at NASA's Marshall Space Flight Center. The CEE was developed to allow engineers in the Advanced Concepts Department to rapidly prototype launch vehicle and spacecraft concepts." 11:16 < ybit> http://parseccee.sourceforge.net/ 11:20 < ybit> related to open source medicine: http://medsphere.org/index.jspa which released open vista: http://sourceforge.net/projects/openvista/ documentation here: http://medsphere.org/docs/DOC-1181 11:20 < ybit> "OpenVista is the open-source version of VistA, which is an enterprise grade health care information system developed by the U.S. Department of Veterans Affairs (VA) and deployed at nearly 1,500 facilities worldwide." 11:20 < Smari> ybit, hmm? 11:22 < ybit> Smari: you had developed a model rocket simulation software, correct? 11:23 < ybit> i'm guessing this might be of interest as well, but i guess your focus is slightly different 11:24 < ybit> http://openrocket.sourceforge.net right? 11:25 < Smari> ybit, no, that's not me. 11:25 < ybit> oh, hmm 11:25 < ybit> Smari: you're fablab guy then i do believe 11:26 < Smari> yes. 11:26 -!- maradydd1 [n=mlp@88.147.40.184] has joined #hplusroadmap 11:26 < ybit> let's see QuantumG then, is it your software? 11:26 < ybit> argh, guess i'll have to give in concatenate all these log files 11:30 -!- maradydd_ [n=mlp@88.147.36.140] has quit [Read error: 110 (Connection timed out)] 11:35 -!- xp_prg [n=xp_prg3@c-76-21-115-162.hsd1.ca.comcast.net] has quit ["This computer has gone to sleep"] 11:46 -!- maradydd [n=mlp@88.147.37.147] has quit [Read error: 110 (Connection timed out)] 11:58 < kanzure> btw, I committed some python wrappers to google scholar to my ~/sandbox today 11:58 < kanzure> not that anybody can access them 11:58 < kanzure> I also import zotero 11:58 < kanzure> http://onebiglibrary.net/story/zotero-commandline-love-mozrepl 12:01 < ybit> Code_SaturneĀ® enables an accurate representation of 12:01 < ybit> the equipment, medical staff, patient and HVAC 12:01 < ybit> (heating, ventilation and air conditioning) in order to 12:01 < ybit> determine zones where contamination risks are high 12:01 < ybit> and to evaluate the efficiency of the ceiling 12:01 < ybit> ventilation device. 12:01 < ybit> one use of code_saturne which i think is neat 12:03 -!- xp_prg [n=xp_prg3@99.2.31.217] has joined #hplusroadmap 12:03 < kanzure> well this is lame 12:03 < kanzure> http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/annotated.html#gp_Trsf 12:03 < kanzure> using #gp_Trsf doesn't link you to the section on gp_Trsf2d 12:04 < kanzure> seems to use this format though: V1 V2 V3 T XYZ XYZ 12:04 < ybit> kanzure: is Draw installed to /usr/bin typically? 12:04 < ybit> updatedb && locate draw shows nothing atm :\ 12:04 < kanzure> why do you need draw? 12:04 < ybit> i'm just getting my feet wet with opencascade today 12:05 < kanzure> what are you doing? 12:05 < ybit> familiarizing myself with it 12:05 < kanzure> so you're looking for OCC.Draw ? 12:05 < kanzure> because there is no OCC.Draw 12:05 < ybit> that could be it 12:05 < kanzure> are you configuring the source for compiling? 12:05 < kanzure> or have you installed the debs for opencascade already? 12:06 < kanzure> have you compiled pythonOCC yet? (etc.) 12:06 < ybit> i've already done ./configure ; make ; make install 12:06 < kanzure> just wondering at what step of the plan you are at 12:06 < kanzure> what have you done that for? 12:06 < ybit> opencascade 12:06 < kanzure> gentoo? 12:06 < ybit> yeah 12:06 < kanzure> http://adl.serveftp.org/dokuwiki/occ 12:06 < kanzure> http://adl.serveftp.org/dokuwiki/pythonocc 12:06 < ybit> right 12:06 < kanzure> installation notes 12:06 < ybit> ah 12:07 < ybit> i thought they were links to documentation 12:07 < kanzure> the second one has installation notes for pythonOCC 12:07 < ybit> and it is :) 12:07 < ybit> ah 12:07 < ybit> ah yes, both of these are already open 12:07 < ybit> including heekscad notes which i'm glad you posted 12:07 < kanzure> so why are you missing Draw? 12:07 < kanzure> I mean, why are you using Draw? 12:07 < ybit> good question 12:07 < kanzure> er, at what step in this process are you using Draw? 12:08 < kanzure> I have never heard of this program 12:08 < ybit> it was in one of the occ docs i was looking at 12:11 < fenn> compiling opencascade gave me no end of hell 12:12 < fenn> is it really as simple as configure && make now? 12:13 < genehacker_vista> ugh 12:13 < fenn> ybit: i've collected some intro stuff here: http://adl.serveftp.org/dokuwiki/occ 12:13 < genehacker_vista> what do you do with bad data? 12:13 < genehacker_vista> when you have no choice but to use it? 12:13 < kanzure> you yell at it 12:13 < fenn> ybit: i'm following the bottle tutorial; seems like a good way to learn the API 12:13 < kanzure> you can also do some statistics to " 12:13 < kanzure> "fix" it 12:13 < genehacker_vista> it's noisy 12:14 < kanzure> try out the R language 12:14 < kanzure> http://r-project.org/ 12:14 < fenn> all data is noisy 12:15 -!- xp_prg [n=xp_prg3@99.2.31.217] has quit ["Leaving"] 12:15 < kanzure> http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classgp__Trsf.html 12:15 < ybit> it didn't have a problem with ./configure ; make ; make install 12:15 < ybit> it wasn't painful at all 12:16 < ybit> thanks for the info fenn, i'll check it out when i get back from making pizza in the kitchen 12:16 < fenn> speaking of pizza.. /me heads off to lunch 12:16 < kanzure> me too 12:16 < kanzure> stop following me 12:16 < fenn> right, when i stop reading your mind maybe 12:52 < genehacker_vista> well awesome 12:53 < ybit> ? 12:53 < genehacker_vista> data works 12:53 < genehacker_vista> even though it's noisy 12:56 < ybit> genehacker_vista: data from what? 12:56 < ybit> afk again, hands are about to be too greasy to type 12:57 -!- samrose [n=samrose@24.11.214.181] has quit ["Ex-Chat"] 12:58 < genehacker_vista> lab 13:02 < kanzure> does anyone know a flag to send ./configure for opencascade to only compile the samples? 13:02 < kanzure> or might they already be compiled somewhere on my filesystem? 13:07 < fenn> "People think they are better than average, and better than they are. Only clinically depressed people have a first-person judgment that matches a third-person judgment of their status." 13:08 < kanzure> and do traumatically depressed individuals invert the whole space-time manifold of valuation judgments? 13:09 < fenn> no, apparently they just subtract the pro-me bias 13:09 < kanzure> I hate how people use probability distributions to argue about how good they are. 13:09 < kanzure> anna was big into talking about how she was somewhere on the distribution above average 13:09 < kanzure> and using this in arguments or something 13:09 < fenn> i'm 68% better than that 13:09 < kanzure> "I know that because I am over here on this side of the curve, I am therefore able to .." 13:10 < kanzure> this pattern of thinking spooks the hell out of me 13:10 < kanzure> why would anybody rely on it? 13:10 < fenn> you mean relative vs absolute measurement? 13:10 < kanzure> no, the distribution is of scores on a measurement like IQ 13:10 < fenn> or just probability in general 13:10 < kanzure> in general 13:10 < fenn> i dont see how probability has much to do with being able to do something 13:10 < kanzure> agreed 13:10 < fenn> only whether it will happen or not 13:11 < fenn> for example i have a 30% chance of actually writing code today 13:11 < kanzure> apparently HR people sometimes do probability distributions to figure out how much to pay somebody based off of expected return on investment, etc. 13:11 < fenn> my sources tell me they just look up what other people with the same degrees are paying in the geographic area 13:11 < fenn> bein paid* 13:12 < kanzure> hm I wonder why I keep losing /usr/include/opencascade/config.h 13:12 < kanzure> the configure script seems to fuck with it 13:12 < kanzure> I stole it from leibniz last night and now it's gone 13:12 < fenn> money is relative anyway so in a twisted way it makes sense to use relative measurements 13:13 < kanzure> hm leibniz:/usr/include/opencascade/config.h doesn't exist. where have all these files gone? 13:13 < kanzure> aha 13:13 < fenn> "where have all the files gone" sounds like some beatles song 13:14 < kanzure> leibniz:/home/bryan/manufacturing/opencascade/OpenCASCADE6.30/ros/inc/config.h 13:14 < kanzure> er 13:14 < kanzure> leibniz:/home/bryan/manufacturing/opencascade/OpenCASCADE6.3.0/ros/inc/config.h 13:14 < kanzure> or now pikachu:~/local/opencascade/OpenCASCADE6.3.0/ros/config.h_leibniz 13:15 < kanzure> oh maybe pikachu:~/local/opencascade/OpenCASCADE6.3.0/ros/config.h should be copied into inc/ 13:15 < kanzure> hah! 13:15 < kanzure> /* 2009-03-29 Bryan Bishop trying to get gmsh compilation to work with OCC support (ugh) */ 13:15 < kanzure> line 344 of config.h from leibniz 13:16 < kanzure> apparently gmsh forgot to do a "using namespace std" 13:20 < ybit> what is leibniz? 13:20 < ybit> name of your machines, kanzure? 13:20 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 13:21 < kanzure> ybit: leibniz is this monstrous big black box with a tiny quadcore humming away deep inside 13:22 < kanzure> ybit: pikachu is my laptop 13:22 < kanzure> ybit: adl.serveftp.org is davinci 13:23 < ybit> heh, i named one of my machines after a pokemon character too :) 13:25 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has joined #hplusroadmap 13:27 < kanzure> uh 13:27 < kanzure> myBRepTransformation = BRepBuilderAPI_Transform(OriginalShape,theTransformation) 13:27 < kanzure> TransformedShape = myBRepTransformation.Shape() 13:27 < kanzure> that is not how I was doing it 13:29 < kanzure> some examples that use it: http://www.dia.uniroma3.it/~scorzell/cscheme/gallery_toptransformation.htm 13:29 < fenn> that's how the tutorial does it 13:29 < kanzure> in this case the shape is modified 13:29 < kanzure> so any translation is applied to the shape 13:30 < kanzure> but the way that I was doing it, you just set some coordinates for the shape to be at 13:30 * kanzure finds link 13:30 < genehacker_vista> what's all this topolgy transformation for 13:30 < genehacker_vista> what exactly are you doing? 13:30 < kanzure> http://github.com/kanzure/skdb/blob/490a84d446896564d007ea2c149347bfd44a4b4e/pymates/pymates.py 13:30 < kanzure> genehacker_vista: automatic part mating 13:30 < genehacker_vista> oh 13:30 < fenn> genehacker_vista: playing with virtual legos 13:30 < genehacker_vista> awesome 13:31 < kanzure> so I was doing this: 13:31 < kanzure> OCC.Display.wxSamplesGui.display.Context.SetLocation(part.ais_shapes, the_toploc) 13:31 < kanzure> which set the location of the shape in the display 13:31 < genehacker_vista> can you make any gear though 13:31 < kanzure> fenn: should I not move the shape itself? 13:31 < genehacker_vista> if you can figure out mating that should be trivial 13:32 < genehacker_vista> just mating of rotating parts 13:32 < kanzure> so when you move an object in a CAD file, what feels more natural: 13:32 < kanzure> the object is no longer at the origin (0,0,0) ? 13:32 < kanzure> or the object is at (0,0,0), and there's a global displacement vector or something 13:33 < kanzure> or some transformation matrix, I mean 13:33 < fenn> i like the Transformation.Shape() 13:33 < genehacker_vista> what program are you using? 13:33 < fenn> because you could have different transforms stored for the same object that way 13:33 < kanzure> genehacker_vista: making my own program 13:33 < fenn> like assembly vs exploded view 13:33 < kanzure> okay 13:33 < genehacker_vista> and can you smart dimenion in it? 13:33 < genehacker_vista> if yes then send me that program 13:33 < kanzure> this is skdb, genehacker_vista 13:33 < kanzure> yes, opencascade does parametric dimensioning 13:34 < fenn> what is "smart dimensioning"? 13:34 < kanzure> maybe it's like Microsoft Visual Studio "IntelliSense" 13:34 < fenn> yeah i figured 13:34 < fenn> but what does it actually refer to 13:35 < fenn> sounds like solidworks BS 13:36 < ybit> Scale-Space Representations and their Applications to 3D Matching of 13:36 < ybit> Solid Models 13:36 < fenn> solidworks isnt exactly known for being highly parametric 13:36 < ybit> cool 13:36 < kanzure> "# smart dimensioning knows how to dimension lines and circles differently; when dimensioning between two lines, you can toggle between the distance and the angle. Double-click to change dimension text to a formula; dimensions can be driven by formulas linked from Excel." 13:36 < kanzure> haha 13:37 < fenn> where's that from? 13:37 < kanzure> http://74.125.155.132/search?q=cache:hJP6-0r-TZAJ:www.upfrontezine.com/2006/upf-486.htm+%22smart+dimensioning%22+solidworks&cd=26&hl=en&ct=clnk&gl=us&client=iceweasel-a 13:37 < kanzure> http://www.upfrontezine.com/2006/upf-486.htm 13:38 < kanzure> sounds like it's just a wrapper for dimensioning 13:52 < genehacker_vista> are you guys making a highly parametric cad system? 13:52 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has quit [] 13:53 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has joined #hplusroadmap 13:53 < genehacker_vista> if you're making a highly parametric cad system 13:53 < genehacker_vista> ur doin it right 13:54 < kanzure> gp_Ax3 seems to be a local coordinate system http://www.opencascade.org/org/forum/thread_766/ 13:55 < kanzure> oh you can grab gp_Ax3 from your cylinder object 13:55 < kanzure> if (aSurface.GetType() == GeomAbs_Cylinder){ 13:55 < kanzure> gp_Cylinder myCylinder = aSurface.Cylinder(); 13:55 < kanzure> gp_Ax3 myAxis = myCylinder.Position(); 13:55 < kanzure> gp_Dir theDirect = myAxis.Direction(); 13:55 < kanzure> http://www.opencascade.org/org/forum/thread_5410/ 13:57 < kanzure> what happened to OCC.ShapePlacement? 13:57 < kanzure> hm there's also ShapeInterface 13:58 < kanzure> well there used to be at least 13:59 < fenn> i guess this explains the Standard_Int stuff? http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classPrecision.html 14:00 < kanzure> weird way to go about it 14:00 < kanzure> they should just not allow the == operator to begin with 14:00 < kanzure> and just throw an exception 14:00 < kanzure> or a compiler error, I mean 14:00 < fenn> i would just overload == 14:01 < kanzure> what's with the terrible formatting on this page 14:01 < kanzure> someone failed
101 14:03 < kanzure> the explanation of SetTransformation on this page actually makes sense: http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classgp__Trsf.html 14:04 < kanzure> I'm not sure though what the example use of SetDisplacement should be 14:16 < fenn> i think Ax3 is just translation and rotation; i.e. a subset of affine transforms 14:27 < kanzure> in /usr/lib/python2.5/site-packages/OCC/gp.py there's a line that says import _gp 14:28 < kanzure> where do I go find _gp? 14:28 < kanzure> it's not in that same directory 14:28 < kanzure> I'm trying to figure out if gp_Pnt.Coord() is implemented or not 14:29 < kanzure> the file documents it as something totally different from the SWIG error 14:29 < kanzure> Coord(self, Standard_Real OutValue, Standard_Real OutValue) 14:29 < kanzure> where as I get this error: return _gp.gp_Pnt_Coord(*args) 14:29 < kanzure> NotImplementedError: Wrong number of arguments for overloaded function 'gp_Pnt_Coord'. 14:29 < kanzure> Possible C/C++ prototypes are: 14:29 < kanzure> Coord(gp_Pnt const *,Standard_Integer const) 14:29 < kanzure> Coord(gp_Pnt const *,Standard_Real &,Standard_Real &,Standard_Real &) 14:29 < kanzure> Coord(gp_Pnt const *) 14:39 < kanzure> well that was a waste of time 14:39 < kanzure> there's no way to get a Standard_Real int, or at least easily 14:39 < kanzure> you can try this though: XYZ = OCC.gp.gp_XYZ() 14:40 < kanzure> XYZ._SBDERC_Setgp_XYZx = 10 14:40 < kanzure> XYZ._SBDERC_Setgp_XYZy = 0.1 14:40 < kanzure> XYZ._SBDERC_Setgp_XYZz = 2 14:40 < kanzure> XYZ._SBDERC_Getgp_XYZx then will return the Standard_Real I think 14:41 < kanzure> er, nope. that just returns a float. 14:41 < kanzure> there's no OCC.Standard.Standard_Real either 14:44 < kanzure> aha.. all numbers must be floats when you pass them into anything in OCC 14:44 < kanzure> so do something like XYZ = OCC.gp.gp_XYZ(1.,2.,3.) to get something going 14:46 < kanzure> kind of lame that this breaks some of the dynamic typing 14:47 < fenn> ints work fine for me 14:47 < fenn> i mean, no decimal points 14:47 < fenn> might be a python version thing 14:47 < fenn> (2.6 here) 14:49 < fenn> foo = gp_XYZ(1,2,3) 14:49 < fenn> foo.Coord() 14:49 < fenn> (1.0, 2.0, 3.0) 14:50 < kanzure> gp_XYZ is not gp_Pnt 14:50 < kanzure> get a gp_Pnt's Coord() to work when passing it three variables (X2, Y2, Z2) 14:51 < fenn> that's not very pythonic 14:51 < kanzure> it doesn't even work 14:51 < kanzure> and I'm still trying to understand the documentation 14:51 < kanzure> so I'm doing as you suggested ... running it 14:51 < fenn> good, i hate that kind of code 14:51 < kanzure> but it doesn't even run 14:51 < kanzure> so what now 14:51 < fenn> running what? 14:51 < kanzure> the code that exemplifies SetTransformation for gp_Trsf 14:51 < kanzure> http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classgp__Trsf.html 14:52 < kanzure> remember? calling Coord(X2,Y2,Z2) of some gp_Pnt object? 14:52 < fenn> yes 14:53 < kanzure> so yeah, that doesn't work 14:53 < fenn> how bout just P2.Coord() 14:53 < kanzure> that's not what the example says 14:53 < fenn> sfw 14:53 < kanzure> well how do I know what the example is telling me 14:53 < kanzure> if I am unable to run it? 14:54 < fenn> the example is also written in C++, so are you going to put semicolons all over your python code? 14:54 < kanzure> why would I do that? 14:54 < fenn> because the example says so!!~ 14:55 < kanzure> your analogy is flawed 14:55 < fenn> well, does P2.Coord() work or not? 14:55 < kanzure> yes it does 14:55 < kanzure> btu it's just P1.Transformed(T) 14:55 < fenn> ok so shut up and get back to work :P 14:55 < kanzure> has nothing to do with X2,Y2,Z2 14:55 < fenn> yeah that's the whole point 14:55 < kanzure> um? 14:55 < kanzure> but then why did the example define it 14:55 < kanzure> define *them 14:55 < kanzure> and why did the example pass them to P2.Coord() ?? 14:56 < fenn> because variables are precious and we must reuse them at all costs 14:57 < fenn> they probably smoked too much crack that day or something 14:57 < fenn> P2.Coord (x2, y2, z2); is valid in C++ 14:57 < fenn> it's not very pythonic so it's not in the pythonOCC API (i guess) 14:58 < kanzure> I don't think SWIG selectively removes overloaded methods 14:58 < kanzure> or overloads that it dislikes 15:04 < kanzure> "For this point gives its three coordinates Xp, Yp and Zp. " 15:04 < kanzure> http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classgp__Pnt.html 15:06 < kanzure> that's not even valid english 15:06 < kanzure> how was I supposed to know that it assigns the pointcoords to those three variables? 15:07 < kanzure> so anyway that was all because of the example to SetTransformation for gp_Trsf 15:07 < fenn> i highly recommend everyone to ignore all that. too bad i can't say that an hour ago and spare myself the grief 15:08 < kanzure> it looks like mostly anything in OCC.gp.gp_* has a Transformed method 15:08 < kanzure> (which you pass your gp_Trsf to) 15:16 < CIA-73> skdb: kanzure * rc05742ebece2 /pymates/notes: monday meeting notes 15:16 < CIA-73> skdb: kanzure * r52440365d8ed /pymates/pymates.py: might have found something interesting in the OpenCASCADE API 15:16 < CIA-73> skdb: kanzure * re031d8145604 /pymates/pymates.py: using a better way of doing transformations 15:29 < kanzure> hah! my dorm internet connection is still active. 15:31 < kanzure> "Moving on 31-July. I'd like to see the report. I think we're open to anything for the repository as long as it maintains all of the current information types and has the ability to add new as needed. I'm around the office this week but will be somewhat scarce next week. 15:31 < kanzure> " - Rob Stone. 15:31 < fenn> pretty cool document; from trees to finished product: http://www.fao.org/docrep/009/ag335e/AG335E00.htm#TOC 15:31 < fenn> i've been looking at the "secondary machining operations" section 15:32 < kanzure> nice flow graphs 15:32 < kanzure> http://www.fao.org/docrep/009/ag335e/AG335E09.htm#ch8.2.2 15:32 < fenn> notice how they're all sequential (i.e. a string, not a graph) 15:33 < fenn> so we have to tell rob stone how to fix everything in one week? 15:36 < ybit> is pythonocc really that large? i've been make installing for hours 15:36 < fenn> no 15:36 < ybit> hmm 15:36 < ybit> maybe my comp is under much stress 15:36 < fenn> oh you mean opencascade? 15:36 < ybit> no 15:37 < ybit> though it may be recompiling occ 15:37 < fenn> the only things in pythonocc are in src/OCC/ build/OCC/ Utils/ and src/Display 15:37 < fenn> 'make install' just stuffs it all in one dir and puts in site-packages or whatever your python install wants 15:38 < ybit> i used "python setup.py install" 15:38 < fenn> i didnt have any luck with either that or scons mode=install 15:39 < ybit> guess i'll let it finish before try anything manual 15:39 < fenn> if it finishes 15:40 < ybit> i'm not too concerned, occ isn't the main todo for today 15:45 < fenn> "The band saw is widely regarded as among the safest of all woodworking machinery" 15:46 < fenn> i guess if your idea of woodworking machinery is "moving blades you shove your hands into" 15:52 < ybit> is citation explorer not working for anyone else? 15:53 < ybit> firefox 3.0.11 here 15:54 < kanzure> ybit: did you try scons with fenn's notes? 15:55 < kanzure> fenn: maybe we just show him what we're working on, and say that "this is a better idea, it does the same thing, and then some" 15:57 < fenn> i dont know what you're talking about 16:02 < kanzure> rob 16:02 < CIA-73> skdb: kanzure * r8393ef728a06 /pymates/ (mate.py pymates.py): working towards better classes for pymates 16:03 < fenn> people generally take a bit more convincing than that (which you should know by now) 16:03 < CIA-73> skdb: kanzure * re51c2f20727a /pymates/ (models/peg.yaml rapid-test.py): some danglers that need to be committed 16:04 < kanzure> fenn: what about the technobabble approach? if they want to know what yaml, django, python, OCC, pythonOCC really is, and if they ask, then we tell them, 16:04 < kanzure> but if they honestly don't want to know, then they should trust what we're doing 16:07 < ybit> kanzure: haven't tried scons, might try that if if setup.py is still doing whatever it's doing now tonight 17:08 < kanzure> "we're early adopters for a system that doesn't exist yet" 17:12 < genehacker_vista> how's your cad software coming along? 17:12 < kanzure> skdb? 17:12 < kanzure> it's coming along fine 17:13 < kanzure> I demoed it at the lab meeting this morning 17:13 < kanzure> (in particular I demoed pymates) 17:13 < genehacker_vista> can you extrude from sketch? 17:13 < genehacker_vista> so how could I plot a curve in it? 17:13 < kanzure> skdb uses pythonOCC which are python bindings to OpenCASCADE 17:13 < kanzure> HeeksCAD uses bindings to OpenCASCADE 17:13 < kanzure> you can extrude from a sketch in HeeksCAD 17:14 < kanzure> you can also plot a curve in HeeksCAD (with HeeksPython) 17:14 < kanzure> and then you can export from HeeksCAD to some file format 17:14 < kanzure> which skdb can load up 17:14 < genehacker_vista> let me guess it's text based 17:14 < kanzure> (because skdb is using OpenCASCADE) 17:14 < kanzure> no 17:14 < kanzure> did you see the screenshots? 17:14 < genehacker_vista> really? 17:14 < genehacker_vista> no 17:14 < genehacker_vista> I did not 17:14 < genehacker_vista> your thing? 17:14 < kanzure> http://adl.serveftp.org/2009-07-18_bryan_fails_at_matrix_math.png 17:15 < kanzure> also this one 17:15 < kanzure> http://adl.serveftp.org/lab/2009-07-19_pymates.png 17:15 < genehacker_vista> text based as in doesn't have a gui 17:15 < kanzure> it does have a GUI 17:15 < bkero> ... 17:15 < bkero> pikachu? 17:15 < kanzure> bkero: yeah i'm a pokemon master 17:15 < bkero> kanzure: I challenge you to a duel. 17:16 < kanzure> gotta catch 'em all 17:16 < ybit> ah finally through with compilation 17:16 < kanzure> my level 100 mewto will beat the shit out of you 17:16 < genehacker_vista> how do you make stuff in it? 17:16 < bkero> My level 101 Missingno will ruin you. 17:16 < kanzure> genehacker_vista: you make stuff in HeeksCAD or some other CAD app for now 17:16 < kanzure> genehacker_vista: and then this will assemble the parts, tell you how to make it, whether they are compatible, etc. 17:16 < ybit> not sure what was taking long earlier but it was installed successfully in ~1min 17:18 < genehacker_vista> who 17:18 < genehacker_vista> wow 17:19 < genehacker_vista> what happens when you have legos that can interlock in many configurations? 17:19 < kanzure> well by the end of the week 17:19 < kanzure> it should just find all of those possibilities 17:19 < kanzure> my idea is to first try just showing this gallery or something 17:19 < kanzure> and then you can arrow through it 17:19 < kanzure> to show the different possible assemblies/mates 17:19 < kanzure> materies 17:20 < genehacker_vista> all the possibilities? 17:20 < kanzure> yes if you have a peg and two holes, the possibilities are a peg in one hole and the other possibility is the peg in the other hole 17:20 < genehacker_vista> why not have the human who design the part specify how the part fits together? 17:20 < kanzure> fits together with what? 17:20 < genehacker_vista> with the other parts 17:21 < kanzure> but that's the beauty of an interface 17:21 < kanzure> you don't have to do that 17:21 < kanzure> that's what the industrial revolution was supposed to be about 17:21 < kanzure> you just say "it's usb" 17:21 < kanzure> and then any usb device works with it basically 17:21 < kanzure> or at least plugs in 17:21 < kanzure> (whether or not it functions correctly is going to take a lot more programming) 17:21 < genehacker_vista> the problem is when you have multiple parts that aren't supposed to interlock 17:22 < kanzure> yeah that's why geometrical specificity is neat 17:22 < kanzure> if it's not meant to go there, don't make it look like that 17:22 < genehacker_vista> is this just to figure out if two parts fit so the program can choose the best fitting part 17:22 < kanzure> but the functional specification stuff comes later 17:22 < kanzure> right now I'm just doing geometry 17:22 < kanzure> no, 17:22 < genehacker_vista> what if I'm designing modular robots? 17:22 < kanzure> think of it more like "does this make sense or not?" 17:23 < genehacker_vista> ok 17:23 < kanzure> for instance, does a 2 mm diameter shaft fit in a 1 mm diameter hole? 17:23 < kanzure> if not, it's not compatible 17:23 < kanzure> this just checks compatibility 17:23 < kanzure> compatibility isn't necessarily the full story though right 17:23 < genehacker_vista> you might want to add in some does this look right code, for checking if the program hasn't put the thing together wrong 17:23 < fenn> it is, actually, you're just not doing enough dimensions 17:24 < genehacker_vista> IE test if the structure is unstable 17:24 < genehacker_vista> or what not 17:24 < fenn> simulation testing, sure 17:24 < kanzure> but that comes later :) 17:24 < genehacker_vista> though from my experience with simulation testing 17:24 < kanzure> let me struggle with the matrix math first 17:24 < fenn> too much work for not a lot of gain 17:24 < genehacker_vista> IT TAKES A DAMN LONG TIME 17:24 < kanzure> yer doin it wrong 17:24 < fenn> that's why you dont do it until the end 17:24 < fenn> and we'd probably do a low rez version anyway 17:25 < genehacker_vista> if your doing weird nonlinear hyperelastic deformation.... 17:25 < kanzure> genehacker_vista: right now the "interfaces" or "ports" aren't rigid and they aren't elastic 17:25 < genehacker_vista> and you don't need automatically designed rubbery stuff now do you? 17:25 < kanzure> but later (maybe you?) will want to define that 17:25 < kanzure> that's the beauty of the YAML file 17:25 < kanzure> it's a really simple spec 17:25 < kanzure> lemme show you 17:26 < kanzure> er, somebody needs to update /var/www/skdb/ on adl 17:26 < kanzure> genehacker_vista: here is the spec 17:26 < kanzure> http://github.com/kanzure/skdb/tree/e51c2f20727ab3a0d7f060b6af8b09db4e6c7cbf/pymates/models 17:26 < kanzure> see blockhole.yaml 17:26 < kanzure> and peg.yaml 17:26 < kanzure> and then you see the CAD files right? 17:27 < ybit> kanzure, fenn: either of you have pythonOCC API documentation? http://www.pythonocc.org/ is down so APIREF-wo0.2.zip is unavailable 17:27 < kanzure> it's useless 17:27 < kanzure> just use the OCC docs 17:27 < kanzure> ybit: http://adl.serveftp.org/lab/opencascade/ 17:27 < kanzure> the OCC docs aren't much better either >:( 17:27 < fenn> ybit: also bpython or InteractiveInerpreter.py might be useful 17:27 < genehacker_vista> kanzure what about screws 17:28 < kanzure> genehacker_vista: what about them? 17:28 < genehacker_vista> how does your program know which way they are supposed to face? 17:28 < ybit> fenn: InteractiveInterpreter.py == ipython? 17:28 < fenn> ybit: it's in pythonOCC/Tools/ 17:28 < kanzure> genehacker_vista: there's a unit vector that points in the direction that they should "mate" 17:28 < ybit> ah 17:28 < genehacker_vista> how does it figure that out 17:28 < kanzure> ybit: there's also skdb/shell.py and skdb/pymates/shell.sh (the second one uses ipython) 17:28 < kanzure> genehacker_vista: somebody puts that in the screw definition 17:28 < kanzure> genehacker_vista: and then you download a screw 17:29 < kanzure> the code I'm writing today/tonight checks that unit vector 17:29 < genehacker_vista> IE I have a a table, should the long part of the screw be facing in facing the table or not? 17:29 < kanzure> and aligns them for two parts that are supposed to be mating 17:29 < genehacker_vista> it should be facing into the table 17:30 < kanzure> well I don't know about a table 17:30 < kanzure> how about a bolt and a hole 17:30 < kanzure> the bolt should mate with the hole 17:30 < kanzure> on a table I don't know where to put the screw 17:30 < kanzure> but a bolt clearly goes into a hole, right? 17:30 < genehacker_vista> yeah but how does it decide when there are 2 ways a bolt can go into a hole? 17:31 < genehacker_vista> still I see the use of it 17:31 < kanzure> both of them are possibilities. but get this 17:31 < kanzure> suppose you have a bigger model or something 17:31 < kanzure> and the bolt and a hole/washer are just one part 17:31 < kanzure> if you stick the bolt in one way, 17:31 < kanzure> it intersects with the geometry of the other parts (i.e. solid metal of a giant brick) 17:31 < kanzure> but if you do it the other way, the bolt's head is facing outwards 17:31 < kanzure> so it chooses the one that intersects the least 17:31 < kanzure> or "is the most compatible" 17:31 < genehacker_vista> what if it doesn't interesect both ways? 17:32 < genehacker_vista> hmmm... 17:32 < kanzure> well then they are both valid options.. but why would you have that? :) 17:32 < genehacker_vista> why wouldn't you? 17:32 < kanzure> er, you're talking about flipping a washer upside down? 17:32 < kanzure> because it doesn't matter which side is the top and bottom 17:33 < kanzure> er 17:33 < genehacker_vista> the crew head can be one side of the hole or the other 17:33 < kanzure> what I'm trying to say is that a bolt that intersects a solid chunk of metal is going to be rated as not compatible 17:33 -!- xp_prg [n=xp_prg3@99.2.31.217] has joined #hplusroadmap 17:33 < genehacker_vista> ---|) or (|--- 17:34 < kanzure> if the work piece is 8 ft thick, 17:34 < kanzure> only one of those will work 17:34 < genehacker_vista> so why don't you figure in insertion of bolts 17:34 < kanzure> dunno what you're saying 17:35 < genehacker_vista> after all one configuration might be harder to assemble 17:35 < genehacker_vista> IE reaching under the table 17:35 < kanzure> that's true, but that could be scored later 17:35 < kanzure> there's a way to "score" an assembly as being hard or easy 17:35 < kanzure> and then you obviously take the easy ones if you want easy 17:35 < genehacker_vista> REALLY? 17:35 < kanzure> yeah 17:35 < kanzure> that's what someone is doing in the Automated Design Lab 17:36 < genehacker_vista> ok then problem solved 17:36 < kanzure> but for disassemblies 17:36 < kanzure> (i.e., which way to take it apart) 17:36 < genehacker_vista> good enough 17:36 < genehacker_vista> I guess you could have bolt head on outer surface 17:37 < fenn> graphviz really ought to have a geometry kernel 17:37 < fenn> since it's mechanical engineering and all 17:37 < genehacker_vista> that's another way to settle things 17:37 < fenn> how can you do disassembly without geometry code? 17:37 < kanzure> remember david agu's work? 17:37 < kanzure> he came up with this shitty way of defining constraints on removing things 17:38 < fenn> yeah, i'm just blabbering 17:38 < genehacker_vista> anyway what sort of matrix math are you doing? 17:38 < fenn> the easy kind 17:38 < kanzure> grammars are a really terrible way of doing things because you force the grammar-rule-author to try to force his ideas into the grammar rule format.. which isn't necessarily optimal for the problem domain. 17:38 < genehacker_vista> how is a mate determined? 17:38 < fenn> yeah the "rule" format doesn't really allow for functions with parameters 17:39 < kanzure> genehacker_vista: look at this: http://github.com/kanzure/skdb/blob/e51c2f20727ab3a0d7f060b6af8b09db4e6c7cbf/pymates/models/blockhole.yaml 17:39 < kanzure> genehacker_vista: do you see the part in blue that says "!interface" ? that means that the hole is an interface 17:41 < kanzure> so right now it's very basic for testing purposes, 17:41 < kanzure> it's just a string ("circle") and if it matches it matches.. 17:41 < kanzure> but before even that, 17:41 < kanzure> I'm going to do some different algorithms like collision detection 17:41 < kanzure> and volume displacement 17:41 < fenn> shouldnt there be a list "interfaces" of which "hole" is a member? 17:41 < kanzure> to determine whether or not anything is intersecting 17:41 < genehacker_vista> ok 17:41 < kanzure> fenn: no, that's generated at runtime 17:41 < fenn> why? 17:41 < kanzure> fenn: because eventually we don't want "block: !part" 17:42 < kanzure> we'll want "sterling: !engine" 17:42 < genehacker_vista> how do you determine what the negative of cylinder looks like? 17:42 < genehacker_vista> just interested 17:42 < fenn> what if you have five different holes? 17:42 < kanzure> genehacker_vista: oh that just means that you cut a cylinder out of the block 17:42 < kanzure> genehacker_vista: fenn was being picky about what I called it 17:42 < genehacker_vista> you're cutting out a hole? 17:42 < fenn> well you wrote 'circle' anyway it seems 17:43 < kanzure> fenn: do you see why it would be useful to be able to overwrite the "generic" hole interface for a sterling-engine? 17:43 < genehacker_vista> how do you determine the hole is the right size? 17:43 < kanzure> genehacker_vista: collision detection 17:43 < kanzure> but right now I don't do that, I should have that done by the end of the week 17:43 < fenn> kanzure: there's no class inheritance from yaml data 17:43 < kanzure> also volume interference difference metric stuff 17:43 < genehacker_vista> brute force? or somet algorithm that looks at the shape of the hole and the shape of the peg? 17:44 < genehacker_vista> if difference between matrices = zero then peg goes there? 17:45 < kanzure> meh not really 17:45 < genehacker_vista> why? 17:45 < genehacker_vista> wouldn't that be more optimal? 17:46 < kanzure> I don't know how to do that 17:46 < genehacker_vista> what? 17:46 < kanzure> class MySterlingEngine(SterlingEngine): 17:47 < genehacker_vista> program looks for parts labelled circle with the same or large radius as the circular part of the peg's 17:48 < genehacker_vista> hmmm... 17:49 < kanzure> the reason why I do not have a list of interfaces in the file is because that is generated at runtime 17:49 < kanzure> i.e., every attribute that is of type 'interface' is added to the list called "interfaces" 17:49 < genehacker_vista> ok 17:49 < kanzure> sorry that was for fenn :p 17:49 < fenn> but why not just write the list in yaml with entries tagged !interface 17:50 < kanzure> because it's lame to type 17:50 < kanzure> interfaces: 17:50 < kanzure> hole: !interface 17:50 < genehacker_vista> !interface is not the part that interfaces? 17:50 < fenn> you actually type less because there's no name (necessarily) 17:50 < fenn> - !interface 17:50 < kanzure> why wouldn't you name it? 17:50 < fenn> geometry: foo 17:50 < fenn> name: hole 17:50 < kanzure> having a name tag is lame 17:51 < kanzure> er, name line 17:51 < kanzure> name attribute 17:51 < kanzure> there we go 17:51 < fenn> a mapping key is only useful if it's the same every time 17:51 < kanzure> we can just sniff for the tag 17:51 < kanzure> it's not a big deal 17:51 < kanzure> it already works, fenn 17:51 < fenn> if your key is hole1234: how are you going to know what the key is 17:51 < kanzure> we already went over this 17:52 < fenn> but you dont have to sniff for the tag 17:52 < kanzure> but I already am 17:52 < kanzure> and it works 17:52 < fenn> you only have one interface 17:52 < kanzure> so? 17:52 < fenn> that's barely testing even one edge case 17:52 < fenn> what if you have zero interfaces? 17:52 < fenn> or a variable number? 17:52 < kanzure> what about "what if you.." are you asking? 17:52 < genehacker_vista> what happens why I have multiple of the same part? 17:53 < fenn> (those are examples of edge cases) 17:53 < kanzure> edge cases to.. what? 17:53 < kanzure> what are you expecting to break? 17:53 < genehacker_vista> why change to when 17:53 < fenn> your code :P 17:53 < kanzure> .. 17:53 < fenn> i'm expecting whatever code does stuff with interfaces to break when it doesnt know what the interfaces are called 17:53 < kanzure> but it does know what the interfaces are called 17:54 < kanzure> it just looks in the interfaces list 17:54 < genehacker_vista> hmmmm... I think I have some parts that could crash your code 17:54 < fenn> but THERE IS NO INTERFACES LIST 17:54 < kanzure> yes there is :) 17:54 < kanzure> bwahah 17:54 < kanzure> http://github.com/kanzure/skdb/blob/e51c2f20727ab3a0d7f060b6af8b09db4e6c7cbf/pymates/pymates.py 17:55 < kanzure> line 64 17:55 < kanzure> line 73 17:56 < kanzure> line 69 too 17:58 < ybit> def __setstate__(self, attrs): 17:58 < ybit> 73 self.interfaces[k] = v 17:58 < ybit> 69 v.name = k 18:01 < kanzure> thanks ybit :p 18:02 < ybit> it's what i do :) 18:02 < kanzure> every interface should have a name 18:03 < kanzure> I'm prepared to enforce this. :p 18:05 < kanzure> todo: pymates without OCC requirements 18:05 < drazak> I think I put a half microlitre bovine serum into our diluted dna 18:05 < drazak> :S 18:05 < kanzure> litre eh 18:05 < kanzure> european elitist.. 18:06 < drazak> well, it was diluted into 100 microlitres 18:06 < drazak> it's just easiest to type 18:06 < drazak> tre is in a row, ter isn't 18:06 < kanzure> t,e,r are both on the same row 18:07 < CIA-73> skdb: fenn * re0bfe2033682 /pymates/ (models/blockhole.yaml models/peg.yaml pymates.py): put interfaces in a list instead of random mapping nodes, remove unnecessary yaml hack 18:07 < drazak> they're right next to eachother sequentually from right to left 18:07 < fenn> ok please test and see if it actually works 18:07 < drazak> so I don't have to do a double more 18:07 < drazak> s/more/move/ 18:07 < kanzure> I refuse to be your guinnea pig! 18:09 < kanzure> line 120 faisl 18:09 < kanzure> fails 18:10 < CIA-73> skdb: fenn * r255bc7e4db39 /pymates/models/blockhole.yaml: typo 18:10 < kanzure> er, because of the typo I guess 18:11 < fenn> does part.interfaces ever actually get used? 18:12 < fenn> nevermind i see it 18:13 < fenn> i guess you could build a dict which just has keys as the names of the interfaces 18:13 < CIA-73> skdb: kanzure * rda5637bfc43a /pymates/ (mate.py pymates.py): make fenn's changes not break everything 18:15 < fenn> looking better already :) 18:16 < kanzure> is there a cruft-o-vision mode for diff? 18:16 < kanzure> something that will highlight code with colors indicating how old the code is 18:16 < kanzure> compared to other code or something 18:16 < kanzure> so newly committed stuff is brighter or something 18:16 < fenn> hmm.. cvs had something called 'annotated view' 18:16 < kanzure> or maybe that should be the other way around 18:17 < fenn> "With the command cvs annotate, CVS offers the possibility to see - for each line in a file - who has modified a line the most recently. This view may be helpful in order to find out who has introduced a change in the behavior of a program or who should be asked about some change or bug in the code. " 18:17 < kanzure> github has a "blame" page which displays the output of git-blame but in color 18:18 * fenn fires up the pig 18:18 < kanzure> http://github.com/kanzure/skdb/blame/e51c2f20727ab3a0d7f060b6af8b09db4e6c7cbf/pymates/pymates.py 18:18 < kanzure> what they need are some lines on the side indicating which one was related to which other commit 18:19 < kanzure> for instance if something was committed twice but the first one was more important, t 18:19 < kanzure> then it should show a line to the other place in the file that was updated at the same time 18:19 < kanzure> or something 18:19 < fenn> i'd like to see a 'number of other functions would break if you modify this line' 18:19 < fenn> but then you'd need complete code coverage 18:19 < kanzure> just run your unit tests 18:20 < fenn> but the computer should be able to do that 18:21 -!- genehacker [n=noko@cpe-67-9-157-136.austin.res.rr.com] has joined #hplusroadmap 18:21 < CIA-73> skdb: kanzure * rdcc47d7da403 /pymates/ (assembly.py mate.py pymates.py): rename mate->assembly 18:24 -!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] 18:42 < ybit> it was DRAWEXE i was looking for earlier 18:43 < ybit> was in /usr/local/bin 18:47 < kanzure> can someone remind me why I'm doing part mating and compatibility 18:48 < ybit> because you plan on including it in skdb 18:48 < ybit> and i'm guessing fenn is too 18:50 < ybit> something infrastructure and advancing h+ 18:50 < ybit> +about 19:00 < kanzure> sounds kinda vague 19:00 < ybit> and your point? 19:01 < kanzure> does anyone know why I am doing this? 19:01 < ybit> what are you getting @ eactly? 19:02 < kanzure> that I forgot why I'm doing this 19:02 < ybit> you never plainly said why 19:02 < ybit> you just kind of started 19:02 < ybit> probably due to something you read in a paper 19:02 < kanzure> nope, not that 19:03 < ybit> argh, git add . shouldn't take this long 19:22 * ybit wants a central repo for all cad files 19:22 < kanzure> welcome to skdb 19:23 < kanzure> why are you not committing yet? 19:23 < kanzure> don't you have an account on the server? 19:23 < ybit> yeah 19:23 < kanzure> so you don't love me anymore :( 19:23 < ybit> :P 19:23 < kanzure> ok I figured it out 19:23 < kanzure> I was doing it so that I could search for compatible parts 19:23 < kanzure> "oh I seem to have this. now what?" 19:23 < ybit> i'm getting there, patience young padawan 19:24 < ybit> i've just now cut my hours in half so i can get to it 19:24 < ybit> i'm working on a few other thingies right now 19:26 < ybit> wasn't there an entre repo of iges cad files some gov agency is holding? 19:26 < ybit> s/an entre/a 19:26 * ybit greps 19:27 < kanzure> yes 19:27 < kanzure> dexler 19:27 < ybit> drexler* 19:28 < ybit> i prefer the skdb name to tangible bit 19:28 < ybit> in acronym form, it's shorter which is great for subdomains :) 19:29 < ybit> and "societal engineering knowledge database" gets to the point of what it actually is 19:29 < kanzure> nobody understands it anyway 19:30 < QuantumG> translate it to russian before you make the acronym 19:30 < ybit> free hardware package management system, what's not to know 19:30 < kanzure> that's a better name for it 19:30 < ybit> Phreedom, you're needed 19:30 < ybit> Phreedom is sleeping 19:30 < kanzure> "fhpack" for free hardware pack? 19:30 < Phreedom> ybit: eh? 19:30 < kanzure> what's up? 19:30 < drazak> got to use some nice restriction enzymes today 19:30 < QuantumG> I was actually thinking the other day that a package management system for cooking would be more fun 19:31 < Phreedom> not yet sleeping 19:31 < drazak> did some work with embilical cord stem cells 19:31 * ybit didn't mean to wake you up Phreedom :P 19:31 < drazak> HUVECS 19:31 < kanzure> QuantumG: that's what this includes though 19:33 < Phreedom> ybit: what did you want me to do? I'm really going to fall asleep and nobody would wake me up 19:33 < ybit> Phreedom: 19:26 < ybit> i prefer the skdb name to tangible bit 19:33 < ybit> 19:26 < ybit> in acronym form, it's shorter which is great for subdomains :) 19:33 < ybit> 19:26 < ybit> and "societal engineering knowledge database" gets to the point of what it actually is 19:33 < ybit> 19:27 < kanzure> nobody understands it anyway 19:33 < ybit> 19:27 < QuantumG> translate it to russian before you make the acronym 19:34 < ybit> 19:27 < ybit> Phreedom, you're needed 19:34 < kanzure> http://en.wikipedia.org/wiki/Methadone 19:34 < Phreedom> so you're asking if the acronym translated to russian sounds like some curse word? 19:34 < ybit> probably 19:35 < Phreedom> unf in russian everything can be made to resemble a curse word if you try hard enough 19:35 < Phreedom> but it doesn't evoke any direct associations which is good enough IMO 19:35 < ybit> okay you sleep now ;) 19:36 < ybit> +can 19:36 < Phreedom> I didn't really ask for a permission :P 19:36 < ybit> just in case :) 19:36 < fenn> ybit: you were asking about some giant gov repository: http://edge.cs.drexel.edu/repository/data/repository/ 19:37 < fenn> "national design repository" 19:37 < ybit> ah,right, this is where lego came into play 19:37 < ybit> iirc 19:37 * Phreedom too went straight to lego :) 19:37 < drazak> anyone know any shit about the 293FT cell line? 19:38 < Phreedom> ybit: too many kids in this channel I guess :) 19:38 < kanzure> "In an historic move, Microsoft Monday submitted driver source code for inclusion in the Linux kernel under a GPLv2 license. The code consists of four drivers that are part of a technology called Linux Device Driver for Virtualization." 19:38 < Phreedom> old news 19:38 < Phreedom> and no it's not very useful :) 19:38 < Phreedom> but it's only a matter of time util they bend over 19:38 < Phreedom> *until 19:53 < kanzure> fenn: todo: think about improving sproutwards or something. 19:53 < kanzure> maybe a djangit plugin for keeping track of incoming inventory to HQ 19:53 < kanzure> jata is going to buying a lot of stuff, but we need to keep track of it 19:54 < kanzure> she's officially "the retrieval man" (she even gets a cape) 19:54 < kanzure> maybe USPS number tracking 19:54 < kanzure> and a bug/feature tracker in general that she can browse through to kick out particular items or something 19:54 < kanzure> it's hard to figure out what to buy versus what to build 19:55 < kanzure> I think though that SU8+PDMS photolithography setups would be worth buying (since it's not a single commodity package- we just need to buy the materials and go find some bins) 20:13 < fenn> what is sproutwards supposed to do? 20:13 < kanzure> fablab management. it's based off of the original nublabs codebase. 20:15 < fenn> good for warding off sprouts 20:16 < kanzure> maybe org-mode could help me 20:18 < kanzure> fenn: where's that electronics inventory for IU? 20:20 * fenn twiddles his thumbs 20:20 < kanzure> you're not twiddling, damn it 20:21 < ybit> twiddle harder! 20:21 < kanzure> damn right he should twiddle harder 20:21 < fenn> http://fennetic.net/roboclub/wishlist 20:22 < kanzure> commit to skdb? 20:22 < fenn> sure 20:22 < fenn> want me to do it? 20:22 < kanzure> yes 20:25 < fenn> i came up with a yaml format for receipts (you may have seen me entering some) 20:26 < fenn> there's not much difference between a wishlist and a receipt 20:27 < fenn> i dont think this list is really complete enough to just say 'have at it' 20:28 -!- wrldpc2 [n=benny@pool-173-48-253-182.bstnma.fios.verizon.net] has joined #hplusroadmap 20:34 < fenn> i think we'd have to write scripts, one for each site, to convert their receipt format to some standardized format (like receipts.yaml) 20:34 < kanzure> each site? 20:34 < kanzure> okay, that's fine 20:35 < fenn> or do it manually if that's a pain 20:35 < fenn> but it seems like for common sites it wouldbe worth it 20:35 < kanzure> no I think that the number of vendors tends to saturate 20:36 < kanzure> er, to stabilize 20:36 < kanzure> I think a receipt should be "tagged" as satisfying a particular inventory-request or something 20:36 < fenn> what if it combines multiple random stuffs 20:37 < kanzure> each individual item should be tagged as solving some particular request 20:37 < fenn> hmmm. 20:37 < fenn> i was thinking each item in inventory would have an 'allocation' status 20:37 < kanzure> this may not be the same thing as inventory actually 20:37 < kanzure> since the receipts and ordering is only casually informed by inventory 20:38 < kanzure> so when inventory is low, you order (or whatever) 20:38 < kanzure> but in this case we're bootstrapping 20:38 < fenn> but inventory data has to come from somewhere 20:38 < fenn> shouldnt that be when you are ordering (and then a little bit at the end when you get it) 20:38 < kanzure> maybe we should do as you suggested- and turn the trans-tech.yaml file into some skdb packages with a barebones skeleton 20:38 < kanzure> and then slowly fill it in 20:38 < kanzure> and the idea would be that anything that is not in the local inventory 20:39 < kanzure> then becomes a request 20:39 < kanzure> which an order and a receipt will eventually fulfill 20:39 < kanzure> I guess we're assuming that we're building some of those skdb packages on site (which, of course, we are) 20:42 * fenn requisitions an aircraft carrier 20:42 < kanzure> heh how'd that one get through 20:43 < fenn> but seriously; at what step do we filter out what we're actually doing vs what is merely possible 20:43 < kanzure> we should be creating the packages as we go 20:43 < kanzure> and testing them 20:43 < kanzure> so that we don't publish anything stupid 20:44 < fenn> skdb is useful because it lets you know what order to do things 20:44 < fenn> but it can only do that if you have complete package specifications 20:44 < kanzure> right, so we need to make it as we go 20:44 < fenn> so you have to make the packages first 20:44 < kanzure> remember, skdb doesn't make something possible- it makes it easier 20:44 < kanzure> right 20:44 < kanzure> so we just need to make the packages the old fashion way 20:44 < fenn> first != as you go 20:44 < kanzure> huh? 20:45 < kanzure> we're not going to just spontaneously know everything about SU8/PDMS 20:45 < fenn> well, ok 20:45 < kanzure> but we do know what sort of basic ingredients we're going to need 20:45 < ybit> i propose another name change: s/djangit/djankit because it has the k from 'wiki' and mostly because it's a lot easier to make perverted jokes with it 20:45 < fenn> -_- 20:45 < kanzure> fenn: if we were to be committing a package as it grows and improves, 20:46 < fenn> ybit: apparently name changes are harder than i thought 20:46 < kanzure> would we commit that to skdb, or would we have a separate repo? 20:46 < kanzure> maybe skdb/packages or something 20:46 < fenn> kanzure: i think a separate repo, but it would still depend on skdb code 20:46 < fenn> at this stage it doesnt really matter 20:47 < kanzure> huh wonder if I can get part mating down well enough to do it for the equipment assemblies required for PDMS (ok, there's not much.. maybe something to hold a lense. big friggin' deal) 20:51 < ybit> but srsly, i do like djankit better 20:52 < ybit> probably not going to change the name, but here's to adding more noise on irc 20:52 < fenn> ybit: a wiki is a rev ctrl system with a pretty front end; django maps backends to pretty front ends (ew) so therefore git + django = wiki-like thing 20:53 < ybit> the frontend will probably be a wiki 20:54 < fenn> what do you mean "be a wiki"? 20:54 < ybit> it will be a rev ctrl system witha pretty front end, as you say 20:54 < fenn> the front end will be a rev ctrl system with a front end? 20:54 < ybit> to be == to exist 20:54 < fenn> stack overflow 20:55 < ybit> :P 20:57 < ybit> i really wasn't up for yet another git based wiki, but i suppose i should contribute to djangit 20:57 < ybit> mostly because i like python 20:58 < ybit> time for bed 20:59 < fenn> a git plugin for dokuwiki would do fine for 90% of stuff 20:59 < ybit> what's the other 10% 20:59 < fenn> but i think we're going to be doing a lot of different experimental views of datasets 21:00 < fenn> like dependency graphs based on the data in the wiki pages (package metadata) 21:00 < fenn> or automatically generated renderings of cad geometry 21:50 < fenn> inner beauty = what you see through a laparoscope 21:51 < kanzure> can this be tested? 21:51 < fenn> i wonder if futurama "on the moon" episode was today on purpose (anniversary of apollo 11) 22:02 < kanzure> jata is getting a reprap 22:03 < kanzure> apparently a friend is printing the parts for her 22:07 < kanzure> http://code.google.com/p/django-inventory/ 22:08 < kanzure> ew, very database heavy 22:08 < kanzure> I just want some classes and methods 22:08 < kanzure> http://code.google.com/p/loaning-logging/ 22:09 < kanzure> ew 22:09 < kanzure> yaml inventory 22:09 < kanzure> http://www.google.com/search?hl=en&client=iceweasel-a&rls=org.debian%3Aen-US%3Aunofficial&num=100&q=yaml+inventory&aq=f&oq=&aqi= 22:09 < kanzure> first result: Basic perfusion inventory list - DIYbio | Google Groups 22:10 < fenn> maybe i should write a paper about it 22:10 < drazak> kanzure: remember that microfluidics paper you showed me on dna aseembly using PCA? 22:10 < drazak> that paper sucked at explaining it 22:10 < drazak> whereas wikipedia made me understand it right away 22:10 < kanzure> yeah 22:10 < kanzure> which article in particular? 22:11 < drazak> I'm not sure 22:11 < kanzure> heh I like how google has indexed http://adl.serveftp.org/skdb/inventory/comparison/fablab.yaml 22:11 < drazak> it had an image 22:11 < drazak> of dna fragments 22:12 < drazak> except it explained it in a very weirdwas,they just said that they came together in the same conditions as pcr 22:12 < drazak> instead of saying that they're fragments alternating sense and antisense with short overlapping fragments 22:13 < kanzure> fenn: let's make an equivalent of /var/log/dpkg.log eventually 22:14 < fenn> what does that do? 22:14 < kanzure> it's a log of things added to the localhost 22:14 < kanzure> as well as packages removed 22:14 < kanzure> there's another one for dpkg to search through.. but I forget where it is located 22:15 < fenn> it doesnt look like dpkg actually uses it (not nearly long enouh) 22:15 < fenn> dunno where the actual "database" is that apt-get refers to 22:15 < kanzure> I've had to fix it a few times by manually editing it 22:15 < kanzure> especially when things get really fucked up 22:16 < kanzure> ah it's /var/backups/dpkg.status.0 22:16 < drazak> you guys will be glad to know, I was in BSL2 today 22:16 < kanzure> you're not a real man until you have to invent your own biosafety level classification 22:17 < drazak> rofl 22:17 < drazak> then there are like 22:17 < drazak> 8 real men 22:17 < kanzure> fenn: /var/backups/dpkg.status.0 sucks a lot 22:17 < fenn> i thought it only went up to BSL4 22:18 < drazak> fenn: well I was including somesecial ones 22:22 < drazak> can one of you suggest an alarm clock for linux? 22:22 < kanzure> what the hell? 22:22 < kanzure> http://upload.wikimedia.org/wikipedia/commons/0/0a/AstronautAssignmentsChart.PNG 22:36 < CIA-73> skdb: kanzure * r14fbe5d9f9df /trans-tech.yaml: er, corrected some requirement issues 22:44 < kanzure> fenn: could you randomly hack out a receipt class or something? 22:55 < CIA-73> skdb: fenn * re81350f399cc /inventory/receipt-schema.yaml: something 22:55 < CIA-73> skdb: fenn * r496d93b8065b / (4 files in 2 dirs): Merge branch 'master' of adl.serveftp.org:/var/www/skdb 22:56 < fenn> or look at the other schema stuff in that dir