←2012-09-14 2012-09-15 2012-09-16→ ↑2012 ↑all
00:01:08 <zzo38> Is there any FPGA/CPLD where the software to program it is built-in to the device itself instead of requiring a PC?
00:03:52 <oerjan> <Arc_Koen> (still it does sound like "oh btw, did I mention the bridge you've been walking on for the last few years has never been tested? It could potentially collapse at any moment.")
00:04:27 <oerjan> http://en.wikipedia.org/wiki/False_vacuum hth >:)
00:05:13 <Arc_Koen> In http://en.wikipedia.org/wiki/Quantum_field_theory, a false vacuum is a http://en.wikipedia.org/wiki/Metastability sector of http://en.wikipedia.org/wiki/Space that appears to be a http://en.wikipedia.org/wiki/Vacuum_state, but is unstable due to http://en.wikipedia.org/wiki/Instanton effects that may http://en.wikipedia.org/wiki/Quantum_tunnelling to a lower energy state.
00:05:19 <Arc_Koen> thanks wikipedia, that explains a lot
00:05:32 <oerjan> ...what kind of copy/paste is that.
00:06:11 <Arc_Koen> uhm I've been using colloquy for a couple weeks and its behaviour is often... unexpected
00:06:13 <oerjan> the introduction is not very helpful.
00:08:03 <Arc_Koen> I'm trying very hard to believe that what follow is
00:08:14 <oerjan> ...i guess not.
00:08:37 <oerjan> try the http://en.wikipedia.org/wiki/Schild%27s_Ladder link in there instead.
00:16:15 <itidus21> i think the part about it being in quantum field theory may be a red herring to understanding what a false vacuum is
00:20:18 <oerjan> that _does_ tend to hide the sheer horror of it under incomprehensible math, yes.
00:21:46 <Arc_Koen> ok well see you
00:21:53 <oerjan> bye
00:22:03 <Arc_Koen> and thanks for all the interesting new stuff
00:22:11 <itidus21> it all sounds so fun all these big words
00:22:31 <oerjan> http://www.sheldoncomics.com/archive/120914.html :P
00:22:31 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk).
00:24:48 <itidus21> thats a pretty good comic
00:26:03 <zzo38> Can this be used to make a program on microcontrollers (and on the FPGA itself) to do dynamic programming on FPGA? http://dfusion.com.au/wiki/tiki-index.php?page=AT40K+Bitstream+Format
00:26:50 <itidus21> oerjan: well this is the problem with the universe http://www.sheldoncomics.com/archive/120907.html
00:27:58 <itidus21> dora is the healthy one
00:32:00 <itidus21> and heres what the comic points to
00:32:24 <itidus21> i just happened to have open http://en.wikipedia.org/wiki/Sorites_paradox
00:33:42 <itidus21> so the thing of it is, if one package can be unique, with a special recipient and a magical journey
00:34:19 <itidus21> if you add more packages, at what point do they cease to be unique, and on magical journeys
00:36:06 <itidus21> i imagine that talkshow hosts feel the same way about celebrities
00:40:55 <itidus21> or, help me my brain starts learning every time i attend lectures.. but they have hooked me up to youtube lecture streams as in a clockwork orange (i admit i dont want to learn)
00:56:17 <oerjan> ...thank you for making me regret pasting that link.
00:56:32 <Phantom_Hoover> it's just what iti does
00:56:40 <itidus21> yeah, i react like this to everything
00:58:34 <itidus21> on the micro scale i am typing... on the macro scale i am dying
00:59:35 <itidus21> but, can i really treat dying as a verb i am doing?
01:05:18 <itidus21> oerjan: well.. if i bite into a cooke am i doing hysteresis?
01:05:35 <itidus21> ^cookie
01:07:33 <itidus21> haha..
01:09:24 <kmc> http://www.amazon.com/Noras-Hair-Salon-Shear-Disaster/product-reviews/B004FK5E8E
01:13:19 <itidus21> that explains a lot
01:21:46 -!- madbr has joined.
01:21:51 <itidus21> http://www.sumotorrent.com/en/details/6113662/Noras Hair Salon 3 Shear Disaster 2011 DVDRip XviD-ph2.html
01:25:07 <kmc> watch this movie for us itidus21
01:28:36 <itidus21> in another universe i did... all that is needed now is to find this other me
01:29:48 <itidus21> and so began the quest to find another universe
01:43:14 <kmc> shachaf: in context "everything" meant "everything in the real world"
01:43:27 <kmc> we did discuss the arithmetic hierarchy later, though
01:43:51 <kmc> also, how goes?
01:46:13 * shachaf is back in the bay area.
01:47:00 <Phantom_Hoover> the bay of biscay?
01:47:14 <shachaf> Is there any other?
01:51:26 <kmc> bagel area
01:52:30 * shachaf probably ought to figure out what to do next.
01:53:00 -!- quintopia has quit (Ping timeout: 244 seconds).
02:07:21 <madbr> what would a 32 bit version of the 6502 look like
02:10:56 <kmc> dogs playing poker
02:11:36 <kmc> a 32-bit processor with only 3 registers would be amusing
02:12:11 <shachaf> That's basically x86, isn't it?
02:12:18 <kmc> c.c
02:12:32 <madbr> ahah :D
02:12:41 <Jafet> So that's why it's called 386
02:12:55 <madbr> 86 is kinda half way between a z80 and an ARM
02:13:50 <shachaf> > 86*2-80 -- ARM?
02:13:51 <lambdabot> 92
02:15:03 <shachaf> IPv4 is running out.
02:15:16 <itidus21> i am a strong believer in path dependance in PC hardware..(was just reading about the word path dependance) and i have tried to rant about it in some places i think
02:15:53 <shachaf> Is itidus21 a bot?
02:16:25 <Jafet> fungot, what do you think about path dependence?
02:16:26 <fungot> Jafet: http://www.scheme.com/ tspl2d/ fnord the hopes of fixing the font problem, is what i'm saying is it's trivial to write
02:16:50 <itidus21> no
02:17:35 <shachaf> fungot should have a mode like sourbot_ where you can seed it with a word.
02:17:35 <fungot> shachaf: if i want.
02:17:42 <shachaf> fungot: you want.
02:17:42 <fungot> shachaf: it's time to poof. it's like fnord
02:17:51 <shachaf> ^style
02:17:52 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
02:17:54 <itidus21> fungot
02:17:54 <fungot> itidus21: hyphens or not. listening ( reading) feels uncomfortable because i suppose i could
02:17:56 <itidus21> fungot
02:17:56 <fungot> itidus21: ( that's cl, though, if i let it loose in e.g. his fnord book " combinatory logic" is stupid? try using poc.
02:17:57 <itidus21> fungot
02:17:58 <fungot> itidus21: but stuff like fnord. and here, " i", a book on my head as something i can never remember which argument i'm allowed to do ' korsossa' a module system,
02:18:00 <Jafet> I think fungot wants to talk about fnord.
02:18:01 <fungot> Jafet: you're probably part of a type does not exist in your paste is an example line of code that is either working or very close
02:18:09 <shachaf> Jafet: Are you an op in here?
02:18:19 <Jafet> Uhh, am I, fungot?
02:18:20 <fungot> Jafet: and check with xev what keys are bound to a procedure in the procedure's scope. if you
02:18:29 <Jafet> I think he says no.
02:19:38 <itidus21> shachaf: i think for example PC's don't need to be based on circuit boards.
02:20:23 <itidus21> then again that may be because i don't realize what all that stuff on circuit boards does
02:21:21 -!- nortti has quit (Read error: Operation timed out).
02:25:18 <itidus21> basically i think pc's are too upgrade focused.. i think that the machines could possibly be more efficient if you just ordered one efficient mass of electrical components which didn't care about space or extensability
02:25:36 <itidus21> ^extensibility
02:27:56 <Phantom_Hoover> They don't *have* to be based on circuitboards, and indeed the bulk of the circuitry isn't actually on a board (it's in the chips), but boards are easy to manufacture and design.
02:29:26 <kmc> right, circuit boards are still used even on computers not meant to be upgradeable
02:29:33 <kmc> like the macbook air and "ultrabooks"
02:29:35 <kmc> also cell phones, etc
02:29:53 <itidus21> humm.. ok ill skip onto my next point then.
02:29:57 <kmc> there's a tremendous fixed cost to engineering a bunch of stuff together onto one chip
02:29:59 -!- nortti has joined.
02:30:03 <kmc> you only do it if you're selling a bajillion of something
02:30:16 <kmc> you try to buy standard parts and integrate them at board level
02:30:18 <Phantom_Hoover> itidus21, look up 'system on a chip' though, it's basically what you were talking about.
02:30:30 <kmc> Apple sells a bajillion iphones and cares very much about making them thin, light, poer-efficient, etc.
02:30:33 <kmc> so they design some custom chips
02:30:40 <shachaf> They should release a new dip called "system on a chip".
02:31:14 <itidus21> that would sell well among people who were on a good salary
02:31:35 <Phantom_Hoover> Even then you'll still need a board to solder USB ports etc. onto.
02:31:55 <kmc> itidus21: you can make an AVR microprocessor blink prime numbers to an LED with only the chip, a battery, a resistor, and the LED
02:31:58 <kmc> no circuit board
02:33:53 <itidus21> like if they sat down (as they always do before working) and decided to do a design which incorporated all the parts of a pc in one dependant design
02:34:05 <kmc> sometimes they have standing desks
02:35:25 <Sgeo> kmc, how often do you think Clojure people copy Haskell stuff without realizing that Clojure functions can do things that Haskell functions can't?
02:35:27 <itidus21> i imagine they could cut down on bus latency if they had enough design freedom
02:35:49 <shachaf> kmc: You'd only do that if you were really board.
02:37:34 <kmc> itidus21 are you an electrical engineer now
02:38:38 <itidus21> i'm a cosmology professor
02:40:06 <itidus21> kmc: no.. >.<
02:41:49 <kmc> itidus21: it is pretty common these days to combine multiple semiconductor dies into a single package that a circuit board designer would call "a chip"
02:42:05 <kmc> e.g. processor and ram stacked together into a single package with a single set of legs (well, more likely, balls) to talk to the outside world
02:43:02 <kmc> that is a level of integration between die-level and board-level
02:43:16 <kmc> AMD makes this 12-core CPU which is basically just two of their 6-core CPUs stuck together in one package which fits in one socket
02:43:28 <kmc> we had a box with 4 of those at my last job... it was pretty sick
02:43:47 <itidus21> the other day i heard someone argue that cpu is a bottleneck and gpu is not... that sparked this train of thought that they are mad
02:44:00 <kmc> it depends on what you're doing...
02:44:06 <itidus21> yeah @_@
02:44:11 <itidus21> it does..
02:44:16 <kmc> for bitcoin mining the GPU is the only important component
02:44:28 <kmc> people build boxes with four $500 graphics cards, $20 CPU, $20 of RAM
02:44:46 <kmc> you don't even need the IO bandwidth to/from the graphics cards
02:44:46 <shachaf> $20 can get you a lot of RAM these days.
02:44:53 * shachaf 's laptop has $40 worth of RAM.
02:45:03 <kmc> people will cut pins off of the graphics cards so they fit in the slower PCIe x1 slots
02:45:17 <kmc> that's one extreme
02:48:39 <itidus21> i guess that the form of productivity they are doing with those graphics cards is that they are changing the world by accumulating money
02:49:41 <itidus21> i am not sure of the right wording for this
02:51:05 <kmc> i'm not sure that kind of bitcoin mining is profitable anymore
02:51:35 <shachaf> Are any other kinds of bitcoin mining profitable?
02:51:41 <kmc> also even if you accumulate a bunch of bitcoins, the exchange you use to turn them into real money will probably get hacked and you'll lose everything
02:51:55 <shachaf> Not if you turn them into real money first.
02:52:05 -!- madbr has left.
02:53:40 <itidus21> i mean, on some level it is productive to transfer or create money
03:14:26 <itidus21> kmc: hmm.. could it be that some software is best written for gpus then?
03:14:36 <kmc> uh, yes
03:14:44 <kmc> some algorithms execute much much faster on GPUs
03:15:00 <kmc> GPUs have what's called a SIMD architecture: single instruction, multiple data
03:15:03 <itidus21> my understanding is that most software runs exclusively on cpus
03:15:13 <kmc> meaning that you can operate on a lot of data at once, if you're doing the same thing to each piece of data
03:15:44 <itidus21> humm
03:16:03 <itidus21> they could call them something fancy like gpu-apps
03:16:08 <kmc> in the case of bitcoin mining, you are applying the same hash function (double SHA256) to a lot of different inputs
03:16:30 <kmc> trying to find an input such that the output has a certain unusual property
03:16:59 <kmc> regardless of the viability of the currency, the core bitcoin idea of using hash chaining as a distributed timestamp service is really fucking clever
03:17:15 <kmc> one of the coolest new ideas i've heard in computer science in the past few years
03:18:07 <Sgeo> Isn't that what hashcash does?
03:18:27 <Sgeo> At least in the "searching for input where output has X propert" thing
03:18:57 <Sgeo> Ugh, GitHub for Windows has an ugly metro-ish UI
03:20:09 <itidus21> maybe some compilers should have a -gpu parameter
03:21:09 <kmc> Sgeo: hmm, it does use hashing for proof of work
03:21:19 <kmc> but it doesn't provide a distributed timestamp service or anything so fancy
03:21:47 <kmc> the bitcoin protocol lets you establish cryptographically that you had a specific piece of data at a specific time
03:21:54 <kmc> without anyone trusting a central entity
03:22:02 <kmc> which seems useful beyond cryptocurrency
03:22:18 <kmc> there's an application to naming (namecoin) and there would seem to be applications to intellectual property, etc
03:22:24 <itidus21> ok i see its called gpgpu
03:36:27 -!- FreeFull has quit (Ping timeout: 246 seconds).
03:38:45 -!- FreeFull has joined.
03:39:12 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
03:41:43 -!- DHeadshot has quit (Ping timeout: 272 seconds).
03:41:48 -!- Phantom_Hoover has quit (Remote host closed the connection).
03:42:33 -!- DHeadshot has joined.
03:46:56 <zzo38> For algorithms which execute much faster on GPUs, is that what Checkout esolang is for?
03:52:29 -!- DHeadshot has quit (Ping timeout: 272 seconds).
03:53:07 <oerjan> zzo38: i think so
03:57:15 -!- augur has joined.
03:57:32 <itidus21> APPLY LAMBDA foo APPLY itidus21
03:57:44 <itidus21> something like that..
03:58:55 <itidus21> what i mean is
03:59:06 <itidus21> you can apply itidus to foo
03:59:25 <itidus21> but i think i said it wrong
04:00:13 -!- invariable has changed nick to variable.
04:00:34 <itidus21> eg, applying itidus21 to ESME results in a country practice
04:01:06 <itidus21> http://www.iwt.net.au/sideprojects/esme-groove.jpg
04:02:03 -!- copumpkin has joined.
04:03:41 -!- augur has quit (Remote host closed the connection).
04:11:29 -!- augur has joined.
04:15:56 -!- augur has quit (Remote host closed the connection).
04:39:09 -!- augur has joined.
04:39:20 -!- augur has quit (Remote host closed the connection).
05:17:21 <Sgeo> There exists a language called Smarty.
05:18:06 <Sgeo> It's a template language. How boring
05:23:52 -!- augur has joined.
05:31:10 -!- augur has quit (Remote host closed the connection).
05:36:38 <ais523> hmm, compiler feature idea: if the user supplies code that's incorrectly indented, it just reindents the source as it compiles it
05:37:05 * ais523 is continuing on their crusade to annoy both Python fans and non-Python fans equally with programming language style
05:37:35 <ais523> I guess if the source is read-only, it'd refuse to compile it unless it were correctly indented already
05:38:00 <kmc> hehe
05:38:13 <kmc> well Go has a One True Style which is enforced by some tool
05:38:18 <kmc> but i don't think it's part of the compiler per se
05:38:41 <ais523> the idea is that this lets me do other things too
05:38:52 <Jafet> If the user supplies bad code, delete it
05:38:59 <ais523> like, there'd be an "unreachable" keyword that you can use to mark code that should be unreachable
05:39:10 <ais523> and if it actually /is/ unreachable, then the compiler comments it out for you with special reversible comments
05:39:31 <ais523> (and comments it back in again if it turns out to be not unreachable, so your editor's syntax highlighter can warn you)
05:39:50 <oerjan> ais523: you might see zzo38's Checkout question a page or so above
05:45:46 -!- impomatic has joined.
05:46:44 <Sgeo> Off-topic, but what's controversial about ais523's UTM?
05:47:25 <oerjan> it uses an infinite tape that's initiated with a complicated pattern
05:48:05 <Sgeo> So, the question is whether it's legal to have a pre-initialized tape?
05:48:08 <oerjan> and the question becomes how much of the universality is in the setup and how much is in the actual TM
05:48:16 <Jafet> Wolfram thinks so.
05:48:58 <oerjan> well his rule 110 automaton also used infinite setup, although iiuc that was at least periodic on each side
05:49:57 <oerjan> ("his" in the sense he maybe invented the automaton, not the proof of universality, which he only paid for.)
05:50:31 <oerjan> and then sued the prover when he tried to publish it independently
05:51:11 <oerjan> but i'm personally much more confident on TC-ness when input and output are finite.
05:51:12 <Jafet> I mean the 2,3 machine
05:51:28 <itidus21> mathematicians and their sillyness
05:51:33 <oerjan> Jafet: i'm saying they have the same issue, although the 2,3 machine more so
05:52:06 <itidus21> oerjan: clearly he is so bored in his work that he has time to go around suing people
05:52:31 <oerjan> itidus21: ... you know nothing about wolfram, i take.
05:52:50 <oerjan> he has an ego about 10 sizes bigger than the solar system.
05:53:25 <oerjan> he sued so that it would be first published in his own book, which is full of hype.
05:53:36 <itidus21> ahh that book
05:53:51 <itidus21> or maybe not that book
05:53:58 <oerjan> "a new kind of science"
05:54:17 <Jafet> A kind of nuisance
05:54:55 <itidus21> "Wolfram published an article on particle physics[6] but claimed to be bored and left Eton prematurely in 1976"
05:55:01 <itidus21> ok so he really does get bored....
05:55:39 <oerjan> Jafet: sorry but you aren't original :P http://www.amazon.com/review/R31DLUYNKIUR0C
05:56:44 <oerjan> 11 of 16 people found the following review helpful. but just 1 star.
05:57:59 <itidus21> this one is also interesting http://www.amazon.com/review/B004FK5E8E
05:58:20 <Jafet> Perhaps it is a universal principle that everyone of sufficient complexity tends to make fun of Wolfram.
05:58:45 <oerjan> oh wait it's the reviewer that gives the star.
05:59:16 <Sgeo> It occurs to me that Isaac Newton was also a jackass
05:59:47 <Sgeo> (Which doesn't make Wolfram comparable to Newton except in that regard)
06:03:34 <ais523> <Jafet> Wolfram thinks so. ← I used to think this, but I changed my mind; the mathematicians at Wolfram Science who actually /read/ the proof think so
06:03:44 <ais523> as far as I can tell, Wolfram actually doesn't know and isn't interested
06:04:21 <oerjan> http://shell.cas.usf.edu/~wclark/ANKOS_humor.html
06:05:14 <Jafet> Eh? I thought he did all the actual math at WR.
06:05:32 <ais523> whatever would make you think that?
06:05:49 -!- drocta has joined.
06:06:08 <ais523> fwiw, what did you think all the other people at Wolfram Science (or is it Wolfram Research?) actually /do/?
06:08:07 <Jafet> They run around picking up after his brilliant discoveries
06:08:14 <drocta> heheh
06:08:48 <drocta> so I made https://github.com/drocta/TILDE-ATH
06:08:51 <ais523> Sgeo: anyway, the main controversy is whether the initialization is /too/ complex to be considered TC
06:09:18 <Sgeo> Hmm....?
06:09:37 <ais523> Sgeo: a system has two parts, an inference rule and an initial condition, right?
06:09:45 <ais523> the 2,3 machine has a very very simple inference rule
06:10:05 <ais523> but in order to get it to emulate an arbitrary Turing machine, you need a very very complex initial condition
06:10:20 <ais523> and the debate's about whether initial conditions that complex should be "allowed"
06:10:42 <ais523> IMO, it's obvious that that one should be from an engineering point of view, but mathematicians need precise definitions and they didn't formulate one in advance that applies to this
06:10:55 <kmc> well it's still a computable initial condition, presumably
06:11:09 <kmc> and so you still get an initial condition even for a machine which ends up not halting
06:11:14 <kmc> which is kind of a significant point
06:11:27 <ais523> kmc: the problem is it's infinitely long
06:11:39 <ais523> and there are some obvious ways of cheating if you're allowed an infinitely long infinite condition
06:11:49 <kmc> which?
06:11:49 <ais523> like "simulate the program, keep printing 0s while you're simulating and 1 if it happens to halt"
06:12:05 <ais523> that's entirely computable, in that you can compute the first n bits of the initial condition no problem, likewise the nth
06:12:18 <ais523> and yet it encodes haltingness into the initial condition rather than the actual program
06:12:32 <ais523> messing with infinities tends to lead to problems in maths
06:12:42 <ais523> so the approach I'm trying to go down is to generate a finite description of the infinite condition
06:12:49 <ais523> together with an expansion program that's obviously sub-TC
06:13:00 <ais523> the last few years have been trying to define "obviously sub-TC" :)
06:13:17 <Jafet> Ideally the condition should be independent of the program.
06:13:28 <zzo38> If you need to mess with infinites then you need to do it properly
06:13:52 <ais523> or at least, I came up with a definition, http://esolangs.org/wiki/1cnis - but have not been able to prove that that definition fits the initial condition I actually came up with…
06:13:58 <Sgeo> So, the MtG UTM manages to encode the infinitely long initial condition somehow?
06:14:00 <ais523> s/-/–/
06:14:08 <oerjan> drocta: what is TILDE-ATH?
06:14:13 <ais523> Sgeo: it doesn't, it just initialises it with blue
06:14:19 <ais523> I contacted the author about it to explain
06:14:19 <Sgeo> And wouldn't MtG's ability to encode the initial condition + ... oh, uh
06:14:21 <drocta> ~ATH
06:14:22 <drocta> is
06:14:27 <Jafet> The Magic machine is a straight-up turing machine
06:14:31 <Jafet> With a blank tape (spooler)
06:14:37 <ais523> infinite both ways
06:14:58 <Sgeo> ~ATH is a fictional programming language, in Homestuck (in Homestuck it's real)
06:15:04 <kmc> spooler alert
06:15:12 <drocta> yeah, that.
06:15:26 <drocta> based on loops that continue so long as an object is "alive"
06:15:28 <kmc> +++ATZ
06:15:37 -!- pikhq has quit (Ping timeout: 272 seconds).
06:15:48 <Sgeo> I thought it was more triggering on when something's not "alive"
06:15:55 <drocta> it does both
06:15:59 <ais523> by the way, #esoteric: #acehack told me about the Magic 2,3 machine before #esoteric did
06:16:02 <ais523> you must be slipping ;)
06:16:21 <drocta> ~ATH(VARNAME){loop this while alive}EXECUTE(executethisondeath);
06:16:37 <ais523> btw, there is actually a mistake in ANKOS that is Wolfram making the same mistake as the Magic machine person made
06:16:40 <ais523> I told him about it over the phone
06:16:56 <oklopol> ais523: if this was today, then i think #esoteric in fact was a bit earlier
06:16:58 <ais523> luckily, I'd managed to fix it in my head in a few seconds, so the theorem is correct, just not the proof
06:17:02 <ais523> oklopol: it was yesterady
06:17:05 <ais523> *yesterday
06:17:12 <oklopol> okay then i don't know
06:17:13 <ais523> around midday
06:17:34 <Sgeo> And somehow or other there is a valid(?) program with two colors and weird nesting
06:17:38 <zzo38> I had an idea of Magic: the Gathering cards of programming language, once; now, this Magic 2,3 machine can even work without requiring any choices. However, what if you want to make input/output?
06:17:40 <oklopol> my best guess is 4 years ago but possibly also yesterday
06:17:44 -!- pikhq has joined.
06:17:51 <oklopol> also i was eating pizza and then i woke up
06:17:57 <drocta> yeah, common idea is that the colors were different threads.
06:18:06 <ais523> `addquote <oklopol> my best guess is 4 years ago but possibly also yesterday
06:18:10 <zzo38> Actually Magic 2,3 machine still require cards to played in a certain way to start, and then it works without any choices.
06:18:15 <HackEgo> 861) <oklopol> my best guess is 4 years ago but possibly also yesterday
06:18:21 <ais523> it still has choices of whether to play "may" actions or not
06:18:36 <oklopol> oh
06:18:37 <ais523> but moving away from that probably means you can't phase the Teysas…
06:18:40 <oklopol> Magic 2,3 machine.
06:18:47 <oklopol> i thought you meant the 2,3 challenge :D
06:19:02 <Sgeo> ais523, but the same person proved it with another machine, right?
06:19:14 <ais523> Sgeo: no, but he said he was working on a 2,18
06:19:17 <ais523> which I'll be interested in
06:19:19 <Sgeo> Oh
06:19:25 <zzo38> I wonder if, something can be made using that, including both input and output?
06:19:30 <Sgeo> But as it stands, MtG is NOT proven TC?
06:19:45 <ais523> (I assume the 2,18 in question is uncontroversial: I haven't seen it, but that seems about the right number of colors for an uncontroversially TC 2-state Turing machine)
06:19:54 <ais523> but yes, the proof as it stands is flawed
06:20:03 <Sgeo> Someone should post that to Reddit
06:21:50 <ais523> only when it's fixed
06:22:00 <oklopol> so, am i to understand that someone implemented the 2,3 machine in mtg?
06:22:03 <ais523> oklopol: yes
06:22:08 <Sgeo> As in, the fact that the current proof is flawed
06:22:13 <Sgeo> Not the 2,18 version
06:22:20 <oklopol> and in what sense was it implemented?
06:22:22 <ais523> http://www.toothycat.net/~hologram/Turing/HowItWorks.html
06:22:38 <ais523> oklopol: in the sense that if four players have specially constructed decks and are cooperating with each other
06:22:42 <oklopol> 404
06:22:47 <pikhq> ais523: As specified the assumption is the players always take choices offered to them.
06:22:55 <ais523> then they can set up a gamestate with an infinite series of triggered actions
06:23:05 <ais523> and if they always take optional choices, it emulates the 2,3 machines
06:23:06 <oklopol> okay now it works dunno what happened
06:23:11 <pikhq> Yeah.
06:23:21 <pikhq> It's an edge case.
06:23:27 <pikhq> Assumping the machine counts.
06:23:48 -!- augur has joined.
06:24:02 <ais523> clearly we just need to partition Mark Rosewater to make a card that makes all optional abilities compulsory ;)
06:24:26 <zzo38> ais523: Actually I had a similar idea of exactly the same effect, even without reading about the Magic 2,3 machine.
06:24:33 <pikhq> ais523: Surely this'd be *easy*.
06:24:39 <pikhq> I mean, he is a mathematician.
06:25:02 <ais523> zzo38: somehow I'm not surprised :)
06:26:04 <oklopol> how many cards does it need?
06:26:22 <ais523> not all /that/ many
06:26:39 <ais523> although it needs six copies of the same legendary in play at once, which is slightly nontrivial but not impossible to arrange
06:27:01 <ais523> (you can steal them from other players or copy them, and use a separate card to make having multiple identically-named legendaries in play at once legal)
06:27:02 <zzo38> Is that why the card was made legendary?
06:27:06 <pikhq> If you make the assumption all players are trying to set it up, it's not that much work.
06:27:08 <ais523> zzo38: I doubt it
06:27:11 <ais523> pikhq: indeed
06:27:26 <oklopol> we once made this board game which was awesome, you put pieces on the board and a chain reaction was triggered, so you could get multiple points on one turn.
06:27:41 <oklopol> and our record was like 20 or something
06:27:57 <oklopol> then i implemented it on the computer and it inflooped after 5 turns and got infinity points.
06:28:23 <zzo38> In a Limited game, if you manage to draft (or open, or collect, etc) six same card then you are not limited by the rule 4 of same card; you can use 6. Otherwise you have to use only however many you have
06:28:49 <ais523> zzo38: it can't be done in limited because it uses cards from more than one block
06:29:08 <zzo38> ais523: I have once played in a Limited game that involved two blocks.
06:29:24 <zzo38> oklopol: What if you make up the rule, that you are disqualified if the game doesn't end?
06:30:33 <zzo38> (Usually a Limited game is only one block, but occasionally it is two blocks, or possibly even three or more. Constructed games are usually always two blocks, but may be unlimited to the number of blocks, or some other rule.)
06:30:39 <oklopol> it's nondeterministic. but i guess you could require that there are no infinite plays or you lose.
06:30:46 <oklopol> what fun to check.... :D
06:31:00 <Jafet> Disqualified if you cannot prove that your move ends
06:31:35 <oklopol> :D
06:31:59 <oerjan> > 2*pi / 0.01720209895
06:32:00 <lambdabot> 365.2568983263281
06:32:14 <Sgeo> Is the game TC? If so, the no infinite plays thing might be difficult </understatement>
06:32:29 <oklopol> i wonder when wolfram's 1000 page book called "krhm actually it's MY 2,3 machine not alex's" comes out
06:32:41 <zzo38> oerjan: What are you calculating?
06:32:56 <Jafet> > "A " ++ fix ("new kind of " ++)
06:32:58 <lambdabot> "A new kind of new kind of new kind of new kind of new kind of new kind of ...
06:33:13 <oerjan> zzo38: http://www.nature.com/news/the-astronomical-unit-gets-fixed-1.11416 had this number
06:33:14 <oklopol> my supervisor told me he was once invited to be invited speaker in one of wolfram's seminars
06:33:34 <zzo38> Is the astronomical unit broken?
06:33:49 <oerjan> it's something like the average number of radians earth traces out per day
06:33:59 <oklopol> Sgeo: can't be tc due to memory being limited to the number of pieces on board.
06:34:08 <oerjan> zzo38: well it was complicated to calculate
06:34:18 <Sgeo> I love SMBC!
06:34:25 <Jafet> There was a paper that contrived a TC game with finite pieces
06:34:30 <zzo38> I thought astronomical units is the distance from here to the sun.
06:35:29 <oerjan> zzo38: yes, but earth's orbit is elliptical so you need to choose one of the distances
06:35:37 <zzo38> I think JPL ephemerides are not in astronomical units anyways so at least those ones are unaffected but are some ephemerides in astronomical units?
06:36:02 <zzo38> oerjan: Yes, I thought you have to choose the average? (Do you have to know what kind of average?)
06:37:40 <oerjan> zzo38: well it's like with the meter, it was originally defined as 1/10000000'th of the meridian from the pole to equator through paris - but that's awkward to measure all the time so they redefined it, although in that case they even calculated it wrong the first time
06:38:29 <zzo38> O yes I heard of that; they did it wrong the first time even by their definition. Better definitions anyways would be by something such as speed of light, I think it is now
06:38:37 <oerjan> yes it is
06:40:32 <oerjan> zzo38: oh there were other problems fixed by the recent fixing of au to meters
06:41:02 <oerjan> the old definition didn't mesh with relativity and depended on the changing mass of the sun
06:41:02 <oklopol> the global economy
06:41:36 <zzo38> Ephemerides need a unit of distance and of time. I think they use kilometres per day, although you could use lightseconds per second, or metres per second, or whatever (I happen to like using the speed of light as the ephemeris units, although this may cause problems in floating point precision I don't know for sure)
06:41:49 <kmc> yeah the meter now is defined in terms of the oscillation period of a cesium atom
06:41:55 <zzo38> oerjan: O, so they fix that too now, is good
06:42:48 -!- drocta has quit (Quit: Page closed).
06:43:18 <kmc> you could say it's also defined in terms of the speed of light, but the speed of light is an arbitrary unit conversion and not a fundamental physical constant
06:43:38 <oerjan> kmc: i'm not sure that it's the atom itself which oscillates, just one of its kinds of emitted radiation
06:43:41 <oklopol> a much better definition would be "the distance from the mass center of earth to the mass center of the sun, in the reference frame of the mass center of the definition user's right eye"
06:44:27 <oerjan> oklopol: sounds usable.
06:44:47 <kmc> oerjan: you're right
06:46:19 <zzo38> Can you say it is defined in terms of the speed of light if you then define seconds in terms of the cesium atom? Therefore something must relate the distance and time, so you can have the units.
06:46:43 <itidus21> hmm
06:46:53 <shachaf> heegan
06:47:21 <zzo38> I don't like humanistic units; you must define them in terms of physics instead, is much better.
06:47:39 <itidus21> applying myself as a function to the topic... i almost forgot what i was about to say
06:47:41 <zzo38> That way you always know what they are even if you removed your right eye or whatever
06:47:44 <shachaf> What's a humanistic unit?
06:47:53 <kmc> sure, i'm just saying that "speed of light" is like "number of inches in a meter"
06:48:57 <itidus21> i wonder if sci fi has been written wherein many aspects of the universe are constant, like a chessboard or a video game
06:48:58 <zzo38> kmc: No I don't think so! The speed of light is an actual speed, not a unitless number. Isn't it?
06:49:41 <kmc> zzo38: in traditional unit systems it is so, but in studying relativity it is convenient to use a unitless 1 as the speed of light
06:49:47 <kmc> and you can do that
06:49:59 <zzo38> kmc: Well, yes; I agree with that. That isn't what I meant, though.
06:50:01 <oklopol> zzo38: sorry, i meant to say "rightmost eye"
06:50:08 <Sgeo> How can speed be unitless?
06:50:12 <oklopol> this fixes the issue you mentioned.
06:50:13 <itidus21> like in a video game, the size of a planet tends to remain constant indefinitely.. for as long as there are people to play the game
06:50:19 <kmc> Sgeo: because distance and time are actually the same kind of thing
06:50:28 <zzo38> I meant that the speed of the light is the same speed no matter what number you use to represent it.
06:50:54 <itidus21> i imagine this is true of things like dwarf fortress, minecraft, terraria, chess, secondlife, etc
06:50:56 <kmc> it's as if all along we had one unit for north-south distance, and a different unit for east-west distance, and then one day someone figured out that you can relate these
06:51:41 <zzo38> I do agree it is useful to use a unitless 1 since space and time just different dimensions (although the sign is opposite)
06:51:46 <Sgeo> itidus21, Second Life's size isn't constant
06:51:54 <Sgeo> Space keeps getting added to it
06:52:08 <Jafet> They need room for all the penises
06:52:10 <Sgeo> Although I guess "amount of possible space" might be constant
06:52:12 <itidus21> Sgeo: i suppose that my statement doesn't stand.
06:52:29 <itidus21> .. i didnt quite get at the essence of the question
06:52:39 * Sgeo is unsure if they use ints or uints or something to specify regions
06:52:59 <Sgeo> If they do, then yeah, Second Life has a finite size, but it's MUCH larger than currently accessible size
06:53:14 <oklopol> also you can create and lose blocks in minecraft and minesweeper
06:53:48 <itidus21> ok ok i know what i mean
06:53:58 <oklopol> you should always know what you mean
06:54:01 <itidus21> in minecraft, a block is a perfect unit
06:54:02 <zzo38> And then invent "mine card" game.
06:54:25 <Sgeo> There exist half-blocks.
06:54:41 <Sgeo> Although I don't know if those conceptually count as blocks to the engine
06:54:45 <oklopol> yeah but that's blasphemy
06:54:48 <itidus21> hmm and i suppose tat the actual objects are not always aligned to the blocks exactly
06:54:59 <itidus21> like you can stand on several blocks at once
06:55:00 <oklopol> if you use half-blocks usually people destroy your house
06:55:31 <oklopol> also they conceptually count as blocks to the engine, you can't place stuff on them for instance
06:55:43 <oklopol> or at least you can't place a half-block and put a full block on top.
06:57:56 <oklopol> although it seems that notch hasn't quite grasped that you can reuse parts of your code so almost all items have some bugs and features unique to them.
06:58:01 <itidus21> but, as we see in games like rogue, the block as a ruler becomes a problem on non axis aligned lines
06:58:04 <oklopol> so it's hard to state anything definitive.
06:59:00 <itidus21> ok lets ignore my last statement
06:59:34 <zzo38> Would using the speed of light as ephemeris units (you still need distance and time units; I mean the speed of light is 1 in these units) make calculation of apparent positions simpler in some ways?
06:59:49 <Sgeo> itidus21, it's only problematic in visual terms
07:00:01 <Sgeo> In the world of the game itself, there is no problem
07:00:07 <shachaf> kmc: Did you know that foreign import wrapper allocates a new executable+writable page and copies some machine code into it at runtime?
07:00:25 <oklopol> apparently it's special cased that you can put two half-blocks of the same kind on top of each other
07:00:26 <itidus21> Sgeo: i guess in minecraft you can use blocks as rulers in any direction... but in a game like chess, not so easy
07:00:33 <oklopol> you can't mix two of different kinds though
07:01:07 <zzo38> oklopol: I think once I have made a game that has a similar rule
07:01:34 <zzo38> Where if you push two half blocks of the same kind together you get a full block of that kind; if they are different then they block each other
07:02:56 <oklopol> you don't get a full block in minecraft, you get something that looks like a full block but is much harder to break
07:04:23 <kmc> shachaf: i think i did know that, yes
07:04:26 <kmc> it doesn't work on iPhone
07:04:37 <kmc> are they careful to remap the page read-only after they're done writing to it?
07:04:49 <shachaf> Not as far as I see.
07:04:52 <kmc> great
07:06:05 <zzo38> Can you make self-modifying codes to improve the speed and possible save memory?
07:10:11 <itidus21> yes but i don't want them to fall into the wrong hands
07:10:40 <zzo38> Don't want what to fall into the wrong hands?
07:11:20 <shachaf> kmc: Do you think there are any serious security implications?
07:11:42 <shachaf> I mean, it's presumably called from C, but the page is randomized and the code in it is GHC-generated.
07:12:58 <kmc> well, if you have a memory corruption bug somewhere else, the existence of a writeable executable page can help you exploit that bug
07:13:26 <zzo38> As far as I know LLVM has no commands for self-modifying codes and it is something I wanted it to have, for example one thing you could have is if some RAM variable is actually the operand to another instructions, and another possibility is something like INTERCAL's ABSTAIN and REINSTATE commands
07:13:28 <shachaf> True.
07:13:57 <kmc> you might have some control over what GHC writes there, or you might be able to write there yourself
07:14:40 <kmc> although if you can write to anywhere you like in the address space, you can doubtless do many other things
07:15:12 <kmc> GHC code has many indirect jumps
07:15:45 <kmc> it should be possible to do something like ROP where you build fake thunks or something
07:16:06 <shachaf> That could make for a fun CTF thing!
07:16:16 <kmc> yes
07:16:24 <kmc> a CTF that only 3 people would complete or care about ;)
07:17:03 <kmc> well if instead of the GHC RTS you were working with a toy lazy language
07:17:08 <kmc> then i could see it as one of the later levels in io
07:17:18 <shachaf> I don't know. Half the fun of a CTF is learning about new things that work differently from the things you know.
07:17:22 <itidus21> back
07:17:27 <kmc> yeah
07:17:31 <zzo38> What does CTF mean?
07:17:31 <kmc> shachaf: do you know about Supervisor Mode Execution Protection?
07:17:43 <itidus21> zzo38: i dont want self modifying codes which improve speed and save memory to fall into the wrong hands
07:18:13 <zzo38> itidus21: OK.
07:18:16 <impomatic> Crashing...
07:18:18 <itidus21> haha
07:18:21 <itidus21> but...
07:18:33 <shachaf> kmc: I think I've heard of it.
07:18:33 <itidus21> i guess its safe enough here
07:18:36 <kmc> new in Ivy Bridge chips, when enabled an attempt to execute in kernel mode a page accessible by user code will fault
07:18:44 <shachaf> A "user/kernel bit" such that the kernel can't execute code in user pages?
07:18:59 <itidus21> i dont have any such codes.. but i think i could at least think about what it means
07:18:59 <shachaf> Makes some sense.
07:19:08 <kmc> yeah, it is just a single control register bit
07:19:32 <kmc> which interprets the existing "user" bit on pages this way
07:19:37 <kmc> in addition to its old meaning
07:19:42 <shachaf> What's the old meaning?
07:19:57 <kmc> the old meaning is that pages without the user bit set can't be accessed by user-mode code
07:20:04 <itidus21> zzo38: ok to hell with it
07:20:27 <shachaf> Ah.
07:20:28 <kmc> now the pages *with* the user bit set can't be executed by kernel mode code
07:20:37 <itidus21> zzo38: when i applied my brain to the question, the answer seems to be to have conditionals with feedback..
07:20:58 <itidus21> so that the condition which is selected the most often is optimized
07:21:04 <shachaf> All the effort and CPU time "wasted" on security is kind of annoying.
07:21:07 <kmc> (of course, if the kernel really wanted to execute such a page, it could disable the feature or unset the user bit, but the idea is to prevent an attacker from tricking the kernel into executing such a page)
07:21:22 <itidus21> i am not sure how that might go exactly
07:21:37 <zzo38> itidus21: Yes you could do that too; some CPU instruction set might include commands for branch prediction, is one way, but that is other things too.
07:21:57 <kmc> so now you can't just put kernel mode shellcode in your exploit program and get the kernel to call it
07:21:59 <itidus21> i guess thats called branch prediction
07:22:05 <itidus21> hmm
07:22:35 -!- impomatic has quit (Ping timeout: 255 seconds).
07:22:38 <kmc> which means some of the techniques from userspace NX exploitation will be useful
07:22:52 <kmc> ROP, JIT spraying, etc.
07:23:38 <kmc> shachaf: it may be wasted effort but I prefer to live in a world where people dream up things like ROP and JIT spraying, it's just more interesting
07:24:22 <kmc> it's like esoteric programming except that it's useful, e.g. for getting rich or sabotaging the iranian nuclear program
07:24:23 <zzo38> But my idea was rather to make like INTERCAL's ABSTAIN but to directly modify the machine code instructions
07:25:32 <kmc> in fact the idea behind ROP is basically that every compiled executable gives rise to an esolang, whose primitive instructions are every sequence of code bytes ending in an (intended or unintended) return instruction
07:25:40 <zzo38> What else I like other than self-modifying codes, is also self-modifying microcodes!
07:25:52 <itidus21> zzo38: to improve i think that .. ok ok .. uhm uhm..
07:26:11 <itidus21> perhaps it could plan for changing environment...
07:26:21 <shachaf> kmc: It's really one big class of very-similar esolangs.
07:26:46 <shachaf> I think for sufficiently-large executables they tend to be TC, too.
07:27:00 <kmc> yeah
07:27:08 <itidus21> i don't know how exactly
07:27:22 <kmc> i think the bigger issue is not computational completeness but completeness in terms of the system calls you need for successful exploitation
07:27:36 <shachaf> Well, yes.
07:27:43 <kmc> but you don't need very much there, either
07:28:39 <itidus21> zzo38: well i think self modification implies somehow that something in the program's context is changing... either the platform, or the input
07:28:56 <shachaf> Isn't itidus21 great?
07:28:56 <Jafet> Most of the wasted effort is on bad security
07:29:07 <Jafet> I don't have a problem with wasting effort on good security
07:29:24 <itidus21> laughs aloud
07:29:34 <zzo38> I think they used something similar to dump the Nintendo DS BIOS, by finding some data used as code which pushes some things to the stack and can be made to copy the BIOS codes; normally if the instruction pointer is not in the BIOS area it will never read the BIOS so they changed it
07:29:44 <shachaf> Jafet: Do you consider the things discussed here good or bad security?
07:30:24 <zzo38> itidus21: What do you mean, such as, an example?
07:30:24 <Jafet> I don't know, but I don't have a problem with them!
07:31:33 <itidus21> zzo38: i think that on an unchanging platform, with unchanging input, all optimization can be done at compile time
07:32:07 <zzo38> Yes in that case probably you can just make the answer directly
07:32:42 <itidus21> but if there is input.. there can be different versions of the program adapted to different inputs
07:33:51 <zzo38> Yes, and you may not know at compile time; is a reason to do self-modifications. I have thought of such things for making some emulator which you can specify the hardware in input file, can modify itself to skip whatever is not used
07:34:04 <kmc> gotta sleep, ttyl all
07:34:30 <itidus21> like, as an example, if you know how long a file is you don't really need to check for end of file
07:35:16 <itidus21> and if you know how long a string is, you can read all symbols as data
07:35:44 <zzo38> Yes; but would it be more efficient maybe not necessarily, depending what you are doing. Also possible, if you know the multiple of length, unroll the loops
07:40:07 <itidus21> the trouble to me with self modifying code is the question of when this self modification happens
07:40:29 <itidus21> it makes sense to keep it modifying nonstop
07:41:05 <itidus21> but then maybe its not really self modifying
07:46:35 <itidus21> i once thought of a storyline or video game idea where the source code is self modifiable, and so, whoever has access to the source has power
08:07:33 -!- augur has changed nick to Guest46903.
08:31:39 -!- MoALTz has joined.
08:34:18 -!- nooga has joined.
08:39:06 -!- nooga has quit (Ping timeout: 264 seconds).
08:39:17 -!- nooga has joined.
08:46:55 -!- ogrom has joined.
08:47:44 -!- epicmonkey_ has joined.
08:57:04 -!- Jafet has left.
08:57:30 -!- epicmonkey has joined.
08:57:56 -!- Jafet has joined.
08:58:46 -!- epicmonkey_ has quit (Ping timeout: 246 seconds).
09:00:25 -!- epicmonkey has quit (Remote host closed the connection).
09:02:11 -!- epicmonkey has joined.
09:15:52 -!- kinoSi has quit (Read error: Connection reset by peer).
09:16:12 -!- oerjan has quit (Quit: leaving).
09:16:19 -!- kinoSi has joined.
09:55:53 <olsner> what's a good way to combine shell and python in one source file?
09:56:20 <shachaf> python <<EOF
09:56:33 <shachaf> Or by "good" do you mean "esoteric"?
09:57:02 <olsner> I was looking for a good way actually, but wouldn't object if it ended up esoteric either
10:03:47 <olsner> oh, the python code can't access stdin if you do it like that... python /dev/fd/3 3<<EOF seems to work
10:06:08 <shachaf> Alternatively you can embed the sh in the py.
10:06:43 <olsner> yes, most of it is python, so that might be better
10:14:51 -!- ais523 has quit.
10:29:02 -!- zzo38 has quit (Remote host closed the connection).
10:31:47 -!- MoALTz_ has joined.
10:34:21 -!- MoALTz has quit (Ping timeout: 240 seconds).
10:50:56 <Sgeo> What the flying flipping fuck, I am going to hurt the author of clojure.algo.monads
10:51:38 <Sgeo> His macro that provides an equivalent to "do"? It puts the last item in an implicit return
10:54:48 <Sgeo> user=> (domonad sequence-m [] '(1 2 3))
10:54:48 <Sgeo> ((1 2 3))
10:54:55 <Sgeo> I'm sorry, but that is absolutely fucked up
10:55:08 -!- MoALTz__ has joined.
10:55:16 -!- MoALTz__ has quit (Read error: Connection reset by peer).
10:57:54 -!- MoALTz_ has quit (Ping timeout: 252 seconds).
11:05:20 <olsner> Sgeo: what does that even mean?
11:10:10 <Sgeo> It means that domonad does not in fact emulate do
11:10:26 <Sgeo> But a version of do that is only useful in subsets of all situations that do is useful in.
11:14:33 -!- yorick has quit (Ping timeout: 272 seconds).
11:15:45 -!- yorick has joined.
11:24:42 <FreeFull> Sgeo: What would domonad even be good for
11:31:05 -!- Arc_Koen has joined.
11:32:23 -!- nooga has quit (Ping timeout: 246 seconds).
11:41:14 -!- nooga has joined.
11:44:20 -!- MoALTz has joined.
11:45:25 -!- Vorpal has joined.
11:48:23 <Arc_Koen> hi
11:52:41 -!- nooga has quit (Ping timeout: 246 seconds).
12:07:16 -!- MoALTz has quit (Quit: not a good coding day for me, sorry).
12:07:49 <Sgeo> domonad is still usable in those situations, it's just uglier
12:09:05 -!- Phantom_Hoover has joined.
12:09:37 <Sgeo> Phantom_Hoover, I was ranting about a Clojure library earlier
12:09:39 <Sgeo> You missed it
12:09:52 <Phantom_Hoover> oh
12:15:49 <Sgeo> I'm beginning to think Clojure developers like the idea of various functional idioms, but don't actually understand them.
12:22:01 <Phantom_Hoover> shurely some mistake?
12:43:32 <Phantom_Hoover> So, anyone have any laptop recommendations?
12:44:19 <Sgeo> Yes. Tops are usually not worn on laps.
12:44:37 <Phantom_Hoover> Har har har.
12:48:58 -!- ogrom has quit (Ping timeout: 255 seconds).
12:49:07 -!- ogrom has joined.
12:53:11 -!- nys has joined.
12:55:35 -!- lifthras1ir has changed nick to lifthrasiir.
13:47:45 -!- impomatic has joined.
14:10:35 -!- ogrom has quit (Quit: Left).
14:34:18 -!- oklopol has quit (Ping timeout: 255 seconds).
14:48:32 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk).
15:26:18 -!- copumpkin has quit (Ping timeout: 252 seconds).
15:26:53 -!- copumpkin has joined.
15:28:59 -!- ogrom has joined.
15:56:28 -!- oerjan has joined.
15:58:43 <oerjan> 11:10:10: <Sgeo> It means that domonad does not in fact emulate do
15:58:43 <oerjan> 11:10:26: <Sgeo> But a version of do that is only useful in subsets of all situations that do is useful in.
15:59:10 <oerjan> you can easily convert do ...; whatever into do ...; x <- whatever; return x
16:00:08 <oerjan> in fact an implicit return is essentially what you get for monad comprehensions
16:08:00 <kmc> olsner, shachaf: you can also pass a whole python program to python -c
16:11:14 -!- nooga has joined.
16:19:03 -!- elliott has joined.
16:19:04 <elliott> http://esolangs.org/w/index.php?title=Ook!&diff=33796&oldid=32048
16:22:08 <oerjan> SO IT BEGINS
16:22:19 <oerjan> WHY AM I OUT OF POPCORN
16:22:35 <oerjan> (probably because i never buy it)
16:25:02 <Phantom_Hoover> Ohhhhh what did he just do.
16:25:42 <Phantom_Hoover> elliott, what has begun?
16:26:38 <Phantom_Hoover> I mean it looks like an isolated outbreak.
16:27:38 -!- epicmonkey has quit (Remote host closed the connection).
16:34:04 -!- epicmonkey has joined.
16:44:08 -!- Gregor` has changed nick to Gregor.
17:10:18 -!- oerjan has quit (Quit: leaving).
17:12:47 -!- carado has joined.
17:13:09 <carado> hi
17:33:22 <elliott> `welcome carado
17:33:33 <HackEgo> carado: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
17:36:55 -!- ogrom has quit (Quit: Left).
17:39:01 -!- nooga has quit (Ping timeout: 244 seconds).
18:18:42 -!- ogrom has joined.
18:32:27 -!- copumpkin has quit (Ping timeout: 255 seconds).
18:33:01 -!- copumpkin has joined.
19:05:20 <fizzie> Thoughts from the sauna: I've been thinking (and it's been categorized like that) that the Finnish 'd' (which occurs natively only in consonant gradation) is just the voiced version of 't', i.e. voiced dental plosive, but now that I thought of it, the place of articulation is more like alveolar, and according to some Wikipediaing that's actually a real thing.
19:05:25 <fizzie> "/d/ is the equivalent of /t/ under weakening consonant gradation, and thus occurs only medially, in the infinitives of the verbs nähdä (to see) and tehdä (to do), or in non-native words; it is actually more of an alveolar tap rather than a true voiced plosive, and the dialectal realization varies widely; see main article."
19:05:42 <fizzie> (Main article is a bit long to quote unless you happen to be surprisingly interested in Finnish phonology.)
19:06:54 <fizzie> Also I can't really distinguish too well between t̪/t or d̪/d when I manage to make the non-"natural" ones.
19:08:14 <shachaf> Finnology
19:10:55 <fizzie> Speaking of which, why is the "Received Pronunciation" called that? Who/what is it received from? God? Aliens? Xenu?
19:10:58 <fizzie> (Nth in our popular series of "questions better suited for Wikipedia".)
19:12:22 <shachaf> @wn received
19:12:22 <lambdabot> *** "received" wn "WordNet (r) 3.0 (2006)"
19:12:23 <lambdabot> received
19:12:23 <lambdabot> adj 1: conforming to the established language usage of educated
19:12:24 <lambdabot> native speakers; "standard English" (American); "received
19:12:26 <lambdabot> standard English is sometimes called the King's English"
19:12:28 <lambdabot> [5 @more lines]
19:12:38 <shachaf> @more
19:12:38 <lambdabot> (British) [syn: {standard}, {received}] [ant:
19:12:38 <lambdabot> {nonstandard}]
19:12:38 <lambdabot> 2: widely accepted as true or worthy; "a received moral idea";
19:12:38 <lambdabot> "Received political wisdom says not; surveys show otherwise"-
19:12:38 <lambdabot> Economist
19:15:23 <fizzie> That pretty much just makes me wonder why "received (adj)" means that.
19:18:02 <Sgeo> It's official. No one in the Clojure world actually has a clue about Maybe.
19:18:13 <Sgeo> I just re-read the definition that I thought I liked
19:18:26 <fizzie> Apparently just from the "6. (8) receive -- (accept as true or valid; "He received Christ")" kind of sense of receive (verb).
19:18:46 <Sgeo> It's as if Nothing were defined as "Just Nothingval"
19:20:54 <elliott> hi
19:21:42 <Sgeo> I guess it doesn't help that this person doesn't know Haskell. But I should educate him
19:22:06 <Sgeo> I should try to work out whether this thing is even a monad
19:24:00 -!- atriq has joined.
19:24:21 <shachaf> Sgeo: Why are you complaining about Clojure in #haskell?
19:24:27 <shachaf> Because no one responded to your bait in here?
19:24:44 <atriq> Is clojure the java-lisp thing
19:24:44 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
19:24:48 <atriq> @messages
19:24:48 <lambdabot> Arc_Koen said 20h 17m 23s ago: so your church incrementation excerpt translates to λxyzt.x z (y z t), right?
19:24:51 <Phantom_Hoover> atriq, yes.
19:25:29 <atriq> @tell Arc_Koen That looks like Church addition... hmm
19:25:29 <lambdabot> Consider it noted.
19:25:56 <atriq> @tell Arc_Koen Oh, that's because it is
19:25:56 <lambdabot> Consider it noted.
19:29:31 <atriq> Can I submit Fueue to the 2006 essies?
19:29:38 <elliott> yes
19:30:12 <atriq> Under the category Turing-Equivalent language
19:30:32 <atriq> Actually, wait
19:30:37 <atriq> That's the 2004 contest
19:32:08 <atriq> Can I submit it to that?
19:33:16 -!- ogrom has quit (Quit: Left).
20:02:45 -!- epicmonkey has quit (Ping timeout: 272 seconds).
20:03:00 * Sgeo files a bug report http://dev.clojure.org/jira/browse/ALGOM-7
20:04:04 -!- nooga has joined.
20:16:25 <fizzie> You are the Monad Police.
20:18:38 <Phantom_Hoover> Does clojure even have a type system
20:19:15 <Sgeo> It's strongly but dynamically typed
20:22:43 <Sgeo> Oh fuck
20:22:55 <Sgeo> My demonstration doesn't actually count as a demonstration of breaking the monad laws
20:23:59 <copumpkin> you'll note that no actual type theorists ever talk about "strong" typing
20:24:21 <copumpkin> it's mostly mainstream programmers trying to make up bullshit distinctions
20:24:29 <copumpkin> between strong and static typing
20:25:41 <Phantom_Hoover> strong typing is just too mainstream
20:28:37 * pikhq invents the keyboard where you need to apply 50 lbs-force to press a key
20:28:40 <pikhq> Tada, strong typing.
20:29:18 <Phantom_Hoover> How much force does it actually take to press a key?
20:29:23 * atriq invents the keyboard that has motorized wheels which move whenever you press a key
20:29:29 <atriq> Tada, dynamic typing
20:29:55 <Phantom_Hoover> Nonono, the keybindings rearrange themselves whenever you press a key.
20:30:26 <Sgeo> If everyone had that OLED keyboard, that might be useful for some games
20:30:38 <Sgeo> Put everyone on a level playing field when it comes to typing speed
20:30:41 <Phantom_Hoover> Duck typing is when the keyboard's at the bottom of a pond and you have to dive every time you press a key.
20:30:50 <elliott> <Phantom_Hoover> How much force does it actually take to press a key?
20:30:52 <elliott> depends on the keyboard
20:30:55 <elliott> scissor switches take a lot
20:32:05 <pikhq> Phantom_Hoover: Apparently they're normally cited in grams-force.
20:32:10 <pikhq> Stupidest unit ever.
20:32:53 <Phantom_Hoover> our keyboard standardisation will break down as soon as we colonise mars!
20:33:29 <atriq> Isn't a gram-force a ten-thousandth of a newton?
20:33:58 <Phantom_Hoover> I'd've thought it'd be a hundredth of a Newton.
20:34:10 <atriq> I'm not great at these unitmobobs
20:34:19 <pikhq> atriq: No, a gram-force is the force of gravity on an object weighing one gram.
20:34:42 <Phantom_Hoover> pikhq, does that account for regional gravitational differences?
20:35:10 <pikhq> Phantom_Hoover: No, it's based on a hypothetical ideal earth gravity...
20:35:33 <Phantom_Hoover> i.e. 10ms^-2?
20:36:03 <pikhq> Seems 1 gram-force is 9.807 mN.
20:36:48 <pikhq> And 1 kg-force is 9.807 N.
20:37:06 <pikhq> Earth is insufficiently metric.
20:37:09 <Phantom_Hoover> western-centric!!!
20:43:05 <Phantom_Hoover> remind me, is surface gravity higher at the poles or equator
20:44:16 <carado> at the poles, id say
20:44:54 <Phantom_Hoover> Yes, it is.
20:44:54 <carado> since they are closer to the center of the earth than the equator
20:45:29 <Phantom_Hoover> Yeah but like shell theorem and shit
20:46:07 <kmc> monad police arrest this man / he talks in maths / he buzzes like a fridge
20:46:27 <kmc> did anyone here ever play Typing of the Dead?
21:03:30 -!- ogrom has joined.
21:11:48 <atriq> Goodnight
21:11:49 -!- atriq has quit (Quit: Leaving).
21:16:38 -!- kinoSi has quit (Read error: Connection reset by peer).
21:17:06 -!- kinoSi has joined.
21:42:15 <Gregor> Do they pump hair gel into the water supply in San Francisco?
21:42:21 <Gregor> All evidence suggests that they do.
21:44:01 -!- Guest46903 has quit (Remote host closed the connection).
21:55:08 -!- nooga_ has joined.
21:55:48 <Sgeo> I am actually scared of failing Intro to Drawing
21:55:50 -!- Arc_Koen has joined.
21:56:10 <Sgeo> My hand-eye coordination can best be described as "non-existent"
21:56:13 <Sgeo> Each class is painful
21:56:55 <Arc_Koen> shmertz!
21:56:56 <lambdabot> Arc_Koen: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:57:00 <Arc_Koen> @messages
21:57:01 <lambdabot> atriq said 2h 31m 31s ago: That looks like Church addition... hmm
21:57:01 <lambdabot> atriq said 2h 31m 4s ago: Oh, that's because it is
21:57:16 <Arc_Koen> thank you atriq
21:57:22 -!- nooga has quit (Ping timeout: 244 seconds).
21:57:26 <Arc_Koen> so I just watched iron sky
21:57:53 <Arc_Koen> it was very fun, yet not as good as it was supposed to be
21:59:10 <Sgeo> I think the fact that (partial +) doesn't work is annoying
22:02:14 <kmc> http://www.seafloorexplorer.org/ is kind of fun
22:06:58 <Sgeo> Oh, apparently the behavior in partial is changing in 1.5 :)
22:07:49 -!- impomatic has left.
22:08:44 -!- augur has joined.
22:11:02 -!- zzo38 has joined.
22:11:44 -!- Vorpal has quit (Ping timeout: 268 seconds).
22:15:34 <Arc_Koen> so, a machine consisting of two "registers" (actually variables A and B holding an unbounded non-negative integer), and a finite list of instructions taken from the set {"A++", "B++", "A--", "B--", "A<-0", "B<-0", "A<-B", "B<-A", "if A=0 goto x", "if B=0 goto x", "if A=B goto x", "halt"}
22:15:42 <Arc_Koen> the set of all those machines have been proven to be turing-complete?
22:19:46 -!- augur has quit (Read error: Connection reset by peer).
22:20:14 -!- augur has joined.
22:23:15 <pikhq> RIPE depleted.
22:27:25 -!- augur has quit (Remote host closed the connection).
22:31:32 <Sgeo> In #clojure
22:31:33 <Sgeo> <casion> thanks to sgeo, I've learned more about haskell in here than in #haskell ;)
22:31:42 <Sgeo> <casion> half-joking :)
22:33:55 <elliott> so in #haskell you talk about clojure stuff and in #clojure you talk about haskell stuff
22:34:03 <elliott> hmm
22:35:52 <kmc> pikhq: we should adjust the mass of the earth until it's exactly 10
22:36:31 <pikhq> Seems reasonable, and I see nothing wrong with the idea.
22:38:16 <kmc> sadly the moon is only about 62% of the mass we'll need
22:41:44 <Phantom_Hoover> kmc, i think it's more complicated than that
22:42:10 <pikhq> kmc: What about Venus?
22:42:27 <pikhq> Or Mercury.
22:42:37 <pikhq> Mercury works better.
22:42:44 <kmc> this reminds me of a great paper on arXiv (which i can't find :/) which was an engineering feasibility study of some alternatives for surviving the explosion of the sun in a few billion years
22:42:54 <kmc> (well not exactly "explosion" but you know what i mean)
22:43:05 <kmc> specifically, how Earth could survive such an event
22:43:40 -!- oerjan has joined.
22:43:54 <Phantom_Hoover> `frink (10/9.81)*5.972e24
22:44:08 <HackEgo> 6.0876656472986748214e+24
22:44:16 <Phantom_Hoover> wait
22:44:19 <oerjan> flink frink
22:44:33 <Phantom_Hoover> `frink (0.19/9.81)*5.972e24
22:44:41 <Sgeo> I assume installing the JVM on HackEgo would be a royal pain?
22:44:43 <HackEgo> 1.1566564729867482161e+23
22:45:36 <Phantom_Hoover> i.e. 116000Yg
22:46:09 <Phantom_Hoover> wait no, 116
22:46:24 <Phantom_Hoover> so... mars
22:46:50 <Phantom_Hoover> mercury would fall far short, venus would be overkill
22:47:32 <Sgeo> `cat bin/frink
22:47:35 <HackEgo> ​#!/bin/sh \ exec /hackenv/lib/frink -e "$@" \
22:47:42 <Sgeo> `cat /hackenv/lib/frink
22:47:44 <oerjan> goddamn housemates are both having long phone conversations after midnight.
22:47:45 <HackEgo> ​ELF...
22:48:00 <kmc> lol
22:48:10 <Sgeo> Hmm, for some reason, I thought Frink was a Java thing
22:49:08 <Sgeo> `paste cat /hackenv/lib/frink
22:49:11 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1521 \ cat: cat /hackenv/lib/frink: No such file or directory
22:49:27 <oerjan> <fizzie> Speaking of which, why is the "Received Pronunciation" called that? Who/what is it received from? God? Aliens? Xenu?
22:49:34 <oerjan> The Queen, obviously.
22:49:36 <Sgeo> `paste /hackenv/lib/frink
22:49:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.25872
22:53:12 <oerjan> "The word received conveys its original meaning of accepted or approved – as in "received wisdom"."
22:53:44 -!- augur has joined.
22:57:23 -!- ogrom has quit (Quit: Left).
22:57:33 <kmc> ah the joy of datasheets http://i.imgur.com/SaeT1.png
22:57:34 -!- augur has quit (Remote host closed the connection).
22:59:40 <Sgeo> How does frink operate?
22:59:44 <Sgeo> `run java
22:59:50 <HackEgo> Usage: java [-options] class [args...] \. (to execute a class) \ or java [-options] -jar jarfile [args...] \. (to execute a jar file) \ where options include: \ -d32. use a 32-bit data model if available \ -d64. use a 64-bit data model if available \ -server. to select the "server" VM \...The default VM is server. \ \. -cp <class search path of
22:59:55 <Sgeo> Oh huh
23:00:37 <Sgeo> `fetch http://repo1.maven.org/maven2/org/clojure/clojure/1.4.0/clojure-1.4.0.zip
23:00:40 <HackEgo> 2012-09-15 23:00:40 URL:http://repo1.maven.org/maven2/org/clojure/clojure/1.4.0/clojure-1.4.0.zip [4553941/4553941] -> "clojure-1.4.0.zip" [1]
23:00:50 <Sgeo> `unzip clojure-1.4.0.zip
23:00:53 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: unzip: not found
23:00:57 <Sgeo> `gunzip clojure-1.4.0.zip
23:01:01 <HackEgo> gzip: clojure-1.4.0.zip: unknown suffix -- ignored
23:01:28 <kmc> zip != gzip
23:01:56 <Sgeo> So, I need to unzip
23:02:02 <Sgeo> There's no unzip
23:05:05 <zzo38> Does it have a different program that unzips, such as 7-Zip or whatever else?
23:05:25 <Sgeo> `7zip
23:05:28 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 7zip: not found
23:05:38 <Sgeo> `7z
23:05:41 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 7z: not found
23:06:33 <oerjan> `run echo $PATH
23:06:36 <HackEgo> ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin
23:06:50 <oerjan> `run ls /usr/bin/*zip*
23:06:53 <HackEgo> ​/usr/bin/gpg-zip
23:07:01 <oerjan> `run ls /bin/*zip*
23:07:05 <HackEgo> ​/bin/bunzip2 \ /bin/bzip2 \ /bin/bzip2recover \ /bin/gunzip \ /bin/gzip
23:07:20 <oerjan> `bunzip clojure-1.4.0.zip
23:07:24 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bunzip: not found
23:07:28 <oerjan> `bunzip2 clojure-1.4.0.zip
23:07:31 <HackEgo> bunzip2: Can't guess original name for clojure-1.4.0.zip -- using clojure-1.4.0.zip.out \ bunzip2: clojure-1.4.0.zip is not a bzip2 file.
23:07:42 <oerjan> *sigh*
23:08:46 <Sgeo> Does tar have something?
23:09:01 <Sgeo> I think it tends to have decompression stuff, but can that be used on its own?
23:09:26 <zzo38> Can you use jar to unzip stuff, or does that not work?
23:09:42 <Sgeo> Good question
23:09:45 <Sgeo> `jar
23:09:52 <HackEgo> Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... \ Options: \ -c create new archive \ -t list table of contents for archive \ -x extract named (or all) files from archive \ -u update existing archive \ -v generate verbose output on standard output \ -f specify archive file name \ -m include manifest information from specified manifest file
23:10:21 <Sgeo> `jar -x clojure-1.4.0.zip
23:10:25 <HackEgo> Illegal option: \ Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... \ Options: \ -c create new archive \ -t list table of contents for archive \ -x extract named (or all) files from archive \ -u update existing archive \ -v generate verbose output on standard output \ -f specify archive file name \ -m include manifest information from specified
23:10:40 <Sgeo> `jar x clojure-1.4.0.zip
23:10:44 <HackEgo> Illegal option: \ Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... \ Options: \ -c create new archive \ -t list table of contents for archive \ -x extract named (or all) files from archive \ -u update existing archive \ -v generate verbose output on standard output \ -f specify archive file name \ -m include manifest information from specified
23:10:51 <itidus21> @google can jar open zip files
23:10:52 <lambdabot> http://ostermiller.org/opening_jar_files.html
23:10:52 <lambdabot> Title: Opening .jar Files
23:11:00 <itidus21> sorry >:)
23:11:18 <oerjan> Sgeo: `run
23:11:28 <Sgeo> `run jar -x clojure-1.4.0.zip
23:11:37 <kmc> `man jar
23:11:39 <itidus21> ahh
23:11:41 <HackEgo> man: can't open the manpath configuration file /etc/manpath.config
23:11:44 <itidus21> rename the zip file to .jar
23:11:46 <kmc> manpath
23:11:46 <Sgeo> ....?
23:11:51 <itidus21> or copy it
23:11:52 <Sgeo> `ls
23:11:56 <HackEgo> bin \ canary \ clojure-1.4.0.zip \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
23:12:00 <HackEgo> No output.
23:12:03 <Sgeo> `ls
23:12:07 <HackEgo> bin \ canary \ clojure-1.4.0.zip \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
23:12:29 <itidus21> " In fact, any program that can open zip files can open jar files. The jar format is identical to the zip file format."
23:12:53 <Sgeo> `mv clojure-1.4.0.zip clojure-1.4.0.jar
23:12:56 <HackEgo> mv: missing destination file operand after `clojure-1.4.0.zip clojure-1.4.0.jar' \ Try `mv --help' for more information.
23:13:06 <Sgeo> `run mv clojure-1.4.0.zip clojure-1.4.0.jar
23:13:09 <HackEgo> No output.
23:13:11 <Sgeo> `run jar -x clojure-1.4.0.jar
23:13:39 <oerjan> `ls
23:13:42 <HackEgo> bin \ canary \ clojure-1.4.0.jar \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
23:13:51 <Sgeo> It didn't No output yet.
23:14:01 <HackEgo> No output.
23:14:06 <oerjan> neither did the first one
23:14:14 <Sgeo> `ls
23:14:14 <itidus21> oh well it was worth a shot
23:14:17 <HackEgo> bin \ canary \ clojure-1.4.0.jar \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
23:14:28 <oerjan> oh wait it did
23:15:08 <Sgeo> Maybe we can just grap unzip?
23:15:53 <Sgeo> Or 7zip
23:15:53 <zzo38> What mapper should be use with this? http://forums.nesdev.com/viewtopic.php?f=22&t=9312
23:16:51 <Sgeo> http://downloads.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_x86_linux_bin.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fp7zip%2Ffiles%2Fp7zip%2F9.20.1%2F&ts=1347751002&use_mirror=softlayer
23:16:59 <Sgeo> `fetch http://downloads.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_x86_linux_bin.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fp7zip%2Ffiles%2Fp7zip%2F9.20.1%2F&ts=1347751002&use_mirror=softlayer
23:17:03 <HackEgo> 2012-09-15 23:17:03 URL:http://softlayer.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_x86_linux_bin.tar.bz2 [2152153/2152153] -> "p7zip_9.20.1_x86_linux_bin.tar.bz2?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fp7zip%2Ffiles%2Fp7zip%2F9.20.1%2F&ts=1347751002&use_mirror=softlayer" [1]
23:17:08 <kmc> seriously
23:17:31 <Sgeo> I blame sourceforge
23:17:59 <Sgeo> `run mv "p7zip_9.20.1_x86_linux_bin.tar.bz2?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fp7zip%2Ffiles%2Fp7zip%2F9.20.1%2F&ts=1347751002&use_mirror=softlayer" p7zip.tar.bz2
23:18:02 <HackEgo> No output.
23:18:49 <Sgeo> `run tar -xjf p7zip.tar.bz2
23:18:54 <HackEgo> No output.
23:19:01 <Sgeo> `ls p7zip
23:19:05 <HackEgo> ls: cannot access p7zip: No such file or directory
23:19:08 <Sgeo> `ls
23:19:12 <HackEgo> bin \ canary \ clojure-1.4.0.jar \ foo \ karma \ lib \ p7zip.tar.bz2 \ p7zip_9.20.1 \ paste \ quotes \ share \ wisdom \ zalgo.hs
23:19:50 <elliott> what is this
23:19:50 <Sgeo> `run p7zip_9.20.1/bin/7z
23:19:53 <HackEgo> bash: p7zip_9.20.1/bin/7z: cannot execute binary file
23:20:06 <Sgeo> A failing attempt to extract a .zip file
23:20:50 <Sgeo> `run file p7zip_9.20.1/bin/7z
23:20:54 <HackEgo> p7zip_9.20.1/bin/7z: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.0.30, stripped
23:25:48 <Sgeo> halp
23:26:52 <oerjan> 22:15:34: <Arc_Koen> so, a machine consisting of two "registers" (actually variables A and B holding an unbounded non-negative integer), and a finite list of instructions taken from the set {"A++", "B++", "A--", "B--", "A<-0", "B<-0", "A<-B", "B<-A", "if A=0 goto x", "if B=0 goto x", "if A=B goto x", "halt"}
23:26:57 <oerjan> 22:15:42: <Arc_Koen> the set of all those machines have been proven to be turing-complete?
23:27:14 <oerjan> that sounds like an equivalent formulation of a 2-register minsky machine, so yes
23:27:18 <Arc_Koen> yup I'm writing a TC proof for Maze under that assumption
23:27:56 <oerjan> you don't need "if A=B goto x", or any assignments
23:28:10 <Arc_Koen> it uses two cars, one for each register; all instructions are very easy to translate, except for the if .. goto which need to solve a wire-crossing problem
23:28:17 <Arc_Koen> oh
23:28:30 <Arc_Koen> so I can just get rid of the if and not bother with the wire crossing?
23:28:35 <oerjan> only increment/decrement and branch
23:28:52 * Arc_Koen was gonna set up a system with a third car holding a value to indicate which direction the car was going
23:28:55 <oerjan> erm you definitely need the =0 ifs
23:29:03 <Arc_Koen> ah, ok
23:29:16 <Arc_Koen> I can only get rid of the if A=B goto x then?
23:29:27 <oerjan> and all the <- ones
23:29:48 <Arc_Koen> even A<-B and B<-A ?
23:29:53 <oerjan> especially those
23:29:57 <Arc_Koen> oh
23:30:05 <Arc_Koen> waow, it's very easy to be turing complete
23:30:10 <oerjan> yes, it is.
23:30:28 <oerjan> you need to initialize A and B at the start, of course
23:31:42 <Arc_Koen> yes I'm assuming the car is holding 0 at the beginning
23:31:53 <oerjan> you can also try 3-cell brainfuck, which has less wirecrossing i believe :)
23:31:55 <Arc_Koen> well there are a lot of things which are not really precise in Maze specifications
23:32:24 <Arc_Koen> for instance for the truth-machine I was gonna write the loop as a 2x2 square
23:32:43 <Arc_Koen> but I thought maybe it was safer to write it as a 3x3 square with a wall in the central cell
23:33:12 <Arc_Koen> well 3-cell brainfuck has while loops
23:33:23 <Arc_Koen> ooooh
23:33:31 <Arc_Koen> right, they cannot be crossed
23:33:31 <Arc_Koen> nice
23:33:56 <Arc_Koen> well I'm gonna use that then
23:34:08 <Arc_Koen> urhh, I have to write everything again with three cars, in that case
23:35:03 <Arc_Koen> hmmm but then I need a way to decide which car is the "current" car
23:36:31 -!- kwertii has joined.
23:36:52 -!- quintopia has joined.
23:37:50 <oerjan> note that the 3-cell brainfuck tc-proof only uses balanced loops, so it's always known at a program position which cell is the current one
23:38:04 <oerjan> so you don't _have_ to implement dynamic <>
23:38:18 <Arc_Koen> actually I think it can be quite easy to implement
23:38:53 <Arc_Koen> and that'd give an explicit proof
23:39:01 <Arc_Koen> or whatever is the correct english word for that
23:39:25 <Arc_Koen> (that is, a proof that not only proves it's possible, but gives an explicit way to do it)
23:39:41 <oerjan> construction?
23:41:28 <oerjan> i think you could do general gotos if you had a car keep the current statement number as its value, and used a giant tree of IF THEN ELSEs
23:42:13 <oerjan> it would then be possible to keep the maze part fixed and have all the program data in the functions
23:42:24 <Arc_Koen> my idea was to actually allow to cross wires, with the crossing being ruled by a third car, which value indicate in which wire the car is going
23:42:33 <oerjan> ah
23:42:43 <Arc_Koen> (but that may be overcomplciated)
23:42:57 <Arc_Koen> I'm not sure what you mean by the giant tree of if then elses though
23:43:32 <olsner> kmc: e.g. "python -c '" followed by the whole thing and then a ' on a line of its own?
23:43:44 <oerjan> IF ** THEN IF ==1 THEN =5 ELSE IF ==2 THEN =1 ELSE ... ELSE IF ==1 THEN ...
23:43:51 <olsner> I think that'll cause difficulty with single-quoted strings in the python code
23:44:05 <Sgeo> So, should I take my attempts to get Clojure working into an msg with HackEgo?
23:44:10 <oerjan> basically a single function which does all the branching line number calculation
23:44:26 <olsner> Sgeo: Clojure?
23:45:07 <Sgeo> olsner, a functional Lisp on the JVM
23:45:16 <oerjan> and other functions which guide the line number car to the right **'s to tell the other cars what the actual instruction is
23:45:39 <olsner> (fwiw, I ended up replacing my shell needs with os.popen ... if anyone needs to use my program on pathes with spaces or other special characters in them, they'll simply be screwed)
23:45:54 <kmc> don't use os.popen, use subprocess module
23:46:03 <oerjan> putting the control flow in the maze is nicely visual, though :)
23:46:13 <Arc_Koen> I'm not sure I'm following
23:46:13 <kmc> and you can pass a list of args rather than a single string to be interpreted by the shell
23:46:30 <olsner> os.popen is shorter :)
23:46:36 <oerjan> Arc_Koen: you have a car whose value is the current program line number
23:46:44 <kmc> that's a great justification for choosing one piece of software over another
23:46:57 <kmc> in python you can just do "import subprocess; p = subprocess"
23:47:04 <kmc> or of course "from subprocess import foo, bar"
23:47:05 <olsner> the whole python stdlib is filled with "oh, btw we did it all wrong, now use <other lib>"
23:47:09 <kmc> that's true
23:47:10 <Arc_Koen> "so it's always known at a program position which cell is the current one" you mean I really don't need to implement > and <, but only +-., applied to each of the three cells?
23:47:15 <kmc> but is true of most languages as well
23:47:18 <oerjan> Arc_Koen: yep
23:47:39 <oerjan> Arc_Koen: well the proof doesn't actually use ., since it does just computation
23:47:47 <Sgeo> Clojure is still in the stage of learning what they did wrong
23:47:58 <Arc_Koen> yeah
23:48:00 <olsner> I suppose python users should be happy that the python maintainers admit they did it all wrong, and should also be happy that various future versions have fixes for some of the bugs
23:48:19 <oerjan> in fact i never got a good way of getting arbitrary length output out it
23:48:20 <olsner> as opposed to php where it's derples all the way :)
23:48:33 <oerjan> *out of it
23:48:48 <Arc_Koen> so I have a line-number car, and what does it do in case of a goto?
23:49:33 <Sgeo> Oh awesome
23:49:47 <Arc_Koen> oh, wait, now I'm starting of implementing "come from" instead of "go to"
23:49:56 <Arc_Koen> s/starting/thinking
23:50:21 <Sgeo> I found just the jar on Maven
23:50:50 <Arc_Koen> hmm no that didn't make sense
23:50:53 <Sgeo> `fetch http://search.maven.org/remotecontent?filepath=org/clojure/clojure/1.4.0/clojure-1.4.0.jar
23:51:01 <HackEgo> 2012-09-15 23:51:00 URL:http://search.maven.org/remotecontent?filepath=org/clojure/clojure/1.4.0/clojure-1.4.0.jar [3421683/3421683] -> "remotecontent?filepath=org%2Fclojure%2Fclojure%2F1.4.0%2Fclojure-1.4.0.jar" [1]
23:51:10 * Sgeo facepalms
23:51:24 <Sgeo> `run mv "remotecontent?filepath=org%2Fclojure%2Fclojure%2F1.4.0%2Fclojure-1.4.0.jar" clojure-1.4.0.jar
23:51:26 <HackEgo> No output.
23:52:21 <olsner> I think one of the funnier examples is options parsing, where it seems every major python release has come with a new incompatible library for options parsing, deprecating whatever was there before
23:53:29 <oerjan> <Arc_Koen> so I have a line-number car, and what does it do in case of a goto? <-- it runs a function which calculates the new line number. hm i guess you might need some cleverness since you need to test different registers in different statements
23:53:45 <Sgeo> `run java -cp clojure-1.4.0.jar clojure.main -e "(+ 1 1)"
23:53:57 <HackEgo> 2
23:54:00 <Sgeo> Yay!
23:54:17 <oerjan> note that if you use gotos you only need 2 registers, as previously stated
23:55:42 <Sgeo> Oh this is easier to type
23:55:42 <Sgeo> `run java -jar clojure-1.4.0.jar -e "(+ 1 1)"
23:55:54 <HackEgo> 2
23:56:57 <elliott> i distinctly remember sgeo going on about clojure sucking some months back
23:57:01 <elliott> what happened
23:57:22 <oerjan> there need to be signals the line number car can go to for signaling A++, A--, B++ and B--. and functions to decide based on line number to decide whether it hits each of them
23:57:25 <olsner> he might still be going
23:57:42 -!- nooga_ has quit (Ping timeout: 264 seconds).
23:57:49 <Sgeo> Hmm, I don't remember. It's at least partially possible that some of the ranting was about the JVM, and I decided just to hold my nose
23:58:09 <oerjan> then there are signals for the A and B cars to go to for signalling whether or not they are 0, at different times, at which the line number car does branching calculations.
23:59:53 <Sgeo> elliott, do you remember what any of the ranting was about, specifically?
←2012-09-14 2012-09-15 2012-09-16→ ↑2012 ↑all