< 1185580824 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1185580838 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rummages around in his box of shit < 1185580863 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a box of apples and a string. < 1185580872 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heheh < 1185580873 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and a jar of sour cream. < 1185580908 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and a spoon of Syntactic Sugar (tm) (or any other sugar) < 1185580909 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, the only thing I think I have enough of to make gates with would be horribly ironic < 1185580932 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a bunch of Sun ROM chips as fulcrums and Sun RAM as levers < 1185580942 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a length of string with an apple on each end, hanging from a pivot < 1185580964 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a REAL computer has to be fully edible. < 1185580971 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :otherwise, what's the point? < 1185580983 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Second. < 1185580991 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :http://www.theapplecollection.com/Collection/objects/images/breadcomputer.jpg < 1185581032 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think I could develop a bread computer based around mold-logic < 1185581045 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :lemme do some experiments < 1185581330 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1185583212 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I think I once asked somewhere how to build a replicator entirely out of water. < 1185583226 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And salt, as long as it's done in the ocean. < 1185583292 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this was one of my ideas < 1185583303 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :you and I had an extensive discussion on the matter < 1185583337 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, indeed. < 1185583339 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :fluidics, temperature/pressure regulation, hydraulic actuation, harnessing power, picrete and the like < 1185583353 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That does sound extensive. < 1185583358 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it was < 1185583379 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :do you wish to perform more thought on the matter? < 1185583379 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Did we settle on whether to use temperature or pressure to form ice? < 1185583393 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think pressure was determined as more controllable < 1185583404 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Mm, let's think of exotic replicators and computers in general :-) < 1185583408 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :although we obviously maintain an internal temperature near the flux point < 1185583413 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, yes. < 1185583447 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i want to build some sort of cooler < 1185583455 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How do you build even a somewhat stable structure out of ice and water all at the same temperature, though? < 1185583456 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think we should each develop some basic components (logic gates, timers or similarly usable devices) with extremely limited and commonly available materials < 1185583477 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :or a heat pump, but a real cooler would be better < 1185583481 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ihope: I'd presume you'd need to build stuff kinda lego-style < 1185583495 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :so that you could prefab simple parts and then mechanically assemble them < 1185583507 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and then water+cold could be used as a sort of glue or sealant < 1185583543 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :or with a *lot* of tricky work you might be able to control temperature precisely enough to do some basic self-assembly < 1185583556 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :possibly a combination of those techniques < 1185583594 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :All rather complicated :-) < 1185583638 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, naturally, energy intake has to be done somehow, and naturally, there's naturally current in the ocean. < 1185583641 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I don't think there's any really simple way to do arbitrary manufacturing anyway < 1185583660 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :We could take in energy at river deltas! < 1185583675 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :my main energy source idea lied in using the temperature/pressure differential between deep water and the surface < 1185583701 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That can be used? < 1185583706 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and you could then form some kind of convection pump without moving parts (a big plus!) < 1185583715 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess temperature can, indeed. < 1185583721 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :No moving parts is good :-) < 1185583745 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it would be inefficient and low-yield, but infinitely(ish) renewable and probably quite robust < 1185583749 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Remember that the water at the top has more potential energy than the water at the bottom. < 1185583758 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Robustness is very good. < 1185583773 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ooh, vortex tube < 1185583782 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1185583832 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I also think that siphoning can be an extremely useful property in generating the 3d-layout of our fluidic circuits < 1185583848 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Siphoning... < 1185583904 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gravity makes for a fairly robust power source. . . < 1185583905 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :siphoning allows us to solve the wire-crossing problem without needing much in terms of backpressure on the system < 1185583913 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: gravity is a power source? < 1185583919 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ihope: You can use it as one. < 1185583920 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yeah, but the machine would need to store kinetic energy to use that < 1185583929 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: wire-crossing? It's three-dimensional... < 1185583935 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: how? < 1185583935 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. . . Like, say, using siphoning. < 1185583974 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Gravity is harnessed by moving high-density stuff down and low-density stuff up. < 1185584005 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks back to see what you've been doing. . . < 1185584006 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It'd be a good idea to get a list of every possible energy source. < 1185584057 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The things that vary in water are velocity, temperature, pressure, salinity? < 1185584064 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1185584078 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :One could, at least in the ocean, obtain some power via waves. . . < 1185584089 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yup. That's velocity, no? < 1185584094 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . Right. < 1185584104 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :with an icemachine, I'd say our biggest limitation is that many energy sources need to be carefully controlled to avoid destroying the machine and that mechanical parts need to be kept very simple < 1185584118 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, water also has height, of course. < 1185584135 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Though that only affects pressure, I guess. < 1185584145 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, of course, fluidic circutry itself makes for a really, really large system. < 1185584148 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :wave action is a potential source, but it'd probably be difficult to harness the motion on more than one axis < 1185584152 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And the collective height energy of the entire ocean isn't likely to change much. < 1185584156 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: true < 1185584215 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So the energy sources are velocity differentials, temperature differentials, salinity differentials, and whatever pressure does. < 1185584229 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :fluidics are primarily limited here by our ability to manufacture things, however. There's also the issue that we'll need tubes wide enough that we can keep them from freezing solid instantaneously < 1185584243 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. . . One tricky way to keep the ice from melting is to make the ice from pure water, not saline. < 1185584271 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Pure ice melts more slowly than saline ice? < 1185584274 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1185584280 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pure ice has a higher melting point. < 1185584289 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pressure (as in compressed air) has been demonstrated as a highly feasible way of storing energy, at least. Take a look at Theo Jansen's work with wind-powered automata < 1185584328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The system could be in an ocean, and use the ocean water for the fluid in your ice machine. . . < 1185584335 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And still have the whole thing below freezing. < 1185584352 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I figured we could do a good job of protecting the machine from outside heat (and internal heat in some situations) by making use of something like picrete, which melts very slowly in comparison with ice < 1185584373 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1185584431 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :But picrete contains sawdust, no? < 1185584441 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or at least some type of dust? < 1185584443 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :picrete tubing (slow melting, we can keep it "warmer") plus saline liquid running through the circuitry (low freezing point) could be a good way to keep things from fusing together or jamming < 1185584449 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ihope: sawdust, yes < 1185584457 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :so it's a minor cheat < 1185584463 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Could you make a picrete-like stuff from other materials? < 1185584468 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1185584481 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You can't use sawdust in a replicator unless the replicator cuts down trees. < 1185584490 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :anything that can serve as an insulator and is attracted well to water, I suppose < 1185584492 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1185584511 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :alright, so picrete is out of the question < 1185584534 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :is there any way we could generate a shield from solar radiation by trying to polarize ice? < 1185584567 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And I don't believe putting water under pressure actually requires any energy. < 1185584578 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Polarize ice? < 1185584602 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :manufacturing optical-quality ice would be immensely difficult, so I don't consider it viable for computation, but we might be able to use it for protection < 1185584612 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Velocity, temperature, pressure, salinity, then density is a function of... some of those. < 1185584613 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ihope: polarized. as in a polarizing filter. < 1185584623 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Do you know that that's possible? < 1185584629 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :no < 1185584636 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but I imagine it might be < 1185584701 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it can be done to glass and plastic, primarily though heat-stressing < 1185584702 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, I guess that makes our energy sources velocity differentials, temperature differentials, salinity differentials and density differentials. < 1185584713 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :however, a mechanical method of polarization might be possible < 1185584722 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Velocity over position, temperature over position, salinity over position and density over height. < 1185584824 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :so, polarized ice is a purely theoretical idea, but I thought I'd throw it out there as something to consider < 1185584838 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods < 1185584905 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, density-over-height differentials tend to turn themselves into velocity-over-position differentials, and I think temperature is proportional to density... < 1185584914 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How do you utilize salinity differentials? < 1185584938 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :have we figured out how we'll represent signals in a fluidic system? pressure/no pressure, bubbles in liquid, possibly run the thing entirely on compressed air (thus completely avoiding the difficulty of making non-freezing circuits) < 1185584942 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :If you have a patch of extremely salty water next to a patch of freshwater... how do you get energy out of that? < 1185584956 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :osmotic pressure! < 1185584962 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right! < 1185584978 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...wait, osmosis? Doesn't that require a membrane? < 1185584990 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :semipermiable membranes might be difficult to manufacture, true < 1185585009 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but that's how you'd extract energy from a situation like that < 1185585056 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :is a salinity differential considered kinetic potential, chemical potential or.... entropic potential? < 1185585155 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :now, another thing to consider here- in addition to water and salt, the ocean offers some other potential materials to work with. Assuming we could host/control a suitable environment within or around the machine, could we use algae to do anything useful? < 1185585220 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'll bet algae + light control and pathways for the algae to propagate in could form some *really* slow logical circuitry < 1185585252 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1185585269 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's awesome < 1185585272 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but after all, there's nothing that says this machine has to be fast, as long as it can reproduce before it wears out or breaks down < 1185585290 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :layers of algea, the top blocking light in places for the other layers < 1185585322 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if you have a way to move algae between layers you have logic < 1185585327 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and if the machine was interacting with it, it could strategically kill various algae colonies or patches via temperature control < 1185585367 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a single microorganism is complex, but colonies of them act in extremely deterministic ways. :) < 1185585370 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION contemplates doing computation via PVC and compressed air. . . < 1185585384 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :easy < 1185585388 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it'd actually be very feasible < 1185585394 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1185585396 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :macro fluidic logic has been well studied < 1185585398 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just contemplating it. < 1185585401 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :zero moving parts would be harder, but still workable < 1185585424 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I didn't figure it'd be impossible, I figured it'd just be interesting. < 1185585437 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: given the difficulty of microfluidics fabrication with existing technology, we should think in terms of macro < 1185585449 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: definately < 1185585457 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1185585458 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: just commenting- I didn't think you were jumping to conclusions or anything < 1185585462 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i can think of a compressed air NOR with moving parts < 1185585506 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I can think of a AND/AND NOT/NOT AND gate, I think. < 1185585528 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a fluidic analog transistor without moving parts: http://upload.wikimedia.org/wikipedia/en/2/2a/Fluidicamplifier.gif < 1185585543 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I really should call that third not (NOT X) AND Y or something. < 1185585552 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Digital? < 1185585556 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :X AND Y; X AND NOT Y; (NOT X) AND Y < 1185585563 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm... < 1185585616 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :analog logic is generally less reliable and more complex, but it *would* offer much more functionality from fewer parts than a digital equivalent < 1185585630 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think this suggests hybridization is a good idea < 1185585635 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What about computing with ants? < 1185585644 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :analog would be terribly difficult with fluids, considering losses < 1185585668 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ihope: doable, but much harder than with a simpler organism like fungus or algae < 1185585702 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Computing with human interpreters of simple English instructions. :p < 1185585709 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it'd be so hard to box the ants in enough to be computationally useful that I'd doubt it was worth it < 1185585717 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1185585726 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :We could hand out "The Brainfuck Interpreter Book", and have each person in IRC be a single cell. < 1185585742 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe one that would hand out opcodes to the rest. < 1185585744 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Compute with lichen: the combined power of fungus AND algae! < 1185585750 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that's because you can layer linguistics and high-level logic on top of human instinct quite easily < 1185585762 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1185585772 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That'd just be remarkably amusing. . . < 1185585775 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Kind of like IRP. ;) < 1185585788 0 :ihope_!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | NO, IRP ALLOWED < 1185585818 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I guess you *could* think of the icemachine as incorporating a self-supporting ecosystem of some sort < 1185585834 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not sure it's feasible < 1185585867 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :If we create this, we must make it open-source. < 1185585890 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Now, I'm sure fungus/algae/lichen can be simulated somehow. < 1185585902 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"Build an icemachine! All you need is a freezer, some ice-cube trays and an ocean!" < 1185585926 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :You might want to turn the freezer inside-out. < 1185585936 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1185585949 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but I was considering it primarily a fabrication tool < 1185585997 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm going to see if I can design an interlinking block that can function like a lego brick while being simple enough to build with tapwater in a normal refrigerator < 1185586012 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the design would be for the molds, naturally < 1185586025 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What happens if you put one refrigerator inside another? < 1185586050 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you could do with something a bit more practical? < 1185586068 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :? < 1185586069 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds the RepRap idea both interesting and useful. . . < 1185586107 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :nah, an icemachine would be infinitely more interesting than a reprap even if it's orders of magnitude more difficult and inefficient < 1185586204 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :How easy is it to simulate one ant? < 1185586213 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hard as fuck < 1185586213 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Depends upon the ant. < 1185586217 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Langton's is easy. :p < 1185586227 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh- haha- good call, pikhq < 1185586253 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Of course, I doubt that has much to do with reality, so not all that helpful. :/ < 1185586289 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SimAnt sort of simulates ants. < 1185586296 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Probably not a very sophisticated system, though. < 1185586302 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it occurs to me that living at MTU places me in a prime position (based on average snowfall and general temperature ranges) for basic Icemachine R&D experimentation < 1185586332 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :maximum transfer unit? < 1185586350 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Michigan Technological University < 1185586355 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but that other one, too < 1185586471 0 :ihope!unknown@unknown.invalid QUIT :Connection timed out < 1185586613 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~jblomqvi/langton/index.html < 1185586626 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I think you may be able to build a Turing machine out of that! < 1185586881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Langton's ant *is* a Turing machine. < 1185586952 0 :ihope_!unknown@unknown.invalid QUIT :"http://tunes.org/~nef/logs/esoteric/06.08.09" < 1185586976 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think ihope meant a UTM < 1185586983 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1185587095 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1185587863 0 :Sukoshi!n=Sukoshi@user-11fa8vp.dsl.mindspring.com JOIN :#esoteric < 1185588037 0 :Sukoshi!unknown@unknown.invalid PART #esoteric :? < 1185589276 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1185590292 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1185593392 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION randomly chants "Geocide!" < 1185593477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"NO, IRP ALLOWED" < 1185593617 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1185593738 0 :ihope_!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | GEOCIDE! | NO, IRP ALLOWED < 1185593777 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://qntm.org/geocide You have to link to it. < 1185593862 0 :ihope_!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | UNRELATED WEBSITE: http://qntm.org/geocide | NO, IRP ALLOWED < 1185593911 0 :ihope_!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion - FORUM AND WIKI: esolangs.org - CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric - UNRELATED WEBSITE: http://qntm.org/geocide | NO, IRP ALLOWED < 1185593937 0 :ihope_!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | UNRELATED WEBSITE: http://qntm.org/geocide -- NO, IRP ALLOWED < 1185593943 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :There! < 1185594148 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unrelated hell. It's exactly the wort of evil we discuss! :p < 1185594161 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :sort, even. < 1185594670 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :uh, you gotta love that page < 1185594972 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :>:D < 1185595767 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to be banned from #scheme forever < 1185596070 0 :ihope_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1185596678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: that was fun :P < 1185596723 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :very < 1185597054 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :bot loops are the essence of irc < 1185597194 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Condensed into annoying goodness. < 1185597217 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :everyone loves a good flood < 1185597217 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a better challenge would be to do the busy beaver of bot looping < 1185597228 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1185597229 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :true < 1185597229 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ie it has to halt, just spam a whole lot before doing so < 1185597245 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :too easy with scheme though < 1185597270 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :because a dead elephant could write one that floods for 8 billion years before stopping < 1185597392 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :'night, everyone < 1185597412 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1185600337 0 :Sukoshi!n=Sukoshi@user-11fa8vp.dsl.mindspring.com JOIN :#esoteric < 1185600371 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :What's the typical idiom used to read lines from unknown-length streams? < 1185600377 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :In Java, I mean. < 1185600527 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good question < 1185600548 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :... :P. < 1185600577 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :My Java book doesen't go through an idiom. < 1185600710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1185600712 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :.read()? < 1185600721 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :idi om < 1185600754 0 :Sukoshi!unknown@unknown.invalid PART #esoteric :? < 1185602090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck, i gotta go soon < 1185602099 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Is "fuck" the reason? < 1185602123 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i doubt that :\ < 1185602154 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you never know < 1185602167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i guess i'd have to know now for it to be a reaosn < 1185602169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*reason < 1185602517 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :to the camping < 1185602625 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yar < 1185602741 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :...and there's the ban < 1185602847 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1185602862 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :people are so sensitive about banning < 1185602865 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*flooding < 1185602866 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1185609599 0 :clog!unknown@unknown.invalid QUIT :ended < 1185609600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1185610574 0 :Sukoshi!n=Sukoshi@user-11fa8vp.dsl.mindspring.com JOIN :#esoteric < 1185610661 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So I'm reading about the factory pattern. < 1185610704 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If the factory can create different classes and return them ... do you have to use runtime class checking to check what you get, or do you rely on Polymorphism all the way? < 1185610716 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Because if the latter is true, the Factory method is not for me. < 1185610748 0 :sebbu!n=sebbu@ADijon-152-1-110-6.w86-218.abo.wanadoo.fr JOIN :#esoteric < 1185610784 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Because this annoying casting is becoming ... Sphagetti-like in places ... I don't know how to clean it. < 1185610806 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Without doing a major refactor, which I'll probably end up doing... < 1185610818 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And ... my hand hurts like the seven suns, so I'll stop now. < 1185620364 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1185620364 0 :clog!n=nef@bespin.org JOIN :#esoteric < 1185622588 0 :sebbu2!n=sebbu@ADijon-152-1-107-120.w86-218.abo.wanadoo.fr JOIN :#esoteric < 1185623401 0 :sebbu3!n=sebbu@ADijon-152-1-17-143.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1185623703 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1185624573 0 :sebbu2!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1185625623 0 :sebbu3!unknown@unknown.invalid NICK :sebbu < 1185626087 0 :ehird`!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1185631384 0 :puzzlet!n=puzzlet@147.46.241.168 JOIN :#esoteric < 1185633026 0 :RedDak!n=dak@87.18.90.97 JOIN :#esoteric < 1185635814 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1185635828 0 :jix!n=jix@dyndsl-091-096-058-180.ewe-ip-backbone.de JOIN :#esoteric < 1185636533 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1185641933 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1185641938 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1185642138 0 :Mahjong_on!n=Mahjong@pD95EE8A8.dip.t-dialin.net JOIN :#esoteric < 1185642157 0 :Mahjong_on!unknown@unknown.invalid NICK :Mahjong < 1185642261 0 :blahbot`!n=blahbot`@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1185642269 0 :blahbot`!unknown@unknown.invalid PRIVMSG #esoteric :someone should really write a wapr program < 1185644318 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Someone should really write a "Get pikhq off his lazy ass" program. < 1185645117 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Someone should really write a "make ndiswrapper work" program. < 1185645213 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's called "slavery". < 1185645258 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :It is? < 1185645270 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it is. < 1185645309 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yes, somebody should do that. < 1185646694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :somebody should really write a "somebody should really write a "som < 1185646815 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What's a "somebody should really write a "som? < 1185646860 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a recursive request < 1185646864 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is this better < 1185646865 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :somebody should really write a "somebody should really write a "som... < 1185646906 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :x where x = somebody should really write an "x" < 1185646941 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How do you write one of those, exactly? < 1185646961 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you'll have to see what comes after the infinite recursion to know. < 1185646968 0 :RodgerTheGreat!n=Rodger@wads-5-232-125.resnet.mtu.edu JOIN :#esoteric < 1185646982 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hello everyone < 1185646990 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1185647002 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hey, ihope < 1185647006 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :There's an after. < 1185647008 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: wllo. < 1185647012 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And ello, to. < 1185647017 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And too, too. < 1185647064 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. This ISO download is going very slowly compared to how fast it was going with those other mirrors. < 1185647112 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :...hey! No fair! < 1185647115 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, never mind. < 1185655616 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1185655627 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Calamari again! < 1185655645 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi pikhq < 1185658111 0 :RedDak!n=dak@host193-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1185658848 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :INTERESTING BRAINFUCK PROGRAM IDEA: A program, in a certain shape (Say a christmas tree) that, when ran, produces a program of the same shape (Only smaller or bigger - but the same shape) which does the same thing. So, you could have a theoretically endless chain of different trees. < 1185658860 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1185658865 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it's like a recursive ascii-art-program generator or something < 1185659175 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1185659286 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :difficult < 1185659297 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but possible, no? < 1185659316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the christmas trees will just have to range in size from very very large to larger-than-universe large < 1185659514 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :possible, just difficult < 1185659546 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :for starters, try simply writing a "quine" that produces a longer version of itself each time < 1185659603 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why a longer version? the program has no restrictions on which direction the size takes < 1185659632 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as long the output of x is not x, and the output of x AND x are in the shape of a christmas tree, and the output of x obeys the same rules, then it's valid < 1185659649 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not sure what that has to do with what i said < 1185659651 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :harder to get smaller than bigger < 1185659681 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, true, but a christmas-tree generator that just grew a constant amount every time wouldn't be quite as good < 1185659684 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, yes, good starting point < 1185659695 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: actually smaller is much easier < 1185659704 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in fact trivial < 1185659708 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1185659719 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, well you'll get it down to the minimum christmas-tree-shape size possible while still working at some point < 1185659727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you need it to grow at least some times < 1185659733 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: start with a smallest program, then simply generate a program that prints that one < 1185659740 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, pah =p < 1185659742 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :continue like that for any number of steps you wish < 1185659744 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh, yes < 1185659754 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, that doesn't work < 1185659759 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because the sequence stops eventually < 1185659765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of continually producing trees < 1185659775 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: er, well it can't get smaller forever, can it? < 1185659787 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, exactly - so on some occasions, the tree must instead grow < 1185659802 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so it sometimes shrinks, sometimes grows????? < 1185659806 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :then just have two trees < 1185659811 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :one big, one small, each one prints the other. < 1185659822 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, that produces the same tree more than once < 1185659827 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think you're on crack < 1185659853 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you want a non-monotonous ininite sequence < 1185659864 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it is possible - if you produce, e.g. a 5x bigger tree every 3 steps, which then decreases 0.5x 3 times, then repeats < 1185659899 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :perhaps it should employ a random number generator. infinite possible non-monotonous infinite sequences from one program? yes, i am insane < 1185659902 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :then just make one that always grows, because that's easier. < 1185659919 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually a random number generator would work well < 1185659932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the grow/shrink problem would be solved, and each iteration could produce many different paths < 1185660017 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :non deterministic brainfuck? < 1185660036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there are quite a few prngs in brainfuck... < 1185660041 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just use one of them. < 1185660083 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :they're all deterministic... < 1185660105 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sure, but it's good enough < 1185660123 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually, any PRNG is deterministic. . . < 1185660132 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1185660135 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :good enough for what? < 1185660137 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :easy to add nondetermism to bf < 1185660142 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, the purpose of the program < 1185660148 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :look < 1185660157 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if a program can grow or shrink < 1185660163 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :then start with the smallest program, that can't shrink < 1185660184 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :add a new instruction, C, that puts a 1 or a 0 in the current cell < 1185660188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not the point < 1185660215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the point is to create a program X (where the output produced when running x is Y): < 1185660215 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: That's still deterministic, since it's relying upon a different (higher-quality) PRNG. < 1185660221 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :- X is in the shape of a christmas tree < 1185660235 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: no < 1185660247 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :- X randomly either grows or shrinks into Y, according to the output of a PRNG < 1185660252 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :- Y obeys all of these rules < 1185660262 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the interpreter doesn't have to be deterministic < 1185660266 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: sounds too baroque < 1185660278 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, why? it would work perfectly < 1185660308 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :don't forget "and at each iteration, the tree can randomly change into a pink elephant" < 1185660319 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1185660332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :X is perfectly possible to create < 1185660337 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just very difficult < 1185660344 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: The issue is that your interpreter will be relying on a PRNG, which is, *by definition*, deterministic. . . < 1185660357 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: who said the interpreter will be relying on a PRNG? < 1185660372 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament: One assumes that it runs on a standard computer. < 1185660374 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: we can actually specify that the interpreter MUST be fully random. < 1185660388 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's up to the implementor to figure out how to achieve that. < 1185660389 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: standard computers can be nondeterministic < 1185660390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it's got a hardware RNG, then it won't actually be deterministic. < 1185660393 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(it's actually very easy) < 1185660423 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, at best, you're dealing with a really hard-to-reproduce seed for your PRNG. < 1185660447 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... anyway < 1185660451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a PRNG will be good enough methinks =p < 1185660464 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's good enough for cryptography. ;) < 1185660488 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: do you think truly random numbers don't exist, or do you think computers can't get access to them? < 1185660499 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if anyone actually writes X, they're probably the best BF programmer in the world < 1185660541 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament: I think that computers are, without hardware that most computers don't have, fairly deterministic. < 1185660563 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: int f(){ int i = 0; int tick = clock(); while(tick == clock()) i++; return i; } < 1185660567 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(although they can act almost like they're not, just due to the sheer amount of input and output they have) < 1185660574 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :f is nondeterministic on most computers < 1185660591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course this requires a BF ext < 1185660593 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: that's why there's this thing called "internet" which allows computers without special hardware to connect to those with special hardware < 1185660596 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whereas "BF" was specified in the spec =) < 1185660606 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament: . . . Granted. XD < 1185660618 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: and several servers providing truly random numbers. < 1185660640 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . Yes. . . XD < 1185660671 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no such thing < 1185660675 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nothing is random =) < 1185660694 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :quantum mechanics disagrees! < 1185660707 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I beg to differ; the universe itself seems to be nondeterministic and provides many entropy sources. < 1185660718 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(roughly one per subatomic particle, in fact) < 1185660756 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me a subatomic random number entropy-source generator < 1185660758 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it just seems that way because we aren't smart enough to see that it is deterministic < 1185660771 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pulls out a geiger counter < 1185660774 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: geiger counter < 1185660790 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... on the internet. < 1185660803 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hooks a geiger counter to his computer < 1185660809 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay, you win < 1185660821 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i highly doubt a geiger counter is feasable for a BF interpreter. Mm? < 1185660829 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: http://www.hotbits.com/ < 1185660834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :errrr < 1185660852 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :is that a porn site? :) < 1185660859 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: You can probably have sufficient entropy just from watching fluctuations in the clock. < 1185660869 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://www.fourmilab.ch/hotbits/ < 1185660878 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's the link i was going for < 1185660883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thats an unfortunate name < 1185660885 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Or by using /dev/urandom. . . Not truly random, but PRNG are 'good enough'. < 1185660893 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: that's what that code does < 1185660924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION listens to the sound of radioactive decay < 1185660955 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the difference between /dev/urandom and a PRNG in pure brainfuck is that the latter will produce the exact same sequence every time, which is just dumb. < 1185660959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i like this < 1185660973 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :lament: Not quite. < 1185660982 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament, Well sure, but the program generated will produce a different sequence than its generator which is what matters < 1185660982 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You could have it pull a fairly large seed from stdin. < 1185661009 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, in that case, for ehird`''s problem, you don't even need a rng < 1185661019 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it could just ask the user whether he wants to grow or shrink the tree. < 1185661026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1185661028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the program must take no input < 1185661037 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ah, well, there you go < 1185661043 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you should for example, be able to run it in a shell script loop < 1185661595 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.. it is possible, right? < 1185662109 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=/ < 1185663147 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1185663845 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1185663860 0 :blahbot`!unknown@unknown.invalid QUIT :Remote closed the connection < 1185664726 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Use the stock market as a random number generator! < 1185664776 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :easy to manipulate < 1185664776 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Up a cent, 1. Down a cent, 0. Then... do something. < 1185664788 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Skew transform? < 1185664826 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's a skew transform? < 1185664848 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Turn 01 into 1 and 10 into 0. Discard 00 and 11. < 1185664862 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Do you know what that's called? < 1185664899 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i've heard it called skew correction < 1185664905 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's probably it. < 1185664990 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :apparently you can use a FFT to deskew < 1185665284 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Fast Fourier transform? < 1185665295 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1185665687 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Entropy = 0.931452 bits per byte. < 1185665749 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Entropy of what? < 1185665788 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :/dev/audio < 1185665805 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to dewskew it and see what i get then < 1185665842 0 :Mahjong!unknown@unknown.invalid PRIVMSG #esoteric :-/dev/audio : device not found < 1185665954 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :How is that entropy calculated? < 1185665995 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the simple way < 1185666006 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :There's a simple way? < 1185666029 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :well, no < 1185666135 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Then how's it calculated? < 1185666171 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i think it counts the number of occurences of each octet, and the does -\sum_{i=0}^255 a_i/n * \log (a_i/n) < 1185666184 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :where n is the number of octets < 1185666199 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and a_i is the number of occurences of octet i < 1185666211 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :So it's easy to fool < 1185666218 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :right < 1185666252 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Of course, all entropy calculators can be fooled. < 1185666272 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :right < 1185666338 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :#define NBIT(n, byte) (((byte) & 1 << (n)) >> (n)) < 1185666341 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's right, right? < 1185666475 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :#define NBIT(n, byte) (((byte) >> (n)) & 0x1) < 1185666477 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :even better