2008-04-19.log

--- Day changed Sat Apr 19 2008
-!- Splicer2 [n=p@h174n1c1o261.bredband.skanova.com] has joined #hplusroadmap00:56
kanzurefenn: I wonder if agx-make directly generates CAM or not. I suspect not. agx-make would be more like the API layer to /dev/ more than anything else.01:01
kanzureyes?01:01
kanzureit would aggregate all of the information relevant as inputs to the machinery in your local fab-lab-configuration01:01
fennagx-make is a compiler that can call many different 'backend' CAM tools01:08
kanzurecan we hack gcc for this purpose?01:08
kanzureport gcc to a new 'isa' 01:08
kanzurewhere this 'isa' is the fablab instruments?01:08
fenndunno, gcc is a C compiler mostly01:08
fennusing make might make sense01:09
fenngnu make01:09
kanzureI'm just wondering to what extent we can consider it a compiler01:10
kanzuresince technically gnu make is not a compiler in the truest sense, last I checked01:10
fennok, it's not a compiler, its a "make" whatever you call that01:10
kanzureplus we don't have to compile the firmware for each new package physical implementation01:10
kanzureok01:10
-!- Splicer [n=p@h238n1c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]01:10
-!- Splicer [n=p@h174n1c1o261.bredband.skanova.com] has joined #hplusroadmap01:11
fennits a frontend that causes software files for performing a particular physical operation to be compiled01:11
fennwhere said physical operation is one that's been verified to be feasible with the current infrastructure/inventory01:12
kanzureyes01:12
kanzuremy thoughts were that the skdb packages would generate yaml serialized data structs01:13
kanzurethese structs would be the files that the tools are programmed to physically follow and/or implement01:13
kanzuresimple enough, no?01:13
fennyeah, the yaml will get boiled down into longer and longer sequences of lower level data, until it reaches basic 'move motor' type information01:14
kanzureor "move your ass, human!"01:14
fennwell, you'd want to give the human higher level data01:14
fenndepending on their skill level, of course01:14
fennyou can say 'now solder r1. now solder r2' to an electronics pro01:15
kanzureI was thinking something more subtle; electric shocks? joking aside, yes01:15
fenner, can't01:15
fennhttp://ladyada.net/make/usbtinyisp/solder.html01:15
fennit would be neat if we could automatically generate instructions like that01:16
kanzureshe's a classic01:17
kanzurehow many times has she been on Slashdot now? three? four?01:17
fenndunno, slashdot is so crap anymore i dont read it01:17
kanzureespecially after the electronics "SHE'S A WOMAN WITH ELECTRONS BUZZING AROUND, A TERRORIST! JUMP HER!" scare01:17
-!- Splicer2 [n=p@h174n1c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]01:18
fenncould you explain what this line means? To continue: just as you cannot search for software based on functionality, you cannot search for other tools based on functionality, except in as much as the language and social context allows you to express similar ideas that others have had before (natural languages have allowed this to some extent)01:21
kanzureyes01:22
kanzuresuppose you 'know' that something must exist out there in the world01:22
kanzuretry to find it on Google without having verbal grounding in reality01:22
kanzureknowing how other people would word it.01:22
fennsure i had that problem the other day with eval()01:22
kanzuresame thing with software ... you don't search for "if then if then if then" (since that'd be programming the thing you want!)01:22
kanzureyou search for tags and descriptions etc., there is a lot of social context that programmers usually tend to forget ... they are not intuiting their programs from out of the blue :)01:23
kanzureas much as I'd like to think I am ...01:23
fennyou read too much for that to be true01:23
kanzure<-- tainted01:24
kanzurebut I started off a total moron, so perhaps not?01:24
fennback before the internet, i came up with the idea that we only really have three or four original thoughts in a year (actually i was a bit more harsh, saying all thoughts were derived from someone else)01:24
kanzuresure, aggregation01:25
fennbut see, we dont realize it, we think they're all new ideas and belong to us01:25
kanzurepermutation/mutation/insight v. recombination01:25
kanzures/recombination/recombination+aggregation/01:25
kanzureperhaps permutation and mutation would go along with refactoring and documenting01:26
fennno, refactoring is generalizing01:26
fennor categorizing sometimes01:26
kanzurehm.01:26
fennthe point of refactoring is that it's not a creative act01:27
fennyou keep the same functionality but make a program easier to modify or improve upon01:27
kanzurehm, yes, so therefore it doesn't fit on that spectrum I was using above01:27
fennepicycles -> kepler's law01:27
fenncan you imagine epicycles with relativity thrown in?01:28
kanzureepicycles were simply the rotations around celestial bodies, right?01:28
kanzurerelativity is then just observer bias factored in, yes?01:28
fennsorta. they said spheres are perfect so therefore planets must move in circles, or at least circles on circles01:29
fennthen they had circles on circles on circles to make it fit the data01:29
fennso kepler came along and refactored it, 'its an ellipse you dummies'01:29
kanzureI am impressed + baffled by astronomers01:29
kanzureI keep on looking at star charts and so on01:29
kanzureand I have *NO* clue how these things work01:29
kanzurethe planet is freaking *rotating*01:29
kanzureand all of the star charts don't seem to take that into account01:30
kanzurehow the hell can they predict where the stars will be no matter where you are in the world?01:30
fennoh, you can 'factor out' the planets rotation by taking an observation at the same time each day01:30
kanzuredoesn't it depend on your location of observin?01:30
fennor you can generalize the relationship between time and rotation of the sky01:30
kanzurealtitude, direction, coordinates, etc.?01:30
kanzureangle of inclination, ...01:31
fennwell, most observatories dont travel around :)01:31
kanzureah01:31
fennangle of inclination is what you're measuring01:31
kanzurebut wouldn't that depend on your xyz coords on the surface topology of the planet manifold?01:31
kanzureremove the word 'manifold' from that sentence01:31
fenner.. angle of inclination relative to the horizon depends on the local topology, yes01:32
fennso usually they fix on the north star or something (i'm not an astronomer)01:32
kanzureohh01:33
kanzureand then they can use time synchronization via watches and clocks01:33
kanzurethus you should be able to determine what's going on based off of your watch01:33
kanzureand the location of some main orienting ref object01:33
kanzureand then extract your relative differences or something01:33
fennyep01:33
kanzurenever heard any talk of that, though01:33
fennthe other half of astronomy is emission spectrography (or absorption if its a planet)01:34
kanzureright, I can understand that01:35
kanzureeasy stuff, that's just astrophysics, photons and red shifts and shifts due to movements etc.01:35
fennoh, sure, easy01:35
fenn;)01:35
kanzuremuch easier when you can do it from orbit01:35
fennnevermind that it's all LIES01:36
kanzurewithout atmospheric interference01:36
kanzureis it?01:36
fennit all seems rather tenuous to me01:36
fennthis has redshift, therefore it must be moving away from us .. well, what if space is non-uniform?01:36
kanzure'space' itself is tricky stuff01:37
fennok, i'll state it differently. what if the speed of light changes depending on where you are01:37
kanzurewhile I'm not about to suggest the ancient aether theories, I'm not about to suggest that the 'vacuum of space' is a vacuum ... not with the nonzero energy content of the vacuum of space. It's 4 K.01:38
kanzuresure, if it's not truly a vacuum then the speed of light is relative to the environment01:38
kanzurejust like we can 'slow' light down in ultracold environments01:38
fennwell, i dont have a telescope so i basically have to take these peoples' word for it01:41
kanzurelaunching a satellite is peanuts in comparison to most of my ideas, eh?01:42
kanzurethe guys in #space are building one01:42
kanzureor maybe it's #astronomy01:42
fennlaunching a satellite is 1957 technology01:42
kanzurethen why the hell do people complain so much about doingi t01:42
kanzurejackasses01:42
fennbecause they dont have the funding of the entire post-war soviet union01:43
kanzureplease, with your interest in gingery?01:44
kanzuremany rocket enthusiasts do metal shopping and make their own damn rockets by hand01:44
fennmany rocket enthusiasts dont understand the extreme differences between a sounding rocket and an orbital rocket01:44
fennsure, what's another few decimal places01:45
kanzureheh01:45
fennand its not just quantitative, it's qualitative because the costs go up exponentially01:45
kanzurecosts? 01:45
fennyes, costs: time, energy, motivation01:46
kanzuremotivation ... should never cost.01:46
fennbah you can say that about anything01:46
kanzure"As I move, so I move the universe." - Danlo01:46
kanzureit's up on my whiteboard01:46
fenntime is nature's way of making sure everything doesn't happen at once - what is motivation for then?01:47
kanzureLion Kimbro would argue time is bullshit01:47
kanzurehttp://www.speakeasy.org/~lion/01:47
fennask him what we should do next :)01:48
kanzureshit shit shit shit shit01:48
kanzurehttp://www.davidzindell.com/01:48
fennTime is an Invention of Awareness01:49
fennsounds like it exists then?01:49
kanzurebut I was looking for http://hometown.aol.com/pylebc/zindell.htm01:49
kanzureactually another page01:49
fennbleh.. that pseudo-spiritual stuff doesnt motivate me, unfortunately01:50
kanzureignore it01:51
kanzurehe's otherwise a high signal to noise author01:51
kanzureon which Orion's Arm is mostly based01:51
kanzureah, here we go01:53
kanzurehttp://home.austin.rr.com/lperson/fireser.html01:53
fennoh well, at least he doesnt trivialize a post-human intelligence the way charles stross does in accelerando01:58
kanzureheh01:58
fenn"look its a girl in a box"01:58
kanzurehurray01:58
kanzurehehe01:58
kanzureyeah, I wouldn't mind writing some intense scifi01:58
kanzureI certainly know I can read enough and do a massive review to aggregate enough future tech and philosophy in one gulp01:59
fennwriting is hard, really01:59
fennnot worth it01:59
fennwhy do you think there's so much crap on TV01:59
kanzureI find writing to be easy.02:00
kanzurerefactoring is what's hard02:00
kanzureand I much rather prefer my stories be told in physical constructions (==> skdb) or functionality rather than empty promises02:01
fenn"IMPRINTING - Changing the metabolic pathways and neural network; redefining the synapses of the brain"  this one happens to be more real than most people know02:04
kanzurelocation?02:04
fennhttp://hometown.aol.com/pylebc/zgloss.htm02:04
kanzurejust seems to be out of the blue-- ah02:04
kanzureyep02:04
kanzureyour thoughts are changing metabolism, technically02:04
kanzurebecause your thoughts require energy, no?02:05
kanzurethe mapping between thoughts and precise, discrete changes in cellular metabolism is interesting02:05
kanzureI think this is where Gary Lynch did his LTP studies, but it wasn't from a subjective POV of thinking of course02:05
kanzure(it was rat training + mem engrams)02:05
fennits not so much a change in the neural network as a change in the weight-assigning/backpropagation algorithm02:06
fennthey never should have changed it from 'long lasting potentiation'02:07
fennone of these years i'll learn all the silly neuro jargon02:08
-!- Splicer2 [n=p@h174n1c1o261.bredband.skanova.com] has joined #hplusroadmap02:11
kanzurefenn: I'll write up that list of progs for skdb and so on tomorrow; I've been toying around with ikiwiki tonight and will be getting to work in the morning02:12
kanzuretonight officially has sucked - inattentive + hyperaction => circles02:13
fenni'm processing the skdb article into something resembling prose02:16
kanzurethank you02:20
kanzureI'll probably join you on that sometime tomorrow02:20
-!- kanzure [n=bryan@cpe-70-113-54-112.austin.res.rr.com] has quit ["Leaving."]02:21
-!- Splicer [n=p@h174n1c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]02:25
-!- Splicer2 [n=p@h174n1c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]03:21
-!- Splicer2 [n=p@h210n2c1o261.bredband.skanova.com] has joined #hplusroadmap03:21
-!- Splicer [n=p@h210n2c1o261.bredband.skanova.com] has joined #hplusroadmap03:42
-!- Splicer2 [n=p@h210n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]04:01
-!- Splicer2 [n=p@h210n2c1o261.bredband.skanova.com] has joined #hplusroadmap04:26
-!- Netsplit leguin.freenode.net <-> irc.freenode.net quits: Splicer04:28
-!- Splicer [n=p@h210n2c1o261.bredband.skanova.com] has joined #hplusroadmap05:40
-!- Splicer2 [n=p@h210n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]05:55
-!- Splicer2 [n=p@h70n2c1o261.bredband.skanova.com] has joined #hplusroadmap05:55
-!- Splicer [n=p@h210n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]06:05
-!- Splicer [n=p@h62n3c1o261.bredband.skanova.com] has joined #hplusroadmap06:51
-!- Splicer2 [n=p@h70n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]07:06
-!- Splicer2 [n=p@h28n2c1o261.bredband.skanova.com] has joined #hplusroadmap10:07
-!- Splicer [n=p@h62n3c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]10:19
-!- Splicer [n=p@h104n2c1o261.bredband.skanova.com] has joined #hplusroadmap10:29
-!- Splicer2 [n=p@h28n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]10:41
-!- kanzure [n=bryan@cpe-70-113-54-112.austin.res.rr.com] has joined #hplusroadmap10:44
kanzurehttp://www.facebook.com/event.php?eid=17728995118 <-- Austin RepRap group with a n10:57
kanzurehttp://www.actlab.utexas.edu/10:57
kanzureOkay. Back to work.11:00
kanzurehttp://math.utexas.edu/users/henrys/waystogowrong.html <-- depressing11:11
kanzurehttp://heybryan.org/mediawiki/index.php/Societal_engineering_knowledge_database#todo11:15
-!- Splicer2 [n=p@h104n2c1o261.bredband.skanova.com] has joined #hplusroadmap11:33
kanzureHey Splicer2.11:44
-!- Splicer [n=p@h104n2c1o261.bredband.skanova.com] has quit [Read error: 110 (Connection timed out)]11:45
kanzurefenn: I think we need to split agx-make into some subprograms.11:53
kanzurefenn: agx-make is going to be somewhat of a nightmare. Do we want scripts to do API calls that would interface with the machinery? Or do we want to compile a final script/program to be executed over the particular fablab machinery network?12:19
kanzurethe compilation case does not allow the 'human readable output' alternatives (except if there's a terminal/printer that could be programmed to spit out the instructions ... hrm.)12:20
kanzureI asked in #robotics for some help with the ideas of configuration of a local setup ... yeah. They just went off on random rants. 13:31
kanzureI guess we can enforce configurations upon users. "To execute this script, the lab has to be moved to position-style-31410, proceed? WARNING: THIS WILL MAKE YOUR MACHINERY MOVE!". And then if they are motor-powered, they will wheel around into a particular config.13:37
kanzureAs for the API calls. The 'api layer' thing. Conveniently, all of your drivers *should* be up on skdb for others to download, or to at least include in revisions of the 'api layer' software for interfacing with the physical network. How would it work? How does the printing server usually work? 13:39
kanzurehttp://cups.org/13:42
kanzure'CUPS uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues and adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real-world printing.'13:42
kanzureheh, they describe it as real-world printing.13:42
kanzurehttp://www.cups.org/documentation.php/overview.html13:44
kanzurehttp://www.cups.org/documentation.php/spec-design.html even better13:45
kanzurehm, ##cups is a pretty small group.13:49
kanzureHow does cups interface with drivers?13:55
kanzureLinux kernel 2.6 added 'Vendor neutral virtualisation API' - what does this mean?14:05
kanzureand why did bluetooth support have to be released with an entirely new version of the kernel (2.4)? that doesn't sound right14:06
kanzure`Every version of a device, such as a printer, requires its own specialized commands. In contrast, most applications access devices (such as sending a file to a printer) by using high-level, generic commands, such as PRINTLN. The driver accepts these generic statements and converts them into the low-level commands required by the device.`14:08
kanzurehttp://devresources.linux-foundation.org/dev/opendrivers/wiki/index.php/Documentation14:15
kanzure"During startup, a driver registers with its bus, and the bus inserts the driver14:21
kanzureinto its internal list of drivers. The bus then attempts to bind the driver to the14:21
kanzurebus's list of devices. A bus compares a list of bus-specific device ID numbers that it supports with the ID numbers14:21
kanzureof the devices on the bus. If a match is made, the device is 'attached' to the driver. The driver allocates a driver-specific14:21
kanzureobject to describe the device. This usually includes a class-specific object as well,14:21
kanzurewhich the driver uses to register the device with it's class"14:21
kanzurehttp://wiki.kernelnewbies.org/KernelMentors14:23
kanzurethe guys in #kernelnewbies on oftc recommended http://www.lantronix.com/device-networking/embedded-device-servers/xport.html15:10
kanzurebut otherwise sat quietly.15:10
kanzurehow do you interface with the hardware? let's say a driver is written, then what? do you sit on /dev/ and listen with a pipeline?15:11
kanzurelooks like cupsd is based around the idea of maintaining the status quo of functionality (I am not using 'status quo' in the negative connotation here)15:13
kanzurehuh, looks like you just echo > /dev/you and cat /dev/you to get information. http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0%2C615:19
kanzureI guess you can then have a message passing protocol to be implemented15:20
kanzureuserpsace example - http://www.freesoftwaremagazine.com/articles/drivers_linux?page=0%2C1015:26
kanzureyep, just reading back and forth from /dev/deviceshere15:26
kanzurehm15:26
kanzure(the guys in #kernelnewbies suggested that it be all done over ethernet or usb, so that it's already in userspace -a  fine idea - but it needs to be generally extensible)15:27
kanzureso I think it might be a good idea to go back to the 'API layer' idea, having a 'cupsd' equivalent to run things, with extendibility such that new 'protocols' can be implemented when necessary, and then we just hold general tools to a standard with an iron fist15:28
kanzureOn Saturday 19 April 2008, Stefano Vaj wrote:15:30
kanzure> While I may have no final view on the subject, it should be15:30
kanzure> underlined that *both* points of view are equally  "eugenetic". That15:30
kanzure> of the deaf community and parents who want to ensure conformity of15:30
kanzure> their offspring to their own Idealtypus, and that of the broader15:30
kanzure> community who feels that would rather have it conform with a norm15:30
kanzure> where deafness is fundamentally a disability, and little else. And I15:30
kanzure> do not believe that a *political* and *aesthetic* choice between15:30
kanzure> these two conflicting views can really be avoided through reference15:30
kanzure> to some general governing principles.15:30
kanzurere: the iron fist; protocol-software can be stored in skdb as packages themselves (just no physical expression). I wonder, to what extent do the tools get to control their own state, versus management of state on the server? Part and part? Not all tools are going to manage their state, and likewise some tools will manage their state more thoroughly than others; so cupsd has to take this into account.15:33
kanzurethe abstraction that cupsd facilitates is very nifty - you just press the 'print' button and it takes care of everything else. 15:34
kanzurekind of hard to imagine how the /dev interface is supposed to work when I don't have any tools off the top of my head15:39
kanzureand we get to design the tools too, that's always useful15:39
kanzurebut on the other hand, interfacing with other, older machinery would be useful as well15:39
kanzurethis isn't exactly the most standardized project though - many factories have completely custom-made solutions15:40
kanzureah, the drivers manage the state information15:44
kanzureand then the userspace programs just get data back and forth15:44
kanzuremaybe. distinction of where to put what for userspace/kernelspace there is hazy.15:44
kanzureokay, so we'd have code in skdb that could be used to interact with particular machines, or the user can code up his own driver and userspace program that can be interfaced with the 'cupsd equivalent'15:46
kanzurenow, agx-make and cupsd have to know about the local configuration - what machinery is connected related to the fablab, and what isn't? When there isn't something available, known to it, then it should default to 'human instruction mode' - where should it dump the instructions? Should agx-make dump the instructions state to the terminal screen?15:46
fennhi. still reading backlog15:52
fennprinter analogy can only go so far. a printer will always use ink cartridges, will always print on paper, will always print 2d documents that eventually end up as a high-res bitmap15:54
fennall printers do this15:54
fennmanufacturing technology is a lot more complex15:55
fennit might work for DNA reader/writer hardware15:55
fenni dont want to require any specific hardware like xport or even x86 processors15:56
fennthat's part of the hardware 'infrastructure' that is unique to each user15:56
kanzuresure15:57
fennstate changes have an associated cost, which influences the optimization path15:58
fennbuying a new machine is a change in state15:59
kanzureno, I was talking about 'state change' in terms of what the server knows about the hardware, and what the hardware knows about itself (what position it is, for example)15:59
fennyou might be able to hack the drill press into a milling machine, but you could also just buy a milling machine15:59
kanzureor like the linux device drivers - the driver can maintain an internal state so that it knows what to expect from the port on the next interrupt or whatever15:59
fennoh, some printers are smarter than others, lets leave it at that16:00
kanzureI see, so how does cupsd manage that?16:01
kanzureI guess each new driver module just hides that 'smartness' away and lets cupsd work with it like any other driver16:01
fennjudging by the vast array of printer drivers, each printer has its own driver16:01
kanzureso it might be hiding or adding fake functionality16:01
fennright16:01
fennnot necessarily fake functionality, just an abstraction layer16:02
fennwherever you have an interface there's an abstraction layer associated with it16:02
fennthis applies to physical objects too?16:02
kanzureeh?16:02
fennnevermind, too philosophical for me16:03
kanzureokay, so when I was talking about my 'api layer' earlier, I guess I can convert that stuff into saying that it is the job of the driver to meet the standard specs for cupsd to work with ... then, all skdb scripts just implement one unified language for manufacturing16:03
kanzure'one unified language for manufacturing' or api calls16:03
kanzuresomebody suggested16:03
kanzuretool.arm.moveLeft(90)16:03
kanzurebut that doesn't sound like a smart idea16:03
kanzurethat's very very messy16:03
fennno, that doesnt work, you try to make 'one unified language for manufacturing' and end up with a monster that nobody can use16:04
kanzure(also, 3D object interpretation programs should be able to generate a list of movements or whatever)16:04
kanzureright16:04
kanzureso it has to be something else16:04
kanzureyou have much more experience in this area16:04
fennthe STEP file format is a real-world example of trying to make one unified language for manufacturing16:04
fenni like the 'rhizopod' idea16:05
fennhttp://www.lantronix.com/device-networki16:05
fennnot that16:06
fennhttp://scratchcomputing.com/projects/vectorsection/16:06
fennanother graph :)16:06
kanzurehm16:07
kanzureI see many ways that we can implement reprogrammable factories16:07
kanzuremost of the tools will have microcontrollers, thus we can do a massive recompiling of everything down to that code, from parallel code down to the physical substrates16:07
kanzurewell16:07
kanzurescrew it, I guess we're going to have to demand standardization of shop setups16:08
kanzurejust like the 'debian definition' is very specific16:08
kanzureI'd like to avoid that ... but I don't see another way.16:08
fennthere is a subset of g-code that is conserved across all industry, that's the g1 command (and possibly g2/g3)16:08
kanzurethis means that "you *must* have an arm that passes these standardization codes, and it *must* be in this location, and it must be able to move at this rate and with this precision, etc."16:09
fennG1 X0 F60 means goto x 0 at 60 inches or mm per minute16:09
kanzureuh-huh16:09
fennthats a lot of musts.. i only know one person with a functioning robot arm16:10
kanzureoh, I mean a general arm16:10
kanzurelike the ones we see in many industrial manufacturing operations, esp. automobile industry16:10
fennyea, a robot arm16:11
fennoh wait, two16:11
fennthey would both laugh at our idea, so you see, um.. i dont know what i'm saying16:11
fennindustry is very conservative16:12
fennit's why people still use g-code16:12
kanzureI'm guessing the real reason is because they don't have young kids coming in to redesign the factories16:12
kanzureI bet they think it's impossible16:12
kanzure+ there's not enough people wanting completely new factories from the ground up16:12
fennthe reason japan and germany are so successful is because we bombed the shit out of all their old factories and they were forced to build new ones16:13
kanzureand open source solutions are long-term, reconfiguration being needed for updates16:13
kanzureFPGAs for factories16:14
fennindeed16:14
kanzureso.16:15
kanzureconsensus?16:15
kanzureoh16:15
fennits not going to be a viral meme that spreads through industry, they're going to laugh at the whole idea of autogenix until they're forced to scramble and catch up16:16
kanzuresure16:16
kanzureI don't care about industry16:16
fennok, good16:16
kanzure(I mean, it would be great if they did want to contribute, of course)16:16
kanzurebut I was asking for a consensus on what to do with our cupsd clone/hack16:17
fennconsensus means everyone agrees16:17
kanzuredo we want to force 'standardization' (with all of those musts) to make distribution variants for shops? "Yep, I'm running an xyz flavor of shop."16:17
kanzureelse, how do we make this reconfigurable such that any package could specify instructions for no particular implementation16:18
fennstandardization is just another word for black box16:18
kanzuredistributions would have very specific rules16:18
kanzure"there is always a type-354r14 class 1294 arm at coordinates 341, 414"16:19
fennthat sounds too fragile, all DLL-hell and no duck-typing16:19
kanzureright, but I don't know how to do the alternative quite yet16:19
kanzureoh16:19
kanzureI guess any machinery that you *do* add, must be in skdb and fully specced out16:19
fennfirst of all, why does the arm have to be at 341,41416:19
kanzureneeds to be out of the way and have its own spot16:20
kanzurethen the skdb program would run16:20
kanzureand move it around to do its thing for that particular project16:20
kanzure*particular package16:20
kanzure(I don't like it either.)16:20
fennneither of those things have anything to do with the function of an arm, which is to position objects16:20
fennthe arm has to be relative to something else, (or be not in the way, relative to seomething else)16:21
kanzureright, ideally that would be a movable arm, so that you could get cargo and move it from one area to the next16:21
kanzurewheels or something, I don't care16:21
fennthat's more than an arm16:21
kanzureanyway, we both know we hate this implementation16:21
kanzureso back to the reconfigurable one16:21
kanzurelike I said - any machine you do add to your setup, you have to add an entry into skdb and also tell cupsd that you have it (part of the install / setup process, easy)16:22
kanzurethen, you have to find a 'close enough class' that is already implemented16:22
fennskdb is social knowledge, so you'd only add an entry if nobody else had one quite like it16:22
kanzurecorrect16:22
kanzureif it's already there, you'd take it16:22
fennok16:22
kanzurewhich would download a driver for you16:23
kanzurebut if you have a proprietary instrument, though16:23
kanzurethings are going to be different16:23
fenndefine proprietary16:23
kanzurenot open source, you have to consider the driver a blackbox16:23
fennit does have some specifications though16:23
kanzurehow so?16:23
fennyou know, 50 pages/min, 600dpi, requires 110VAC, etc16:24
fennand presumably the company provides instrutions for how to use the software16:24
fenn(or else we're in an nvidia mess)16:24
kanzureif you get those specs from the company, then you have to hack together the interface with cupsd to that driver16:26
kanzurenow, there's one part missing I think16:26
fennok, so besides not knowing how to build the thing, what else do we have to worry about?16:26
kanzureyou have to be able to interpret the code in (skdb) relative to the new tool you have16:27
kanzurethis would be a plugin to agx-make, right?16:27
kanzureerm16:27
kanzureyour new tool exposures some general functionality16:27
kanzureonce you tell agx-make how to access that functionality,16:27
kanzureyou need to tell your computer how to interpret requests for that functionality from (.skdb) packages that are running their code16:28
kanzuredoes that make sense?16:28
fennthere would be some server running, listening for requests to make stuff16:28
fennnot sure i see the problem?16:29
fennyou to describe the capabilities of the machine?16:29
fenns/you/how/16:29
kanzuresigh16:29
kanzureexample: skdb package chair16:30
kanzurechair has some standardized code to make this chair, it's in the file make_chair.py or something16:30
kanzure(the file name was mentioned in the metadata file / skdb file or whatever)16:30
kanzuremake_chair.py has to tell it how to make the chair - it can say "here's this 3D file, make this"16:30
kanzureor it can say other things too like "here's how to specifically maneuver about to make this"16:30
kanzurenow, the specific maneuvering is *general* and *abstract* since it shouldn't ever assume you have specific hardware16:31
fenn3d file = cad, specific maneuvers = cam output16:31
kanzureyeah, but what about the overall manufacturing circuit?16:31
fenncam is the process of taking a cad file, looking at the machine you have, and making specific maneuvers16:31
fenntraditional cam software is very very stupid16:32
kanzureokay, so cam would part of cupsd16:32
kanzure*would be part of16:32
kanzurealso, it has to know what the current state of the manufacturing process is at16:32
fennit usually doesnt know *anything* and you have to tell it how to do everything, one step at a time16:32
kanzureso it would have to know that 'we have a partial chair sitting on platform A223'16:32
kanzurebut you can't do that though16:32
kanzureyou have various hardware implementations16:32
kanzureotherwise we get to those 'too many musts'16:32
fennwhy would it have to know we have a partial chair? cant it just know that there was a job running and got interrupted?16:33
kanzuresure16:36
fenntraditional robots are blind and forgetful16:36
kanzuresigh16:36
kanzureyou dont' seem to get it thoguh16:36
fennyou're right16:36
kanzureyou keep on saying that they are blind and stupid and that is true16:36
kanzurebut the issue is that the hardware is different16:36
kanzuremy setup is not necessarily the same as your setup (we have established this -- otherwise "too many musts" etc)16:37
fennthe reason they are blind and stupid is that the software to make them otherwise is hard to write16:37
kanzureso the hardware implementation of all of the tools and machinery has different protocols16:37
kanzureand the simplification layer doesnt' necessarily know how to connect the (skdb) calls to the driver calls for the machinery16:37
fennit doesnt?16:37
kanzureno, how would it?16:38
fennsimplification is 3d file => sequence of movements, right?16:38
fennyes/no?16:38
fennassuming it is, then each piece of hardware has some metadata provided by a skdb package that is installed on the user's system16:39
fennand that metadata describes the functionality of each machine16:39
fennso there are rules coded in other skdb packages explaining how to go from raw lumber to radially symmetrical objects such as chair legs16:40
fennand other rules explaining assembly of chair legs into chairs16:40
fennyou dont necessarily need a lathe to make a chair leg, but it's the most efficient method (in terms of time, cutter wear, surface finish)16:41
fennsay you had a cnc milling machine, you could mill a bas-relief chair leg into a block of wood, then flip it over and do the other side16:42
fennnet result: radially symmetric object16:42
fennclamping a round shape is a little tricky but it will work16:43
fennfiguring out the clamping is usually the most costly and time-consuming part of a cnc job16:44
fennso its really strange that there is no automated software for it16:44
fennmental map of workpiece holding systems: http://www.emeraldinsight.com/fig/0330220201017.png16:52
kanzure"and that metadata describes the functionality of each machine"16:53
kanzurehuh16:53
kanzureI thought we agreed that you can't formally describe functionality16:53
fenni never said that, you keep saying it and i disagree16:56
fennthat's why i say each package has a provides: section16:56
kanzurehow would that be possible16:58
kanzureklfajsfdkjasl;fjmal;dkfjaskj16:58
kanzureprovides is not the same thing as functionality16:58
kanzurethe program itself is the functionality16:58
kanzureand is explicitly defined by the code16:58
kanzureyou have never disagreed with me on the inability to search for software except by natural languages16:59
fennthere's no classification system for software functionality16:59
fennhowever, there are classification systems for physical functionality17:00
fennexample: transportation17:00
fennif there were no classification, you'd have to say, "find me a thing.. that can move stuff from one location to another"17:00
fennthen you'd have to go through all the ambiguities of that statement17:01
fenndefine 'stuff' and 'one location' etc17:01
kanzureI don't understand how that helps the situation17:01
fennbecause cars and trains and airplanes are classified as transportation17:01
kanzureso what?17:02
fennso you can search for transportation17:02
kanzurethat's social knowledge17:02
fennyes17:02
kanzurethat's the other part of skdb17:02
kanzurewe're discussing the manufacturing code17:02
fennok, there's also "3 axis subtractive machining"17:02
fennis that not a functionality?17:03
fenna lathe is 2-axis machining, or single-point turning17:04
kanzureyou are hurting me :(17:04
kanzureplease explain what the .skdb files would have for their manufacturing code in that scenario17:04
kanzureand how would that interface with the random-ass hardware that you happen to have in your shop environment17:04
fennchair would have 3d cad files showing a radially symmetrical object and describing its material (wood)17:06
fennalgorithm sees that you have lathe installed, which provides 2-axis-machining, it consults the libmachining to find that yes, you can make radially symmetrical objects from wood with 2-axis-machining17:07
fennalgorithm also sees that you have mill installed, with provides 3-axis-machining17:08
fennthis can also make radially symmetrical objects, but the cost is higher17:08
kanzurewhat is 'algorithm' - is it agx-make? the python scripts for that particular skdb package?17:09
fennso the algorithm chooses lathe and invokes CAM routines to cut the part on a lathe, then passes the job off to the cupsd layer17:09
kanzurewait, what?17:09
fennits the program that traverses the big dependency tree describing everything17:09
kanzureokay, so this is 'job-creation routine'17:09
kanzureso agx-make has two parts: (1) job maker/builder, and (2) the scheduler/head-of-the-octopus17:10
fennyou have to pretend to build the job before you can decide if it's worth making (unless there are heuristics available)17:11
fennfor all intents and purposes pretending to build it is the same as building it17:11
kanzurepretending to build == simulation?17:11
fennyes17:11
kanzureor do you mean 'in your head, does it make sense'?17:11
kanzureokay17:11
kanzureso17:12
fenni mean, you'd invoke cam routines, see how long it takes by adding up all the movements and feed rates17:12
kanzurehow would the algorithm see that you have lathe installed? you need a local description of everything you have in your shop, obviously, and then cross-referenced to skdb out on the internet?17:12
fennyes, except for the internet part17:13
fennits a local 'installation'17:13
fennmetadata for every piece of hardware in your shop17:13
fennmaybe you need cad schematics too17:14
fennmodels, not schematics17:14
kanzureit's a local installation, but ideally your parts are described on the internet, no? the only reason they would not be would be if (1) they are proprietary and to some extent closed, or (2) you haven't gotten around to doing a writeup ;)17:15
fennits not as hard as it sounds, most lathes are more or less identical, but with a few dimensions different17:15
fennthe same with drill bits, bolts, etc17:15
fennsometimes it can cost less to buy something standardized than to try to model some old piece of junk17:16
fennbut if people want to model junk, that's fine too17:17
fenndepends on how much you value your time17:17
fennso, do you agree that it's possible to describe functionality?17:18
kanzurethe description is only 'social' in nature17:19
kanzureand I'm fine with that, as long as we keep that straight17:19
kanzureit's just kind of unfortunate17:20
kanzureoh, I get it now17:20
kanzureyou have to know what you have built17:20
kanzureheh17:20
fennthe description '2 axis machining' is a kind of black-box17:20
kanzurein terms of what others have previously built (so that you can classify it properly)17:20
kanzureyeah, if you built a '2 axis machining' thing and didn't know it, good luck trying to hook up with the general api or whatever17:20
kanzurealthough you seem to be arguing that skdb packages would not specify their own 'agx-make' code17:20
fennyou can build a physics simulation of the cutting process, but it would take huge amounts of computer power to run that on every package17:21
fennthere's got to be some way to automatically generalize, but i dont know how to do it17:21
fennsome skdb packages would be processes only, not physical objects17:22
fennthese would be mostly code17:22
fennso the chair package could specify 2-axis-machining, or they might be lazy and let the computer figure it out17:23
fenni think i'd prefer the lazy route since it should reveal the most optimal path17:24
fennyou dont _need_ a lathe to make a chair17:24
fennthere are a lot of inflexible ways of thought.. we call them culture :)17:25
kanzurehuh?17:25
fenn"everyone knows that chair legs are made on a lathe"17:26
fennthen you look at my extruded plastic thing and dont know what it is17:26
fennor something like this http://www.n55.dk/MANUALS/DYNAMIC_CHAIR/CHAIR.html17:27
fennthe dynamic chair is very efficient in its manufacturing process because it uses the same tools they use to build everything else17:28
fennit's probably not a good choice if you dont have access to a sheet metal brake17:28
fennnow, i'm not saying the computer will know how to come up with this innovative way of making a chair, because that requires generalizing the concept of what a chair does17:30
fennbut you could program a 'fitness function' for 'chairness' and let a genetic algorithm pull bits and pieces from skdb17:31
kanzurehuh??17:32
fennhave you seen this page? http://ccsl.mae.cornell.edu/17:32
kanzureso17:33
kanzureeven though we have an exact chair description and so on17:33
kanzurewe still use a genetic algo??17:33
fennan exact chair description is brittle17:34
fennif you dont have all the pieces required for building the chair exactly the way it's specified, you're stuck17:34
kanzurewhy do you need a genetic algorithm though17:35
fennif you have a genetic algo for building chairs, you can automatically make the chair out of whatever you have (maybe)17:35
kanzureyou've completed destroyed my entire concept of wtf this thing is going to be doing17:35
kanzure:)17:35
fenni know :(17:35
kanzurelet's just assume that you have the right materials17:35
fennif you have the exact tools and the exact materials you can make the exact replica17:36
fenni just dont think black boxing is all that useful17:36
fennit leads to DLL-hell17:36
fennit leads to everything we associate with computers17:36
kanzureso I don't know what's going on now17:37
kanzurewhat's the point of adding .skdb packages if they don't tell you anything17:37
fennbut they do tell you things17:37
fennsay we have a package gen-chair17:38
fenngen could stand for generic or genetic algorithm17:38
fennit's a generalized chair17:38
kanzureright?17:38
kanzureso it has to tell you how to make it still17:39
fennyou feed it _specific_ things you have, it pieces them together in random ways and tries to improve on its design, where improve is based on the fitness function17:39
fennthen it dumps its generated model into some manufacturable format17:39
kanzureoh, right17:39
kanzurebecause the items in skdb aren't necessarily the ones you locally have17:39
fennthe manufacturability would be part of the fitness function i guess17:39
kanzureso the piecing-together and scoring function would involve autospec again17:39
kanzureto make sure the units resolve17:40
kanzureand that you have the local resources etc.17:40
kanzure(inventory)17:40
kanzurethen the manufacturing format - this still needs some work though ... 17:40
fennyep17:40
fenni'm sure there's a manufacturing ontology out there already17:41
fennlike http://efunda.com/17:41
fennunfortunately they have no quantitative analysis of each process17:43
kanzurethe manufacturing format would the 'job'17:44
kanzurewhich cupsd/equivalent would schedule, queue up and execute17:45
fenncups has it easy for printing because there's no optimization possible17:45
fennits the same thing every time17:46
kanzureall optimization is done during the job-production step17:46
kanzureso by the time it gets to cupsd, no optimization is needed17:46
fennyeah but there is inter-job optimization too17:46
kanzurehm17:46
kanzureoh, that's true17:46
fennlike, while the furnace is still hot, lets do these other castings quick17:46
kanzureokay, so the manufacturing-format has what optimized?17:46
kanzureit's optimized to local tools, machinery, etc., right?17:46
fennoptimized to the end user17:46
kanzure'tailored' for the end user17:47
kanzureis more like ti17:47
kanzureand then cupsd would do job-optimization, then job-scheduling/queuing.17:47
kanzurejob optimization sounds kind of hard17:47
kanzureI am imagining a yaml format for graphing it out physically17:47
kanzurewhere nodes are processes in the manufacturing steps17:47
kanzureor something?17:47
kanzureand then it would optimize the movement of the object from one place to another?17:47
kanzuredoes that fit what you were thinking?17:47
fennoptimization would occur at each level of blackboxing (abstraction)17:48
kanzurehttp://www.bathsheba.com/ artist doing 3d metal printing17:48
kanzurewhat does that mena17:48
kanzure*mean17:48
kanzureyou said basically nothing to me there :)17:48
fennso as you get closer to sequences of movements, you shuffle things around after each expansion step17:48
fennfirst you knead the bread, then you bake the bread, then you eat the bread17:49
kanzureoh, so you mean 'optimize the kneading process' ?17:49
kanzurehow do you know that it does not violate something that has to occur during the kneading?17:49
kanzurehttp://www.bathsheba.com/sculpt/process/index.html#3dprint17:49
fennthere are rules explaining what you can and cant do17:50
fennor, you could define a fitness function for 'kneaded bread' and let it try all the permutations :P17:51
Splicer2i'm guessing you've seen the open source CAM portion of this: http://www.editthis.info/opencam/Main_Page17:51
-!- Splicer2 is now known as Splicer17:52
fennyes i wrote half of that17:52
Splicerhehe17:52
kanzurefenn: how depressing (re: last msg)17:52
kanzureI mean, that it's such a small number of people that might have a clue of what's going on 17:53
kanzurefenn: how would you describe the rules for allowed/unallowed edits to the process? I guess you can have a 'no rewrite zone' and then stuff that you don't care about, but ...17:54
kanzuregive me a reason why we want 'job optimization' and evidence that it is possible17:54
fennuhhh.. what?17:54
kanzureit's already tailored to your machines, your layout, your resources, ... (from the other stage)17:54
kanzure(from the manufacturing-format generator)17:55
fennbecause otherwise the computer will do things in what appears to be the stupidest order possible17:55
kanzurewasn't that programmed originally by the skdb package maintainer?17:55
kanzureoh17:57
kanzureno, I suppose not17:57
kanzuresince your configuration/layout for your machines is different17:57
fennwhat OS are you running, debian or ubuntu?17:57
kanzuredeb17:57
kanzureso you said to blackbox it all, and then just optimize each step really17:57
kanzureso I'd call this layout optimization17:57
fennwould you mind installing emc2-sim so i can demonstrate some stuff?17:57
kanzureor optimization due to layout17:57
kanzurelet me check17:58
fennits not in the repo's you have to add a repo to /etc/apt/sources.list17:58
kanzureugh17:58
kanzurecan we do it later? I'm completely willing, but going off to do some random stuff in a few moments17:58
kanzurere: optimization at the cupsd stage - what is there beyond 'layout optimization' (obviously you want to choose the shortest possible path, don't be criss-crossing all over the shop)17:59
kanzureand I'm gone for a while or something17:59
fennok, emc stuff later18:00
fennlayout optimization is really about conserving time and energy18:00
fennkeeping the oven warm for the next batch is conserving energy18:01
fennbut if you try to do everything in one big batch, you might end up missing some deadline (or just take 'too long')18:01
kanzurehuh?18:02
fennyou can boil time and energy and materials down into dollars, and then just optimize for dollars18:04
fennbut there are constraints, you might not have enough (time energy materials)18:04
fennthere may be no solution18:04
fennusually though, there are too many solutions18:05
kanzureso it's another GA layer of optimization?18:05
kanzurewhat are the ways of permutation and combination for this layer of GAs?18:05
kanzureobviously it's not manufacturing-formt18:05
kanzure*format18:05
kanzurebut instead it's the options specific to using the machines18:05
kanzureor something like that?18:05
kanzureyou mentioned 'culture' earlier18:05
fenni was imagining it as a highly structured yaml file that gets boiled down into a flat sequence of movements18:05
fennand at each stage of 'boiling' you rearrange the pieces18:06
fennyou could put multiple jobs into the same big yaml file at the start18:06
fennor maybe just keep dumping them in at the bottom of the file, like a queue18:07
fenni like files because i can interrupt the system and easily see what is going on18:09
fennthere are lots of tools for inspecting and manipulating files and i already know how to use them18:10
fennanyway, 'culture' is not just what you have, its what you have to think with18:11
fennyou can build a new machine if you can think it18:11
SplicerI was thinking about that today... concerning this bioDIY thing, I think people view it differently in different countries.  18:26
SplicerI think it doesn´t feel as threatening in Canada for instance, that it lacks that tint.18:28
fennsure, they didnt have to listen to endless news stories about anthrax18:29
fennand a 'diy chemist' is not necessarily someone making bombs or drugs18:29
fenn(if you're canadian)18:30
fennthat's not what i mean by culture though18:30
Splicerpeople should probably be more concerned with a computer somewhere accidentally doing something.. but people are used to those now18:30
fenni want you to worry less, live more18:31
fennsrsly.. you're more likely to die in a car wreck18:31
Spliceryeah18:32
Splicerit puts a cap on things18:33
kanzurefenn: so, split it up into microjobs, and then optimize each of the microjobs so that you don't unheat the oven and other stuff like that18:35
kanzureit would be something like 'trend analysis' across the microjobs perhaps18:35
Spliceryou´re talking about building a unified CAM process and manufacturing format right? Which would take a recepie as input and optimize itself to te tools at hand? 18:42
fennyep18:43
fennSplicer: congratulations on actually 'getting it' unlike epitron :)18:43
fennSplicer: here's a pretty picture i drew showing the overall structure: http://heybryan.org/mediawiki/index.php/skdb18:44
kanzurefenn: worst case scenario: it doesn't auto-optimize. fix: somebody adds it in. I think that if it just *flat out works* in the first place, then that's fine. So let's just code in an optimize() method (for this job-optimization, not manufacturing-format optimization (where we do the GA re: local tools and resources)18:49
Splicerbecause the skdb knows everything it's ideal to automatically optimize the solution. If it is fed a welldefined problem, that's the purpose of the system?19:02
fennit's also useful for determining what to do next19:03
fennsay you have a goal in mind, if you can define what your present capabilities are it can find the best path ( i guess that's the same as optimizing)19:03
Spliceryeah19:04
Splicerit's a very cool idea... but huge19:05
fenni expect it to take a long time to get to that point, so we'll be making useful tools in the meanwhile19:06
fennnon-optimized is fine i guess, just frustrating to watch: http://video.google.com/videoplay?docid=5506285167473738661&q=&hl=en19:12
fennsame brazilian guys19:12
kanzurefenn: so you agree it's okay if we ignore that 2nd layer of optimization for now? otherwise I think the architecture is good to go19:20
kanzureSplicer: it's actually quite small19:37
kanzurethe infrastructure/architecture is pretty simple19:37
kanzurenow that we know what it is ;)19:37
SplicerI don´t know, the more one thinks about it the bigger it gets don´t you find?20:24
SplicerWhen I look at your pic, I can´t even figure out what a question would look like that would optimize the connectors in it... it sounds like the kind of problem people have been struggling with for a long time, and the answer would border to somekind of general intelligence.20:30
Splicer"Build me a radio"20:30
fennSplicer: two two hexagons are nodes in the tree, you want to find the optimum path by hopping from hexagon to hexagon20:32
Splicerwhat?20:33
fennthe top to bottom stuff happens more or less automatically20:34
fenngoing from start to finish is left to right though20:34
Spliceryou´re saying; everything is already defined and because of the structure it's defined in, the solution is just following a straight path?20:36
fennthe solution is finding the shortest path20:39
Splicerit sounds a bit like the problem of trying to get a computer to understand natural language, it's not as trivial as it sounds.20:42
kanzurehaha20:44
kanzurethat's why it's not natural language20:44
fennfortunately most engineering languages are formal notations20:45
fennthere is a lot of 'common sense' to be dealt with though20:46
kanzureit would suck if you had to speak to your mechanical conveyor belt instead of formal specs20:46
kanzureor formal voltages20:46
fenntransformal voltages? :)20:46
kanzure<-- clueless20:47
Splicerambiguities aside, formal language is also jumping between hexagons and evaluating paths.20:48
kanzurehuh?20:48
kanzure'jumping' makes your sentence not compile in my brain20:48
fenntraversing trees20:49
Spliceryeah20:49
kanzureSplicer: so do you see how it's not like trying to get a computer to parse natural language?20:53
kanzureHow weird. A while ago I was clicking through some facebook pages (repetitions ... clicked through 40 pages because their interface sucks; I probably should have gone installed a userscript for facebook to autoload the next page and attach to the end of the screen, but whatever),20:56
kanzure and at one point I got an idea for a next step in one fo the tasks I was working on, but I didn't do it *because I was not sure which xterm session was the one I wanted*. How weird is that.20:56
SplicerI don´t know if I understood everyting.. but isn´t it almost exactly the same? The languagespace is defined in the skdb in some formal notation and getting an answer to a question is just traversing the tree?20:57
kanzurewhat question?20:57
kanzureyeah, okay, I see what you mean20:57
kanzurethe thing is that we can only ask very exact questions20:57
Splicer"using this input, optimize it"20:57
kanzurein the case of a self-replicating machine, we hypothesize that it's simply where all of the packages completely loop together20:57
kanzureah, well, the optimization stuff is two-fold20:58
fennthe idea is to 'make no assumptions'20:58
kanzureit's all on the userend20:58
kanzure(1) optimize it to the materials and resources available, plus the tools available - this is just a GA and is simple, plus a scoring function20:58
kanzure(2) possibly optimize it to the microjobs or whatever, so that you conserve power and don't waste heat, or don't go in a zigzag when a line would work20:58
fennsloppy questions are fine, and preferred if they reveal a better solution that a more strict question might have prevented (inadvertently)20:58
kanzureso the optimization is well-defined20:58
kanzureand more optimization algos can be added of course, and users can download 'em to run them20:59
kanzurehm, sloppy questions might be harder to ask though20:59
kanzureyou can't just search for the d-loops20:59
kanzureI guess I need an example of a sloppy question20:59
kanzure"find me a toaster" - that's sloppy, right? you would get everything tagged/described-as toaster20:59
kanzureor any aliased with the word toaster20:59
fennyes, its hard for humans to make just the right amount of uncertainty20:59
kanzure*anything20:59
Splicerthose are the oldest games in computer science i think21:00
fennwe want to run our neural nets in reverse and generate a plausible situation, then ask the machine to do it21:00
kanzureyes, they are the oldest games - and we are damn good at them too21:00
kanzurefenn: huh?21:01
kanzureI don't think that's an accurate description really21:01
fennthat's what people want to do21:01
Splicerthe best example i know is the google translator21:01
kanzureoh21:01
kanzurefenn: yes21:01
kanzureSplicer: how is that an example of what we are describing?21:01
kanzureGoogle Translator is natural language processing (actually, it's a lot of lookups and replaces, plus grammar rules and so on)21:01
kanzureactually, Google search fails in the multilingual domains, eh?21:02
fenngoogle translator sucks, it has no sense of context21:02
kanzureI was suggesting to Jimmy Wales something called MPOV search.21:02
kanzureJimmy was being bashed to death in the news a few months ago21:02
kanzurehe released Wikia Search, and had barely crawled a few hundred thousand sites21:02
kanzureso everybody was very bitter at him21:03
kanzureI jumped on the opportunity and started corresponding with him21:03
kanzureWikia Search is basically built on lucene, nutch, and a few social networking + wiki frontends for their website (yikes!)21:03
kanzureall open source, so I started thinking about that21:03
kanzureand one of the ideas that I came up with, along with the help of a few others on the search-l mailing list over at wikia.com, was the idea of MPOV search, or the concept that people are searching from a certain context21:04
kanzurehe hated it because it was point of view search21:04
kanzureand he wants to be "Objective"21:04
kanzurecan anybody spot anything wrong with that when it comes to searching? ;)21:04
kanzurethe user is the ultimate evaluator in terms of search result quality -- attention is the primary scarcity, and they have a point of view within which they are searching. So if you could load up a specialized "ranking algorithm" for certain specialized searches, you'd sure as hell use it.21:05
kanzurewhich fits into the Wikia/ATLAS-L architecture of the internet21:05
fennthere's no such thing as NPOV21:05
kanzureproducers, aggregators, brokers of 'information nuggets'21:05
kanzurefenn: correct21:05
fennlanguage automatically induces a bias, you're imposing your ontology on the undescribable 'objective reality'21:06
kanzureneat, Machinae supremacy just clicked on for demoscene radio. ('Gianna sisters'). Been forever since I've heard these guys. They had good web presence back in the day.21:06
kanzurefenn: seems obvious to us, but Jimmy was probably feeling attacked21:06
kanzuresince he upholds his Wikipedia editing policies as the highest morality or something21:06
fennsure, NPOV is how you keep people from fighting21:07
kanzureheh - how's that working out for them? (edit wars ...)21:07
fenntake a little from here, and a little from here, and everyone gets their say in21:07
fennwell, arbitration does .. something21:07
fenni dont pay much attention to wikipedia politics (maybe i should)21:07
kanzuredon't know if you should21:08
kanzureI certainly don't, except what I get in my inbox or see in the news21:08
fennthey generate a crapload of text to sift through21:08
kanzureor when I try to edit an article21:08
kanzureyes21:08
fennand all the silly arguments are archived because nobody can come up with a consensus statement21:08
kanzurehave I told you about ##wikipeding ?21:08
kanzurethe idea is to do community depth-N reads of wikipedia in realtime21:08
fennhttp://fennetic.net/milesaway/decision_making21:08
fenn^^consensus appeals to people but it doesn't work in groups > 321:09
kanzureI wonder what would happen if I tried pathologically avoiding decisions21:09
kanzureeither I blank everything out and claim it's not a decision21:09
kanzureor I'd retreat and be doing nothing (but isn't that a decision itself?)21:10
kanzurehehe21:10
fennyou'd get paralyzed and accomplish nothing21:10
kanzureperhaps21:10
fenntrying to follow too many paths at once21:10
kanzurewhich is the core problem of ADHD21:10
fennyes21:10
fennlimited bandwidth21:10
kanzurewild, disruptive microcolumns that have to be locked down by avoiding stimulation21:10
fennoh, if you think the bandwidth is "just the way things are" then the problem is you21:11
fenni'm an unreasonable person though21:11
kanzure'We discuss how excessive neuronal processing may render the world painfully intense when the neocortex is affected and even aversive when the amygdala is affected, leading to social and environmental withdrawal. Excessive neuronal learning is also hypothesized to rapidly lock down the individual into a small repertoire of secure behavioral routines that are obsessively repeated.'21:11
kanzurewhat? (re: your oh line)21:11
fennwild disruptive microcolumns is ok if you can do something with their output (it is useful, in the proper context)21:12
fennbut if there's too much output fighting over the same limited i/o device (eyes ears mouth) then none of them are happy21:12
Splicerlike the mad stock guy?21:12
kanzurefenn: output is constrained though, only so many fingers and toes21:13
kanzureonly so many wpm typed/spoken21:13
fennwell, fix it :)21:13
kanzureand I tend to do 150 wpm typed when really hyperactive and on a roll, it's so that I can try to record each thought as it occurs, but I still lose so much information ... 21:13
kanzureright21:13
kanzurethus my projects21:13
kanzureah, we were going to do something with emc weren't we?21:14
fenni was going to show you the difference between optimized and unoptimized paths21:15
fennif i can figure out how to do that21:16
kanzurepaths would be ways of editing the object?21:16
fennmachining the object21:16
kanzurehunk of metal -> tool to drill all over it or whatever -> yeah21:16
kanzureokay21:16
kanzureso some motions would be optimal, others would be stupid for a certain form21:16
kanzureit's certainly an art, but also an art that gets to be automated for obvious reasons (the computer precision)21:16
fennso, this script will do stuff to download the simulator: http://www.linuxcnc.org/dapper/emc2-install-sim.sh21:17
fennyou can look and see what its doing of course21:18
fennum, i think it will work. there was an issue with libpth2 vs libpth20 yadda yadda21:18
Splicertime to sleep.. cu21:18
-!- Splicer [n=p@h104n2c1o261.bredband.skanova.com] has quit []21:19
kanzurefenn: please go on - I'm doing a few things at the moment but am following and see the script, yes21:19
kanzurealso, what's with the pgp stuff? 21:19
kanzureI recently noticed that APT has been asking me to continue without signatures, but I didn't make much of it21:19
fennits because it's a different repository that is signed by an independent developer21:19
kanzure(don't know why - wasn't thinking)21:19
fennso you have to say 'i trust this developer'21:20
kanzurewell yeah, but apt has been doing it just in general even when downloading from kernel.org21:20
fennhmm.. debian etch shipped with some outdated keys i think..21:20
kanzureweird21:20
kanzurethe fact that security contexts are socially diffused illustrates a good reason for skdb, for example21:21
kanzurethe whole 'reason why circuit ideas are hidden'21:21
kanzure(it's not that they are hidden, but that they are social knowledge and contextual, etc. etc.)21:21
kanzureerm. I have concluded that I suck at verbalizing.21:21
kanzurehrm, my ~/cache/ is 7 GB.21:22
kanzure3.6 GB of CFD software.21:23
kanzurehttp://heybryan.org/wiki/ ikiwiki works21:30
kanzurebut it does not look like it allows editing from the web21:30
kanzureis this a problem?21:30
kanzureadding a few scripts to allow editing of the flatfiles is easy, but how would this be interfaced to the versioning system?21:31
kanzurewould I be able to just dump the new edit of a page into the repository (dump it into git, actively), if I do this, would git know to check for updates and so on?21:32
kanzure(so it'd be a web frontend to sending updates to the git repository  and 'commiting' them)21:32
kanzuredoesn't sound too safe ... hrm.21:32
fennduh.. what? ikiwiki is supposed to commit to its own git repository whenever a web edit is made21:33
kanzureah, nevermind21:34
kanzureit's extra config options that I need.21:34
kanzuresorry, didn't read far enough21:34
kanzureover at http://ikiwiki.info/setup/21:34
fenni dont really get what srcdir is21:38
kanzurethe files?21:39
kanzureit's a wiki compiler, not a straight up wiki21:39
kanzureso /var/www/wiki/ is the presentable files, while wikiwc are the plaintext contents21:39
kanzureor the 'working copy'21:39
kanzuredunno21:39
kanzurenevermind21:39
fennoh i see21:40
fennwoah, interesting collapsible text on the ikiwik setup page (click on Git)21:41
kanzureyep21:46
kanzureit's probably just a div visibility=hidden 21:46
kanzurediv id=5 onmousedown="javascript:document.getElementByID(5).visibility=show;" style="visibility:hidden;"21:47
kanzureoh, well, the onmousedown is on the link obviously21:47
kanzureand it'd be a toggle instead of a straight up 'only show it' method21:47
kanzurehttp://heybryan.org/wiki/ adding git at the moment21:48
kanzuregah, ikiwiki-makerepo does not exist21:50
fenn/usr/bin/ikiwiki-makerepo ?21:50
kanzurenope21:51
kanzureonly ikiwiki and ikiwiki-mass-rebuild21:51
kanzurehttp://ikiwiki.info/plugins/ awesome, they have an hnb plugin (hnb is what I used to make http://heybryan.org/todo.html back in the day)21:51
kanzureso in 2007-12 ikiwiki-makerepo was announced on the debian developer mailing list - http://lists.debian.org/debian-devel-changes/2007/12/msg00054.html21:53
kanzureso.21:53
fenni have ikiwiki        2.4121:54
fennhow did you get the edit buttons?21:55
kanzure1.33 wtf21:55
kanzurefenn: have to enable cgi 21:55
kanzure1.33.3 in particular21:55
kanzurethis sucks.21:55
kanzureare my sources old?21:55
fenni'm using etch/testing21:56
kanzureapt-get update; now I got 1.33.4 ...21:56
fennoh wait, theres an unstable so i guess not21:56
kanzureI thought I installed testing back in February.21:56
kanzureI'm using etch.21:58
kanzureadded to my sources.list: deb http://mirrors.kernel.org/debian/ etch main contrib non-free22:00
kanzuredeb-src http://mirrors.kernel.org/debian/ etch main contrib non-free22:00
kanzureapt-get update22:01
kanzure1.33.4 is still the latest.22:01
kanzuredid you install by hand?22:01
kanzureah, unstable22:03
kanzuredo I dare go unstable.22:03
kanzuresomething must be wrong- "make: command not found"22:09
fennthat's definitely not right22:09
fennoh joy how i missed perl CGI errors22:17
kanzurehttp://www.google.com/codesearch?client=opera&rls=en&q=msgfmt&sourceid=opera&ie=UTF-8&oe=utf-8&um=1&sa=X&oi=codesearch_group&resnum=4&ct=title22:20
kanzuregot my first 'Google Code' result in my web search results22:20
kanzurehm22:20
fennffs22:21
fenni think ikiwiki doesnt have all the dependencies in its debian package22:21
kanzuremsgfmt is in package 'gettext'22:22
kanzurehttp://en.wikipedia.org/wiki/SPARQL thoughts? 22:28
kanzureit looks like a way to work with structured documents (RDFs)22:28
kanzureI think the yaml equivalent is http://yaml.kwiki.org/index.cgi?YPathBrainstorm 'ypath'22:30
kanzureso is SPARQL to RDF as xpath is to XML?22:31
fenncool it works22:35
fennum, i dont know how exactly :(22:35
kanzuregit: 'init' is not a git command22:45
kanzurehrm22:45
fennhere's what i did: http://fennetic.net/pub/irc/ikiwiki22:45
fenngit init works here22:45
fenngit-core  1:1.5.3.7-122:46
kanzure1:1.4.4.4-2 -- it keeps on talking about how I should port over to gitfm, but then gitfm isn't used by ikiwiki, now is it?22:47
fennthe package 'git' is the wrong git, that's some other bullshit that happens to have the same name22:47
fennapt-get remove git; apt-get install git-core22:48
kanzureusr/bin/git: no such file or directory22:49
kanzureso.22:49
fennzowee, there are 138 git-* commands22:49
kanzuregit-core - content addressable filesystem22:49
kanzuregit-cvs - content addressable fs (cvs interoperability)22:50
kanzurebut I have git-core installed, but still no git command22:50
fenndpkg -S /usr/bin/git22:50
fenngit-core: /usr/bin/git22:50
kanzurenot found 22:50
fennwtf22:50
kanzuregit-core version 1:1.4.4.4-222:50
kanzurereplaces: cogito22:50
kanzureso, what's going on?22:52
fennthis is what dpkg -L git-core shows: http://pastebin.ca/99035022:54
fennare you getting something similar?22:55
fenni see this in the changelog (git-core 1.5.2.1-1) debian/control: git-core: Conflicts: git (<< 4.3.20-11) (/usr/bin/git transition).22:56
fennso looks like the package 'git' had /usr/bin/git and they switched it around so git-core was the 'real' git22:57
fennwhat a fubar22:57
kanzureI don't have git-submodule, among others like 'git'22:57
kanzurehm?22:57
kanzureso then what am I to do?22:57
fenn/usr/bin/git-scm22:59
fenni think that provides the same funcitonality as /usr/bin/git22:59
kanzureI'll ln it then.23:00
fennor  /usr/bin/git.transition23:00
kanzureno such file23:01
kanzuregit-scm23:03
kanzurefatal: cannot handle scm internally23:03
fenn./usr/bin/git-scm link to ./usr/bin/git-format-patch23:06
fennlooks like its just a link23:06
kanzureso should we go for svn?23:06
fennugh no23:06
kanzurecvs?23:06
fennnooooo!!23:06
fennthis is a debian etch problem23:06
kanzurefenn, your precious git package does not exist23:06
kanzureeh23:06
fennGIT Transition Plans. Ian Beckwith explained that /usr/bin/git will be maintained via alternatives. Both GNU Interactive Tools and Linus Torvalds' source code management system git provide the same program name. The GNU interactive tools have been renamed into gitfm to resolve this conflict and in etch will contain a wrapper that is able to execute the other program.23:08
kanzurehm23:08
fennfrom http://lists.debian.org/debian-release/2006/08/msg00351.html23:09
kanzurehow does that resolve the conflict23:09
kanzureupdate-alternatives --config git23:09
kanzureThere is only 1 program which provides git \n (/usr/bin/git-scm). Nothing to configure.23:10
fennyou have no file /usr/bin/git-scm?23:10
kanzurefatal: cannot handle scm internally23:10
fennthe fatal: is at least a git error :)23:13
fenni think git 1.5 is a lot different from 1.423:15
kanzurethere is a way to specify which version to get via apt23:16
kanzureapt-get install git-core <something here>23:16
fenngit-core=1.5.12312312323:16
fennbut its not in the etch repo's23:16
fennbecause etch is old23:16
kanzureso, should I try apt-get dist-upgrade?23:16
fennif you dont mind things being broken for a while :)23:16
kanzureeh, but I do23:17
kanzurecan I install it by hand?23:17
fennyes23:17
kanzureyou recommend 1.4?23:18
fennno, 1.523:19
fennhttp://packages.debian.org/testing/devel/git-core23:19
fennor from source: http://kernel.org/pub/software/scm/git/git-1.5.5.tar.bz223:20
kanzure./configure was successful23:23
kanzuremake23:23
kanzurein file included from daemon.c:1, cache.h:9:18: error: zlib.h: No such file or directory23:23
kanzurehrm23:23
fennsudo apt-get build-dep git-core23:26
fennshould get a lot of -dev packages23:26
fennhrm no source package.. lame23:27
kanzureI got the dependencies from http://ftp.de.debian.org/debian/pool/main/g/git-core/git-core_1.5.5-1.dsc23:27
fennok23:28
kanzure"Yes, and how do you envision that working? I think a great deal of time and effort would need to be given to societal structure on Mars. Dare I say that it would be much more useful for a Virgle colony to leave social planning to social scholars... I would much rather live in a Paul Fernhout society than a Bryan Bishop society. Stick to engineering or physics, Bryan, haha." - some random guy from the Virgle mailing list re: 'some23:32
kanzuresigh23:32
fennfernhout is a social scholar now?23:34
fenncant we all just get a long23:35
kanzurethe virgle group is a big source of hostility23:35
kanzureit's really weird23:35
kanzureI think it's attracted the wrong people or something23:35
kanzurevery angry people23:35
kanzuremake, make install23:36
kanzuregit - still no such file23:36
kanzurethis was with 1.5.523:36
kanzure(git-core)23:36
fenn/usr/local/bin/git?23:38
kanzureexists23:39
fenn\o/23:39
fennso.. does it work?23:40
fennmkdir testgit; cd testgit; /usr/local/bin/git init23:41
kanzureyes23:41
kanzurebut uhh, how do I create the link?23:41
kanzureln /usr/bin/git /usr/local/bin/git does not work23:41
fennother way around23:41
fennln -s /usr/local/bin/git /usr/bin/git23:41
fennbut it should find /usr/local/bin/git if the command is being called in a halfway decent manner23:42
kanzure'ln creating symbolic link blah to blah2 : file exists'23:42
kanzuregit still does 'no such file or directory' though (for /usr/bin/git)23:42
fennhmm i thought you just said /usr/bin/git didnt exist23:42
kanzurehm23:42
kanzureright23:42
kanzurebash says that too23:42
fennls /usr/bin/git23:42
kanzureresponds with /usr/bin/git23:42
fennuh.. ls -l  /usr/bin/git23:43
kanzure/usr/bin/git -> /etc/alternatives/git/23:43
kanzureerm23:43
kanzureminus the lash /23:43
kanzure*last /23:43
fennaroo23:43
fennls -l /etc/alternatives/git23:43
kanzureit's a link to /usr/bin/git.transition23:43
kanzurewhich does not exist23:43
fenni see23:43
kanzureso, remove /usr/bin/git ?23:44
fennfirst, uninstall git-core23:44
kanzureyes, git.transition doesn't exist for a good reason23:44
kanzureI did uninstall git-core earlier when there was that conflict23:44
fennok23:44
kanzureso it just left the link for some reason23:44
fennhack away23:44
kanzureokay, let's see now23:44
fennor you could do update-alternatives git23:44
kanzurehttp://heybryan.org/wiki/recentchanges/23:47
kanzurewtf?23:47
fennyeah its pretty ugly23:48
kanzurebut why isn't the [[ wikicamel ]] interpreted?23:48
fenndont know23:48
kanzureand now the edit page isn't working23:48
fenneyes burning..23:58

Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!