--- Day changed Mon Jul 20 2009 | ||
-!- katsmeow is now known as katsmeow-afk | 00:24 | |
bkero | Pretty decent tablet on woot if anyone is interested. | 00:24 |
---|---|---|
CIA-73 | skdb: kanzure * rd14365092c23 /pymates/pymates.py: cleaned up some of the variables | 01:08 |
CIA-73 | skdb: kanzure * r81871bf249f6 /pymates/pymates.py: cleaning up cruft, a comment | 01:20 |
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 | 02:47 |
genehacker_vista | HOLY COW | 03:16 |
genehacker_vista | SOMETHING HIT JUPITER | 03:16 |
genehacker_vista | maybe | 03:19 |
QuantumG | that's what jupiter is for :) | 03:24 |
splicer-afk | (the vacuum cleaner of the system) | 03:27 |
splicer-afk | hehehe: http://2012-comet.com/phpbb/2012/ | 03:39 |
splicer-afk | ...they sell gifts too of course | 03:40 |
genehacker_vista | heh | 03:55 |
genehacker_vista | (I'd hit that reference here) | 03:56 |
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:57 | |
-!- Netsplit over, joins: tarbo2_ | 03:58 | |
drazak | ybit: not too many | 04:27 |
drazak | ybit: there's a few it'd be nice to have on VEGFA isoforms | 04:28 |
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 | 04:32 |
-!- genehacker_vista [n=noko@cpe-67-9-157-136.austin.res.rr.com] has quit [Read error: 110 (Connection timed out)] | 05:24 | |
-!- Smari [n=spm@nmi-gw.eyjar.is] has joined #hplusroadmap | 05:52 | |
-!- Phreedom [n=freedom@195.216.211.175] has quit [Remote closed the connection] | 06:49 | |
-!- Phreedom [n=freedom@195.216.211.175] has joined #hplusroadmap | 06:50 | |
kanzure | " | 07:14 |
kanzure | " | 07:14 |
kanzure | i compiled my kernel using that flag , and now it boots Windows instead. | 07:14 |
-!- 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:22 | |
kanzure | hi SMari | 07:27 |
kanzure | *Smari | 07:27 |
Smari | y0 | 07:27 |
Smari | I hate this laptop | 07:27 |
kanzure | http://hardware.slashdot.org/comments.pl?sid=1307799&cid=28749853 | 07:28 |
kanzure | re: bakcups | 07:28 |
kanzure | *backups | 07:28 |
kanzure | re: backups http://jwz.livejournal.com/801607.html | 07:36 |
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:37 |
kanzure | you replaced the #'s with *'s? | 07:40 |
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:42 |
Smari | I didn't get much work done this weekend, mostly just thinking and planning | 07:45 |
kanzure | hahah: http://millionairemate.com/ thanks slashdot | 07:49 |
kanzure | hah: http://seekingarrangement.com/ | 07:56 |
kanzure | fun stuff | 07:58 |
-!- genehacker_vista [i=genehack@wireless-128-62-158-110.public.utexas.edu] has joined #hplusroadmap | 08:01 | |
CIA-73 | skdb: kanzure * r3535812d1a9a /pymates/shell.sh: interactive shell script added | 08:04 |
-!- genehacker_vista [i=genehack@wireless-128-62-158-110.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] | 08:25 | |
-!- mage2 [n=mage@66.179.208.36] has joined #hplusroadmap | 08:45 | |
CIA-73 | skdb: kanzure * r490a84d44689 /pymates/monday.py: bus ride commit- cleaning up monday.py | 09:39 |
kanzure | http://mccormick.cx/news/entries/RDC.news recursive dimensional clustering - collision detection in pure python | 09:47 |
kanzure | http://2009.igem.org/wiki/index.php?title=Special:RecentChanges&limit=1000&days=3000&hideminor=0 | 09:52 |
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:53 |
kanzure | what was used to generate this image? http://www.reprap.org/pub/Main/AssemblingDarwinMachinery/Assembly.JPG | 09:54 |
-!- samrose [n=samrose@24.11.214.181] has joined #hplusroadmap | 10:01 | |
ybit | kanzure: did you ever find out what created the reprap image? | 10:35 |
-!- maradydd_ [n=mlp@88.147.36.140] has joined #hplusroadmap | 10:36 | |
ybit | maradydd_ == meredith? | 10:37 |
ybit | or marnia? | 10:39 |
ybit | ah, mlp | 10:39 |
ybit | ^is for future reference | 10:39 |
ybit | anyone tried using code_saturne or openfoam? kanzure, i know you used elmer | 10:41 |
-!- maradydd [n=mlp@88.147.8.73] has quit [Read error: 110 (Connection timed out)] | 10:55 | |
-!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has joined #hplusroadmap | 11:03 | |
ybit | neat, sourceforge list of human machine interface software: http://sourceforge.net/softwaremap/trove_list.php | 11:14 |
-!- 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:15 |
ybit | http://parseccee.sourceforge.net/ | 11:16 |
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:20 |
ybit | Smari: you had developed a model rocket simulation software, correct? | 11:22 |
ybit | i'm guessing this might be of interest as well, but i guess your focus is slightly different | 11:23 |
ybit | http://openrocket.sourceforge.net right? | 11:24 |
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:25 |
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:26 |
-!- maradydd_ [n=mlp@88.147.36.140] has quit [Read error: 110 (Connection timed out)] | 11:30 | |
-!- xp_prg [n=xp_prg3@c-76-21-115-162.hsd1.ca.comcast.net] has quit ["This computer has gone to sleep"] | 11:35 | |
-!- maradydd [n=mlp@88.147.37.147] has quit [Read error: 110 (Connection timed out)] | 11:46 | |
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 | 11:58 |
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:01 |
-!- 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:03 |
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:04 |
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:05 |
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:06 |
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:07 |
kanzure | I have never heard of this program | 12:08 |
ybit | it was in one of the occ docs i was looking at | 12:08 |
fenn | compiling opencascade gave me no end of hell | 12:11 |
fenn | is it really as simple as configure && make now? | 12:12 |
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:13 |
kanzure | try out the R language | 12:14 |
kanzure | http://r-project.org/ | 12:14 |
fenn | all data is noisy | 12:14 |
-!- 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:15 |
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:16 |
genehacker_vista | well awesome | 12:52 |
ybit | ? | 12:53 |
genehacker_vista | data works | 12:53 |
genehacker_vista | even though it's noisy | 12:53 |
ybit | genehacker_vista: data from what? | 12:56 |
ybit | afk again, hands are about to be too greasy to type | 12:56 |
-!- samrose [n=samrose@24.11.214.181] has quit ["Ex-Chat"] | 12:57 | |
genehacker_vista | lab | 12:58 |
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:02 |
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:07 |
kanzure | and do traumatically depressed individuals invert the whole space-time manifold of valuation judgments? | 13:08 |
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:09 |
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:10 |
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:11 |
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:12 |
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:13 |
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:14 |
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:15 |
kanzure | apparently gmsh forgot to do a "using namespace std" | 13:16 |
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:20 | |
kanzure | ybit: leibniz is this monstrous big black box with a tiny quadcore humming away deep inside | 13:21 |
kanzure | ybit: pikachu is my laptop | 13:22 |
kanzure | ybit: adl.serveftp.org is davinci | 13:22 |
ybit | heh, i named one of my machines after a pokemon character too :) | 13:23 |
-!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has joined #hplusroadmap | 13:25 | |
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:27 |
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:29 |
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:30 |
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:31 |
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:32 |
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:33 |
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:34 |
fenn | sounds like solidworks BS | 13:35 |
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:36 |
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:37 |
kanzure | sounds like it's just a wrapper for dimensioning | 13:38 |
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:52 | |
-!- 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:53 |
kanzure | gp_Ax3 seems to be a local coordinate system http://www.opencascade.org/org/forum/thread_766/ | 13:54 |
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:55 |
kanzure | what happened to OCC.ShapePlacement? | 13:57 |
kanzure | hm there's also ShapeInterface | 13:57 |
kanzure | well there used to be at least | 13:58 |
fenn | i guess this explains the Standard_Int stuff? http://adl.serveftp.org/lab/opencascade/doc/ReferenceDocumentation/FoundationClasses/html/classPrecision.html | 13:59 |
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:00 |
kanzure | what's with the terrible formatting on this page | 14:01 |
kanzure | someone failed <br/>101 | 14:01 |
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:03 |
kanzure | I'm not sure though what the example use of SetDisplacement should be | 14:04 |
fenn | i think Ax3 is just translation and rotation; i.e. a subset of affine transforms | 14:16 |
kanzure | in /usr/lib/python2.5/site-packages/OCC/gp.py there's a line that says import _gp | 14:27 |
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:28 |
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:29 |
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:39 |
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:40 |
kanzure | er, nope. that just returns a float. | 14:41 |
kanzure | there's no OCC.Standard.Standard_Real either | 14:41 |
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:44 |
kanzure | kind of lame that this breaks some of the dynamic typing | 14:46 |
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:47 |
fenn | foo = gp_XYZ(1,2,3) | 14:49 |
fenn | foo.Coord() | 14:49 |
fenn | (1.0, 2.0, 3.0) | 14:49 |
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:50 |
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:51 |
kanzure | remember? calling Coord(X2,Y2,Z2) of some gp_Pnt object? | 14:52 |
fenn | yes | 14:52 |
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:53 |
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:54 |
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:55 |
fenn | because variables are precious and we must reuse them at all costs | 14:56 |
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:57 |
kanzure | I don't think SWIG selectively removes overloaded methods | 14:58 |
kanzure | or overloads that it dislikes | 14:58 |
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:04 |
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:06 |
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:07 |
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:08 |
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:16 |
kanzure | hah! my dorm internet connection is still active. | 15:29 |
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:31 |
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:32 |
fenn | so we have to tell rob stone how to fix everything in one week? | 15:33 |
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:36 |
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:37 |
ybit | i used "python setup.py install" | 15:38 |
fenn | i didnt have any luck with either that or scons mode=install | 15:38 |
ybit | guess i'll let it finish before try anything manual | 15:39 |
fenn | if it finishes | 15:39 |
ybit | i'm not too concerned, occ isn't the main todo for today | 15:40 |
fenn | "The band saw is widely regarded as among the safest of all woodworking machinery" | 15:45 |
fenn | i guess if your idea of woodworking machinery is "moving blades you shove your hands into" | 15:46 |
ybit | is citation explorer not working for anyone else? | 15:52 |
ybit | firefox 3.0.11 here | 15:53 |
kanzure | ybit: did you try scons with fenn's notes? | 15:54 |
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:55 |
fenn | i dont know what you're talking about | 15:57 |
kanzure | rob | 16:02 |
CIA-73 | skdb: kanzure * r8393ef728a06 /pymates/ (mate.py pymates.py): working towards better classes for pymates | 16:02 |
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:03 |
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:04 |
ybit | kanzure: haven't tried scons, might try that if if setup.py is still doing whatever it's doing now tonight | 16:07 |
kanzure | "we're early adopters for a system that doesn't exist yet" | 17:08 |
genehacker_vista | how's your cad software coming along? | 17:12 |
kanzure | skdb? | 17:12 |
kanzure | it's coming along fine | 17:12 |
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:13 |
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:14 |
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:15 |
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:16 |
genehacker_vista | who | 17:18 |
genehacker_vista | wow | 17:18 |
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:19 |
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:20 |
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:21 |
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:22 |
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:23 |
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:24 |
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:25 |
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:26 |
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:27 |
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:28 |
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:29 |
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:30 |
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:31 |
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:32 |
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:33 |
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:34 |
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:35 |
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:36 |
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:37 |
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:38 |
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:39 |
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:41 |
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:42 |
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:43 |
genehacker_vista | if difference between matrices = zero then peg goes there? | 17:44 |
kanzure | meh not really | 17:45 |
genehacker_vista | why? | 17:45 |
genehacker_vista | wouldn't that be more optimal? | 17:45 |
kanzure | I don't know how to do that | 17:46 |
genehacker_vista | what? | 17:46 |
kanzure | class MySterlingEngine(SterlingEngine): | 17:46 |
genehacker_vista | program looks for parts labelled circle with the same or large radius as the circular part of the peg's | 17:47 |
genehacker_vista | hmmm... | 17:48 |
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:49 |
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:50 |
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:51 |
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:52 |
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:53 |
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:54 |
kanzure | line 64 | 17:55 |
kanzure | line 73 | 17:55 |
kanzure | line 69 too | 17:56 |
ybit | def __setstate__(self, attrs): | 17:58 |
ybit | 73 self.interfaces[k] = v | 17:58 |
ybit | 69 v.name = k | 17:58 |
kanzure | thanks ybit :p | 18:01 |
ybit | it's what i do :) | 18:02 |
kanzure | every interface should have a name | 18:02 |
kanzure | I'm prepared to enforce this. :p | 18:03 |
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:05 |
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:06 |
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:07 |
kanzure | line 120 faisl | 18:09 |
kanzure | fails | 18:09 |
CIA-73 | skdb: fenn * r255bc7e4db39 /pymates/models/blockhole.yaml: typo | 18:10 |
kanzure | er, because of the typo I guess | 18:10 |
fenn | does part.interfaces ever actually get used? | 18:11 |
fenn | nevermind i see it | 18:12 |
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:13 |
fenn | looking better already :) | 18:15 |
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:16 |
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:17 |
* 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:18 |
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:19 |
fenn | but the computer should be able to do that | 18:20 |
-!- 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:21 |
-!- genehacker_vista [i=genehack@w-central-233-27.public.utexas.edu] has quit [Read error: 110 (Connection timed out)] | 18:24 | |
ybit | it was DRAWEXE i was looking for earlier | 18:42 |
ybit | was in /usr/local/bin | 18:43 |
kanzure | can someone remind me why I'm doing part mating and compatibility | 18:47 |
ybit | because you plan on including it in skdb | 18:48 |
ybit | and i'm guessing fenn is too | 18:48 |
ybit | something infrastructure and advancing h+ | 18:50 |
ybit | +about | 18:50 |
kanzure | sounds kinda vague | 19:00 |
ybit | and your point? | 19:00 |
kanzure | does anyone know why I am doing this? | 19:01 |
ybit | what are you getting @ eactly? | 19:01 |
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:02 |
ybit | argh, git add . shouldn't take this long | 19:03 |
* ybit wants a central repo for all cad files | 19:22 | |
kanzure | welcome to skdb | 19:22 |
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:23 |
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:24 |
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:26 | |
kanzure | yes | 19:27 |
kanzure | dexler | 19:27 |
ybit | drexler* | 19:27 |
ybit | i prefer the skdb name to tangible bit | 19:28 |
ybit | in acronym form, it's shorter which is great for subdomains :) | 19:28 |
ybit | and "societal engineering knowledge database" gets to the point of what it actually is | 19:29 |
kanzure | nobody understands it anyway | 19:29 |
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:30 |
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:31 |
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:33 |
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:34 |
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:35 |
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:36 |
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:37 |
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:38 |
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:53 |
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:54 |
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) | 19:55 |
fenn | what is sproutwards supposed to do? | 20:13 |
kanzure | fablab management. it's based off of the original nublabs codebase. | 20:13 |
fenn | good for warding off sprouts | 20:15 |
kanzure | maybe org-mode could help me | 20:16 |
kanzure | fenn: where's that electronics inventory for IU? | 20:18 |
* fenn twiddles his thumbs | 20:20 | |
kanzure | you're not twiddling, damn it | 20:20 |
ybit | twiddle harder! | 20:21 |
kanzure | damn right he should twiddle harder | 20:21 |
fenn | http://fennetic.net/roboclub/wishlist | 20:21 |
kanzure | commit to skdb? | 20:22 |
fenn | sure | 20:22 |
fenn | want me to do it? | 20:22 |
kanzure | yes | 20:22 |
fenn | i came up with a yaml format for receipts (you may have seen me entering some) | 20:25 |
fenn | there's not much difference between a wishlist and a receipt | 20:26 |
fenn | i dont think this list is really complete enough to just say 'have at it' | 20:27 |
-!- wrldpc2 [n=benny@pool-173-48-253-182.bstnma.fios.verizon.net] has joined #hplusroadmap | 20:28 | |
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:34 |
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:35 |
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:36 |
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:37 |
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:38 |
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:39 |
* fenn requisitions an aircraft carrier | 20:42 | |
kanzure | heh how'd that one get through | 20:42 |
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:43 |
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:44 |
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:45 |
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:46 |
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:47 |
ybit | but srsly, i do like djankit better | 20:51 |
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:52 |
ybit | the frontend will probably be a wiki | 20:53 |
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:54 |
ybit | :P | 20:55 |
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:57 |
ybit | time for bed | 20:58 |
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 | 20:59 |
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:00 |
fenn | inner beauty = what you see through a laparoscope | 21:50 |
kanzure | can this be tested? | 21:51 |
fenn | i wonder if futurama "on the moon" episode was today on purpose (anniversary of apollo 11) | 21:51 |
kanzure | jata is getting a reprap | 22:02 |
kanzure | apparently a friend is printing the parts for her | 22:03 |
kanzure | http://code.google.com/p/django-inventory/ | 22:07 |
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:08 |
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:09 |
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:10 |
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:11 |
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:12 |
kanzure | fenn: let's make an equivalent of /var/log/dpkg.log eventually | 22:13 |
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:14 |
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:15 |
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:16 |
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:17 |
drazak | fenn: well I was including somesecial ones | 22:18 |
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:22 |
CIA-73 | skdb: kanzure * r14fbe5d9f9df /trans-tech.yaml: er, corrected some requirement issues | 22:36 |
kanzure | fenn: could you randomly hack out a receipt class or something? | 22:44 |
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:55 |
fenn | or look at the other schema stuff in that dir | 22:56 |
Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!