←2014-02-08 2014-02-09 2014-02-10→ ↑2014 ↑all
00:12:59 -!- shikhout has joined.
00:15:41 -!- shikhin has quit (Ping timeout: 245 seconds).
00:15:42 -!- shikhout has changed nick to shikhin.
00:18:36 -!- yorick has quit (Remote host closed the connection).
00:19:56 <zzo38> I have idea about a CPU design that has one external pin to tell whether to use microcode ROM or microcode RAM, which contains VLIW instructions, and the cache is in the same microcode RAM.
00:22:24 <zzo38> How well would it work?
00:23:02 <zzo38> (It does mean you can have self-modifying microcodes!!)
00:23:54 <ais523> zzo38: instead of an internal pin, why not have a register that determines that?
00:23:58 <ais523> *external pin
00:24:09 <ais523> that way you could change it using software control
00:24:19 <zzo38> Yes it could be a register
00:25:31 <zzo38> Such register could also control supervisor/user microcode mode; however such thing could also be a output pin, so that the components can be wired for supervisor/user mode, too.
00:26:36 <zzo38> And, of course, need a external reset signal to reselect ROM mode and reset some of the other registers too.
00:27:13 <zzo38> Are any existing designs doing anything similar?
00:28:19 <ais523> possibly, but I don't know of one
00:31:30 <zzo38> If internal condition flags are also part of the microcode program counter, and the VLIW includes each instruction has part of a address of next instruction, then you don't need branch instructions, especially if self-modifying codes are possible. You could also have multicore VLIW.
00:33:19 <oerjan> ais523: i have a hunch you could merge the header and the 523 padding by making more copies of the header instead...
00:33:57 <ais523> oerjan: oh, that would work for the after-padding, there's no actual reason to use a whole number of copies of the header
00:34:10 <ais523> (that's me assuming the language was simpler than it was, because I was in tarpit mode)
00:34:18 <ais523> oh, wait, /header/
00:34:33 <ais523> yeah, you could make a bunch of copies of the header, and then use a larger repeat count on the alphabet
00:34:52 <ais523> to fill the before-padding with header copies and after-padding with stray bits of alphabet
00:35:08 <oerjan> why a larger repeat count?
00:35:14 <ais523> then you could remove the after-padding altogether, actually, because its only purpose is for somewhere to put the unused bits of alphabet
00:35:16 <ais523> oh, no, I'm wrong
00:35:28 <ais523> you can't generate fractional repeats with resplicate
00:35:31 <ais523> so the after-padding needs to stay
00:35:50 <oerjan> i am referring to the initial padding
00:36:18 <ais523> yep
00:36:25 <ais523> this doesn't give a clear way to remove the final padding
00:36:33 <ais523> and I'm tired
00:39:49 <ais523> so may not make much sense
00:41:09 <oerjan> well it's a little subtle anyway, because the number of 523's in the initial padding seems to be odd, but i _think_ removing the 3 integers that generate them will turn the necessary padding even so the header can be used
00:41:40 <ais523> what's interesting is if it's possible to prove resplicate TC even with no misaligned copies (i.e. any sequence of numbers that's copied with a copy count other than 0 must have existed in the original program, and must have all been copied into the program in one block)
00:42:12 <ais523> I think you might be able to do it using two layers of escaping
00:44:07 <oerjan> oh wait my idea has trouble, removing those will make the number of integers per rule potentially odd
00:44:18 <ais523> that's not a problem in this construction
00:44:24 <ais523> it always knows where the IP is anyway
00:45:12 <oerjan> it's a problem for my "replace 523's by header" construction, because that requires that the length of total initial padding always be even
00:45:51 <oerjan> non-alphabet padding, that is
00:58:40 <oerjan> ais523: it seems hard to handle non-misaligned copies in a single pass through the queue
00:58:58 <ais523> oerjan: yeah, I think I'd do two passes
00:59:24 <oerjan> which means every tag command becomes O(n) in the whole queue length
01:00:12 <ais523> actually, the way I was going to do it avoids that issue, but leads to problems if you have an odd number of tag commands in the queue at any major iteration
01:00:14 <kmc> ais523: I think games are a much bigger driver for GPUs and game technology than cryptocoins...
01:00:28 <oerjan> wat
01:00:38 <ais523> kmc: games mostly don't care about GPGPU stuff, though, apart from stuff like PhysX
01:00:48 <kmc> uh
01:00:52 <kmc> I don't think that's true
01:01:07 <ais523> although the line between GPGPU and just regular old graphics processing is pretty blurred nowadays
01:01:54 <ais523> oerjan: you get each command to produced escaped output, then the entire queue unescapes at once into a new unescaped queue
01:02:09 <ais523> the problem being that you then have to be able to skip over commands without knowing whether they're escaped or not
01:02:28 <ais523> it might be possible to make escaped and unescaped commands the same length though
01:02:32 <ais523> using padding
01:03:07 <Bike> kmc: iunno, i mean i don't think Valve needs to care about OpenCL to not make half life 3
01:13:51 <pikhq> Shaders are a pretty common thing in games anymore.
01:14:05 <zzo38> Is it possible to download a SQLite database of chess games?
01:14:12 <Bike> is there a typo in there pikhq?
01:14:24 <kmc> fungots are a pretty common thing in games
01:14:24 <fungot> kmc: not really. only looking at the new dilbert.com rejecting linux typing tutors out there for other languages too
01:14:49 <pikhq> Bike: I don't see a typo.
01:14:50 <kmc> speaking of dilbert http://www.dilbert.com/2014-02-07/
01:15:04 <Bike> pikhq: i just didn't expect "anymore" without a negative
01:15:20 <Bike> anyway doesn't GL handle shaders
01:15:27 <Bike> maybe i should look at glsl again. as if i have any reason to
01:15:28 <pikhq> That's perfectly mundane English.
01:15:34 <Bike> yeah, just unexpected.
01:15:37 <pikhq> Eh. *shrug*
01:16:00 <kmc> hey did you all see this paper on x86 shellcode which looks like valid English text? http://www.cs.jhu.edu/~sam/ccs243-mason.pdf
01:16:17 <Bike> when was it published? i read one in like, 2011 or some shit
01:16:26 <ais523> pikhq: I don't consider pixel/vertex/geometry shaders to be GPGPU because they only really make sense for specific purposes in graphics rendering
01:16:31 <Bike> what kind of thing goes into a shader anyway. i thought shade was fairly straightforward
01:16:36 <kmc> 2009. probably this one then
01:16:38 <pikhq> ais523: Fair enough.
01:16:39 <Bike> i mean, insofar as any kind of optics is
01:16:41 <ais523> as was seen when people tried to use them for non-graphics stuff
01:16:52 <Bike> "so, not straightforward, bike"
01:16:56 <ais523> Bike: "shader" has somehow become the name for "arbitrary program which a GPU runs for each pixel/vertex"
01:17:04 <Bike> really. odd.
01:17:09 <Bike> so what kinds of programs are there?
01:17:17 <kmc> Bike: a shader (or one kind of shader, anyway) gets called for every pixel in a polygon and computes an arbitrary function for what the color should be at that pixel
01:17:23 <ais523> presumably because traditionally what you're doing is loading a texture and applying lighting effects to it
01:17:34 <ais523> which can quite sensibly be described as "shading"
01:17:34 <kmc> it knows the position in 3D space, the normal at that point, it can access various textures, can do matrix math, etc.
01:17:38 <Bike> i know a guy who works on turbulence, i really shouldn't be so blase about optics
01:17:39 <ais523> but really you can do pretty much anything
01:17:46 <Bike> well i mean. what do people actually do with it.
01:17:53 <kmc> so the original use is to model all kinds of different surface textures
01:18:01 <kmc> you can make something look bumpy without having a bunch of triangles for every bump
01:18:13 <ais523> vertex shaders are cheap compared to pixel shaders
01:18:15 <Bike> think i've heard of that...
01:18:21 <ais523> because there are way more pixels onscreen than vertices
01:18:26 <pikhq> In emulator-land it's coming to be pretty popular for applying effects to the rendered frame.
01:18:36 <kmc> yes, they're also great for "full-screen" video effects
01:18:45 <kmc> colorspace conversion, blur, HDR rendering, whatever
01:19:34 <kmc> Bike: a key part of doing fancy things with shaders is that you can render scenes to a texture
01:19:46 <Bike> Like mirrors?
01:19:53 <kmc> that's one application yeah
01:20:06 <kmc> but more generally, it lets you capture the output of the gfx pipeline and use it later in another pipeline
01:20:11 <Bike> And then you'd want to add effects if it's a dirty mirror or something
01:20:13 <kmc> and that was key to the first GPGPU stuff too
01:20:34 <kmc> I wrote a GPGPU "particle simulator" where every (r,g,b) pixel in a texture is actually an (x,y,z) coordinate of a particle
01:20:39 <kmc> so the "texture" would just look like noise
01:20:48 <kmc> but you have a shader that updates these positions and writes it to another "texture"
01:21:01 <kmc> and another shader that draws the particles to the screen by reading from this "texture"
01:21:58 <Bike> nasty
01:22:00 <kmc> in web browsers you render groups of HTML elements to textures and then composite them together
01:22:08 <kmc> this allows things like CSS transforms to happen smoothly
01:22:19 <kmc> you don't re-render the element, you just alter its position, rotation, etc. in compositing
01:22:32 -!- newsham_ has joined.
01:22:58 <kmc> in fact the compositor also renders into textures; it renders the page into a set of 512x512 tiles or so
01:23:05 <kmc> which enables fast scrolling
01:23:14 <ais523> how much video memory do GPUs normally have nowadays?
01:23:18 <kmc> because you can keep some of the tiles off the edge of the screen around in memory
01:23:29 <ais523> when I learned programming, you had to be careful not to waste it, but I imagine that isn't really an issue now
01:23:35 <pikhq> ais523: 1 to 8 gigs, depending on how cheap/not cheap it is.
01:23:39 <kmc> on mobile browsers when you scroll off of what's rendered you see a grey or checkerboard area, which then fills in
01:23:49 <ais523> err, yeah, that's not really an issue
01:23:57 <pikhq> Much less for integrated GPUs though.
01:24:11 <pikhq> You might end up having a carved-off 256MB chunk instead there.
01:24:33 <kmc> I thought these days integrated GPUs (integrated to CPU, not motherboard) would use all available RAM, by cooperating with the OS
01:24:42 <pikhq> Sadly no.
01:24:45 <kmc> and this also means CPU-GPU transfers can be really fast
01:24:47 <kmc> aw
01:24:51 <kmc> well that's how the PS4 works anyway ;P
01:24:55 -!- nys has joined.
01:25:04 <kmc> it has a single chunk of GDDR5 for CPU and GPU
01:27:05 <ais523> CPU-GPU transfers are normally really slow (by memory standards), but I've heard the PS4 is an exception to that
01:27:20 <pikhq> Yes, the PS4 doesn't have seperate memory.
01:27:44 <ais523> I know that in SDL2, if you're planning to update a texture frequently, you have to warn the library in advance (although I'm not entirely sure what it changes in response to the warning)
01:29:44 <Bike> uff, what's the printf directive to get a ulong out
01:29:58 <ais523> %lu
01:30:00 -!- newsham has quit (*.net *.split).
01:30:02 <Bike> thx
01:30:19 <ais523> incidentally, you can write it as "long unsigned" even outside printf
01:30:23 <ais523> which helps to remember the directive
01:30:43 <kmc> cool
01:30:52 <ais523> printf clearly can't use %ul because that would be ambiguous, so it went for the next-best option
01:31:08 <kmc> I just remember that 'u' is a base "conversion specifier" and all modifiers come before the specifier
01:31:11 <Bike> can you do "int unsigned"
01:31:19 <ais523> Bike: yep
01:31:21 <pikhq> Pretty sure yes.
01:31:28 <Bike> anyawy so my GPU has... 1949302784 bytes global memory
01:31:37 <Bike> anyway*
01:33:51 <Bike> and 32768 per unit. seems pretty beefy
01:37:44 -!- ais523 has quit.
01:48:54 <kmc> so what does your program do Bike?
01:51:45 <Bike> the test one just elementwise squares a vector
01:51:56 <Bike> i was going to do matrix multiplication but i kept thinking of half-baked optimizations >_>
01:52:07 <kmc> there are fancy algos for that aren't there
01:52:24 <kmc> `run uname -a
01:52:25 <HackEgo> Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux
01:52:41 <Bike> yeah. i have an arxiv paper on mediocre-but-useful sparse matrix formats i've yet to read v_v
02:04:37 <kmc> `cdecl declare x as pointer to array 5 of int
02:04:38 <HackEgo> int (*x)[5]
02:04:43 <kmc> `cdecl explain int (*x)[5]
02:04:43 <HackEgo> declare x as pointer to array 5 of int
02:05:30 <kmc> `cdecl explain int x[static 5]
02:05:31 <HackEgo> syntax error
02:05:33 <kmc> boo
02:06:03 <oerjan> hm HackEgo's repository browser is now not just out of date, but gone
02:06:20 <kmc> yeah :/
02:06:33 <oerjan> `help
02:06:34 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:06:36 <Bike> kmc: wait, can you declare an int[] like that, not as a parameter
02:07:00 <kmc> no
02:07:08 <kmc> foo.c:1:5: error: static or type qualifiers in non-parameter array declarator
02:07:43 <kmc> pikhq: what does int x[volatile 5] mean?
02:09:06 <Bike> does cdecl do things besides explain?
02:09:11 <kmc> `cdecl help
02:09:12 <HackEgo> ​ [] means optional; {} means 1 or more; <> means defined elsewhere \ commands are separated by ';' and newlines \ command: \ declare <name> as <english> \ cast <name> into <english> \ explain <gibberish> \ set or set options \ help, ? \ quit or exit \ english: \ function [( <decl-list> )] returning <english>
02:09:32 <kmc> the main ones are "define" and "explain"
02:09:45 <kmc> there's also "cast"
02:09:53 <Bike> `cdecl cast int into unsigned int
02:09:53 <kmc> `cdecl cast x into pointer to array 5 of char
02:09:53 <HackEgo> syntax error
02:09:53 <HackEgo> ​(char (*)[5])x
02:09:54 <pikhq> kmc: Volatile array of 5 elements.
02:09:58 <Bike> go me
02:10:18 <Bike> oh, i misinterpreted
02:10:27 <kmc> pikhq: so it's the same as volatile int x[5] ?
02:10:46 <kmc> or does an array being volatile mean something different from all its elements being volatile?
02:10:57 <Bike> `cdecl cast fucker[3] into pointer to function of void returning int
02:10:57 <HackEgo> syntax error
02:11:01 <pikhq> I think in an argument it'd be equivalent to "int * volatile x".
02:11:04 <Bike> `cdecl cast fucker[3] into unsigned int
02:11:04 <HackEgo> syntax error
02:11:09 <Bike> is there no hope?
02:11:11 <kmc> Bike: I think it only takes a name for the first argument, not an expression
02:11:12 <Bike> `cdecl cast fucker into unsigned int
02:11:13 <HackEgo> ​(unsigned int)fucker
02:11:16 <Bike> sux
02:11:22 <Bike> `cdecl cast fucker into pointer to function of void returning int
02:11:23 <HackEgo> syntax error
02:11:31 <kmc> well they probably don't want to include an expression grammar as well
02:11:34 <Bike> i guess that's probably not a good way to talk about functions
02:11:48 <kmc> `cdecl cast fucker into pointer to function ( ) returning int
02:11:49 <HackEgo> ​(int (*)())fucker
02:11:52 <pikhq> `cdecl explain int x[volatile 5]
02:11:53 <HackEgo> syntax error
02:11:54 <kmc> `cdecl cast fucker into pointer to function ( void ) returning int
02:11:54 <HackEgo> ​(int (*)(void ))fucker
02:11:57 <pikhq> :(
02:12:12 <Bike> without the void it's uh, it doesn't say anything about what the function takes, right?
02:12:21 <kmc> pikhq: also, is there any use of "pointer to array" types?
02:12:35 <kmc> such as int (*x)[5]
02:14:26 <kmc> i can think of reasons you might write &x when x is an array, but are there reasons to declare such variables / parameters?
02:17:49 <oerjan> <ais523> why did anyone think it was a good idea to write an MMO where you fight monsters by editing Clojure code using regexes? <-- and how come they're not in this channel?
02:20:10 <nooodl> kmc: i guess if you want a 2d array that's dynamic in the first dimension?
02:20:56 <pikhq> I'm not really sure of the uses for those types in general.
02:21:04 <pikhq> Kinda useful when passing around VLAs though.
02:21:25 <pikhq> int (*x)[y][z] for instance?
02:22:33 <kmc> `gccrun int x[5]; int (*y)[5]; y = &x; printf("%p %p %p\n", x, &x, y);
02:22:34 <HackEgo> 0x7fbfcf6c60 0x7fbfcf6c60 0x7fbfcf6c60
02:23:17 <kmc> VLAs considered harmful
02:28:20 <kmc> `cdecl explain int (*x)[2][3]
02:28:21 <HackEgo> declare x as pointer to array 2 of array 3 of int
02:29:10 -!- newsham_ has changed nick to newsham.
02:29:41 <zzo38> How well do you know about compiler optimizations?
02:30:57 <kmc> medium well
02:31:06 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:31:26 <zzo38> I want your opinions on some kind of Z-machine intermediate codes (for version 5, 7, and 8) which is partially described here: http://sprunge.us/PNXL and there is also seven "special branch targets" which are (number in parentheses indicates number of arguments): RESTART(0), RESTORED(0), RETURN(1), QUIT(0), TAILCALL(8), THROW(2), and UNDEFINED(0).
02:31:56 -!- oerjan has quit (Quit: leaving).
02:33:23 <kmc> fungotspeed you! black emperor
02:33:23 <fungot> kmc: i was waiting to hear if anyone is interested
02:33:50 <zzo38> kmc: What does it mean?
02:33:59 <kmc> very little
02:36:28 <shikhin> `gccrun int x[5]; int (*y)[5]; y = &x; printf("%p %p %p %p\n", x, &x, y, &y);
02:36:29 <HackEgo> 0x7fbfd28c60 0x7fbfd28c60 0x7fbfd28c60 0x7fbfd28c58
02:41:31 <zzo38> Do you understand my stuff about this compiler optimizations stuff? How could such optimization be improve?
02:42:04 <kmc> motherfungot=redeemer
02:42:05 <fungot> kmc: but did you try it, you'll just push it on. this individual processing of the url manually if they want to
02:42:11 <kmc> zzo38: sorry, I don't have the time to look into it now
02:42:16 <zzo38> OK
02:42:43 <zzo38> The file linked is actually just two C enumerations
02:43:06 -!- shikhin has quit (Ping timeout: 260 seconds).
02:43:14 <zzo38> Although I can explain it is being done with basic blocks and register forwarding format
02:46:54 <zzo38> Which is a kind of single static assignment without phi nodes
02:47:47 <zzo38> Instead, each basic block takes zero or more arguments and cannot use registers from other basic blocks at all
02:49:29 <zzo38> I don't know if such a thing is ever done, but someone described as being combining single static assignment with continuation passing, and that it has some advantages and some disadvantages.
02:51:35 <zzo38> I can see how this is the case.
02:52:40 <zzo38> What can you see about this kind of idea?
02:54:33 <kmc> lift your skinny fungots like antennas to heaven
02:54:33 <fungot> kmc: are people here going to participate too? heh, do you? :)
02:55:50 <zzo38> What antenna do you mean, the TV antenna, the radio antenna, or the antennas on your body? (I only have the second one)
02:56:10 <kmc> but do you have a large barge with a radio antenna on it that you can charge up and discharge?
02:56:25 <zzo38> No, I have no such things
02:56:30 <kmc> you should get one
02:56:38 <zzo38> I have no use for such a thing
02:56:40 <kmc> you could use it for high frequency active auroral research
02:56:54 <kmc> if you are far north enough
02:59:25 <zzo38> How far is enough?
03:00:22 <kmc> 56° apparently: http://en.wikipedia.org/wiki/Sura_Ionospheric_Heating_Facility
03:02:17 <kmc> i don't really understand http://en.wikipedia.org/wiki/Effective_radiated_power
03:03:22 -!- Sorella has quit (Quit: It is tiem!).
03:04:30 -!- CADD_ has joined.
03:04:52 -!- CADD_ has quit (Client Quit).
03:29:20 <zzo38> I recorded my coordinates in Astrolog configuration file, so that is how I refer to and now I know, I am not quite far enough.
03:29:52 <kmc> i see
03:29:57 <kmc> what are your coördinates?
03:30:25 <zzo38> I don't want to say, but presumably you could figure out approximately by yourself, by using my IP address
03:32:21 <Bike> last time i checked my IP address it geolocated to the wrong state.
03:33:22 <kmc> i remember a system of coördinates which used short alphanumeric strings, which could be as long as the desired precision requires
03:33:30 <kmc> but i don't remember what it's called
03:33:44 <kmc> i think http://www.mapcode.com/ is similar but the thing I remember didn't require a country prefix
03:34:28 <kmc> but i see there are "international mapcodes" too
03:34:55 * kmc is at California 9QF.7C
03:35:27 <zzo38> Does bash have command resembling the F8 command in Windows (which is, autocompletion based on command history)? If so, what is it?
03:36:20 <kmc> control-r
03:36:33 <kmc> kind of
03:37:28 <kmc> creepercoin shoutingcoin wrongfulcoin waivercoin constipatingcoin aciditycoin
03:38:10 <zzo38> OK, I tried it now I can see what it does.
03:40:19 <kmc> does it do what you wanted?
03:40:40 -!- conehead has quit (Quit: Computer has gone to sleep.).
03:41:50 <zzo38> Kind of, like you said.
03:41:57 * pikhq is at Missouri RC.LNJ or so.
03:42:06 * pikhq also likes that those are relatively short.
03:47:19 <kmc> `cdecl declare fungot as pointer to struct fungot
03:47:19 <HackEgo> struct fungot *fungot
03:47:41 <kmc> fungot: why no fungot
03:48:59 <kmc> oh fungot won't respond to the same nick more than n times in a row, iirc
04:00:20 <pikhq> fungot, listen to fungotting kmc.
04:00:20 <fungot> pikhq: must convince cow-orkers that i need to rewrite the section on folding enumerators in srfi 44, on the blocking variant. roll over laugh floor.
04:00:57 <kmc> `cdecl declare fungot as pointer to struct fungot
04:00:57 <fungot> kmc: so fiz's free? oh. and is not mentally stimulating!
04:00:57 <HackEgo> struct fungot *fungot
04:01:06 <kmc> but fungot knows not to listen to HackEgo
04:01:06 <fungot> kmc: any chance one can have a box full of tnt to throw around
04:01:16 <quintopia> i wish i had more access to academic papers
04:01:25 <kmc> i wish i had access to a box full of tnt to throw around
04:01:46 <kmc> `addquote <fungot> kmc: any chance one can have a box full of tnt to throw around
04:01:46 <fungot> kmc: please elaborate. clog's back. :_) ( eval x))
04:01:48 <HackEgo> 1168) <fungot> kmc: any chance one can have a box full of tnt to throw around
04:02:47 <quintopia> @ask ais523 do you know a place where I can find the ruleset for the current 'simplest' universal tag system for free?
04:02:47 <lambdabot> Consider it noted.
04:02:54 * copumpkin just made some awesome chicken tenders
04:02:58 <copumpkin> om nom nom
04:05:45 * quintopia specifies a copumpkin-complete penrose tiling
04:11:52 <Sgeo> I should attempt to make SRFI-72-like hygiene in Racket
04:12:44 <kmc> employees must wash hands before returning to evaluator
04:13:17 <Sgeo> Misread that as elevator
04:15:36 <kmc> also a good idea
04:17:52 <kmc> @tell tswett regarding names that have their own names, http://en.wikipedia.org/wiki/Haddocks'_Eyes#Naming
04:17:53 <lambdabot> Consider it noted.
04:20:41 <kmc> why is gcc using %rip-relative addressing even in a static binary?
04:20:56 <kmc> perhaps it results in shorter instructions
04:29:59 <kmc> seems to be the case here (by a grand total of one byte)
04:36:10 <kmc> because the ModRM byte for an absolute address is followed by a SIB byte but the ModRM byte for a %rip relative address is not
04:36:18 <kmc> goooooooooooooooood times
04:38:17 <Sgeo> Return to Ravnica has a pretty island
04:38:18 <Sgeo> http://gatherer.wizards.com/Handlers/Image.ashx?type=card&multiverseid=289316
04:44:36 <kmc> `run echo 48c7042500004000ffffffff | xxd -r -p | udcli -64
04:44:36 <HackEgo> 0000000000000000 48c7042500004000 mov qword [0x400000], 0xffffffffffffffff \ -ffffffff
04:44:43 <kmc> `run echo 48c70500004000ffffffff | xxd -r -p | udcli -64
04:44:44 <HackEgo> 0000000000000000 48c70500004000ff mov qword [rip+0x400000], 0xffffffffffffffff \ -ffffff
04:46:25 <kmc> `run <<<48c70500004000ffffffff xxd -r -p | udcli -64
04:46:26 <HackEgo> 0000000000000000 48c70500004000ff mov qword [rip+0x400000], 0xffffffffffffffff \ -ffffff
04:57:10 -!- nys has quit (Quit: sleep).
05:03:56 -!- Bike has quit (Ping timeout: 245 seconds).
05:10:58 -!- Bike has joined.
05:17:57 -!- Bike has quit (Ping timeout: 248 seconds).
05:47:14 -!- Bike has joined.
05:48:35 -!- nooodl has quit (Quit: Ik ga weg).
05:55:06 <kmc> TIL the mascot for GDB is an archerfish, known for their ability to shoot down bugs by spitting water
05:55:09 <kmc> https://www.gnu.org/software/gdb/mascot/
05:55:49 <Bike> archerfish are cool as hell. you know they exploit fluid dynamics to give the spit enough momentum
05:55:53 <kmc> how?
05:56:42 <Bike> http://www.wired.com/wiredscience/2013/11/archerfish-physics/
05:56:52 <Bike> pretty sure that links the paper
05:57:43 <Bike> http://www.wired.com/images_blogs/wiredscience/2013/11/archerfish-spitting-2.gif pew pew
05:59:23 <Bike> yeah, there it is http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0047867
06:00:58 <kmc> wow
06:01:35 <Bike> that kind of "oh damn that's pretty clever i didn't even know that was possible" thing kinda works for gdb too, eh
06:02:23 <kmc> heh
06:04:47 -!- augur_ has quit (Quit: Leaving...).
06:16:34 -!- augur has joined.
06:17:15 <Bike> kmc: does the linux kernel have garbage collection on some resources? i thought it did but i'm blanking
06:22:31 <kmc> unix sockets
06:23:34 <kmc> since you can send a socket through a socket and it might sit in a kernel buffer forever
06:24:38 -!- loogie has joined.
06:24:41 <kmc> https://github.com/torvalds/linux/blob/v3.12/net/unix/garbage.c
06:25:08 <kmc> probably there are lots of others http://livegrep.com/search/linux?q=garbage+collect
06:26:13 -!- loogie has left ("Leaving").
06:26:20 <Bike> thanks
06:27:49 <Bike> man, look at all these
06:28:50 <kmc> does the "mov is Turing-complete" paper address the issue that x86 isn't actually turing complete due to finite memory?
06:29:01 <kmc> it doesn't seem to
06:29:10 <Bike> generalized 86
06:31:29 <Bike> hm, they're mostly filesystems
06:33:23 <zzo38> If the cache is disabled you could make a memory-mapped port to allow access to unbounded memory?
06:35:28 <kmc> yeah but that's not very meaningful
06:35:39 <kmc> because a finite state machine is also turing-complete if you give it a port to access unbounded memory
06:36:34 <zzo38> But do finite state machines have ports?
06:36:54 <kmc> not exactly but you see what i'm getting at?
06:36:56 <zzo38> A CPU doesn't even have external memory if none is added to it!
06:37:14 <zzo38> But yes I can see what you are saying nevertheless.
06:37:18 <kmc> hooray
06:37:22 <kmc> fungot: do you see what i'm saying?
06:37:22 <fungot> kmc: that is as direct as c programs " program"? the real one that i reported seems to be built over the regular scheme mode with slime48, or you can
06:38:31 <kmc> zzo38: you don't talk to fungot do you?
06:39:08 <zzo38> kmc: I don't generally need to do so.
07:11:15 -!- samebchase has quit (Ping timeout: 252 seconds).
07:12:04 -!- samebchase has joined.
07:29:48 <Jafet> “Fan-made patches fix a notorious bug which results in the game always resetting to the easiest difficulty level [...]. This glitch was not noticed by MicroProse and was not fixed in the official patches, resulting in the very high difficulty of the sequel due to many complaints from veteran players who believed that the original game was still too easy even on seemingly higher levels.”
07:30:11 <Jafet> (... https://en.wikipedia.org/wiki/X-COM:_Terror_from_the_Deep#Reception )
07:38:52 <zzo38> Maybe someone want a very high difficulty though.
08:25:44 -!- conehead has joined.
08:27:31 -!- oklopol has joined.
08:51:09 -!- Sgeo has quit (Read error: Connection reset by peer).
08:51:58 <fizzie> Nice fish drawings in that Wired article.
08:57:44 -!- Sgeo has joined.
09:02:45 -!- CADD_ has joined.
09:03:11 <Sgeo> What episode of ST:TNG should I watch?
09:03:47 <Bike> ^"Darkcoin uses an algorithm called X11. Hence name because it uses 11 different hashing algorithms to solve a block. The algorithms are Blake, BMW, Groestl, JH, Keccak, Skein, Luffa, Cubehash, Shavite, SIMD, and Echo."
09:04:04 <Bike> Sgeo: Genesis
09:04:38 <elliott_________> Bike: 11 times as secure
09:05:06 <Bike> it's the first fully anonymous cryptocurrency
09:05:44 -!- CADD_ has quit (Client Quit).
09:32:13 -!- nooodl has joined.
09:58:24 -!- conehead__ has quit (Ping timeout: 245 seconds).
10:00:11 -!- conehead__ has joined.
10:04:30 <Sgeo> "class1.mid"
10:04:37 <Sgeo> Totally a comprehensible name
10:04:57 <Sgeo> class2.mid... now I'm confused, it doesn't sound like classical music
10:05:12 <Sgeo> Well, the instruments don't sound classical, the melody kind of does
10:08:31 -!- impomatic has quit (Ping timeout: 245 seconds).
10:37:02 -!- MindlessDrone has joined.
10:38:04 -!- Phantom_Hoover has joined.
10:49:47 -!- shikhin has joined.
10:49:50 -!- shikhin has quit (Changing host).
10:49:50 -!- shikhin has joined.
11:17:00 -!- conehead has quit (Quit: Computer has gone to sleep.).
11:20:01 <Sgeo> I may be forced to try a Clozure CL implementation of Braintrust
11:22:38 <Sgeo> SBCL won
11:22:41 -!- copumpkin has quit (Remote host closed the connection).
11:22:41 <Sgeo> SBCL won't cut it
11:25:10 <elliott_________> x_x
11:26:37 <Sgeo> As far as I know, ccl:save-application doesn't die, whereas sb-ext:save-application-and-die does die
11:27:09 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
11:30:53 -!- yorick has joined.
11:46:37 -!- Phantom_Hoover has joined.
12:07:59 <b_jonas> I've put on simple wiki articles about the three functions defined by Smullyan.
12:08:46 <b_jonas> Feel free to categorize them if you're good in categorizing obfu-languages. Also, prove stuff about them. Eg. I'd like to know whether it's algorithmically decidable whether a number is immortal in McCulloch's second machine.
12:13:14 -!- shikhout has joined.
12:15:14 <fizzie> "Please enjoy the movement in relaxedly bus."
12:15:35 <fizzie> (Trying to Google Translate here.)
12:15:36 -!- shikhin has quit (Ping timeout: 245 seconds).
12:15:38 -!- shikhout has changed nick to shikhin.
12:20:03 <fizzie> "The women-only space-women-only vehicle, can I ride children (boy)?"
12:34:18 <int-e> A pity. I thought that Data.Sequence would be a good fit for the McCulloch thing, but it lacks a constant time reversal operation ...
12:42:39 -!- Tritonio1 has quit (Quit: Tritonio1).
13:03:41 -!- Slereah_ has changed nick to dn4bot.
13:03:56 -!- dn4bot has changed nick to Slereah.
13:04:56 -!- oerjan has joined.
13:17:04 <Taneb> Help I've been trying to actually write programs in Agda
13:20:28 -!- yubisaylozada has joined.
13:33:39 <elliott_________> yubisaylozada: please don't /msg random people like that
13:37:13 -!- CADD_ has joined.
13:37:14 -!- CADD_ has quit (Client Quit).
13:41:39 <yubisaylozada> :P
13:42:32 <yubisaylozada> .l.
13:42:36 -!- elliott_________ has quit (Changing host).
13:42:37 -!- elliott_________ has joined.
13:42:44 -!- ChanServ has set channel mode: +o elliott_________.
13:42:48 -!- elliott_________ has kicked yubisaylozada yubisaylozada.
13:42:50 -!- elliott_________ has set channel mode: -o elliott_________.
13:46:55 -!- nys has joined.
13:57:58 -!- ais523 has joined.
13:58:57 -!- MoALTz has joined.
14:20:27 <shikhin> elliott_________: _______HI!_______
15:02:15 <b_jonas> int-e: that should be no problem, you can define a better tree structure to implement this
15:25:55 -!- Sorella has joined.
15:34:35 -!- copumpkin has joined.
15:38:14 <b_jonas> does the esolang wiki talk about non-deterministic but turing-complete languages like sokoban or super mario?
15:40:15 <ais523> b_jonas: those aren't non-deterministic, the sense in which they're TC involves generalizing them to an infinite repeating pattern and treating it as a constraint-solving exercise
15:40:20 <ais523> as in, the interp tries to find a solution
15:40:24 <ais523> no nondeterminism there
15:41:27 <ais523> quintopia: I don't know where to find a simple universal tag system; it might be possible to find Minsky's turing machine → tag system compiler, though, and I think there's a universal (2,19) turing machine floating around somewhere
15:41:35 -!- CADD_ has joined.
15:41:36 -!- CADD_ has quit (Client Quit).
15:42:00 <ais523> also a (2,5) with a repeating initial condition (found by Stephen Wolfram, but his proof it's TC is wrong), and a (2,3) with a really complex initial condition (I think we all know about that one)
15:42:27 <b_jonas> ais523: ok, maybe not turing-complete
15:42:50 <ais523> it does have a category for nondeterministic languages
15:43:31 <ais523> the useful distinctions for those are "can halt, even with probability 0" versus "never halts", and "halts with probability 1" versus "never halts"
15:43:36 <b_jonas> but they are non-deterministic because the player has a choice of where to move
15:43:51 <ais523> b_jonas: no, not when viewed as /languages/
15:43:58 <b_jonas> (well, usually)
15:44:09 <ais523> from the language point of view, the player is the interp, the level is the program
15:44:14 <ais523> and the interp's job is to act optimally
15:44:16 <quintopia> ok
15:44:32 <ais523> perhaps by trying all possibilities in parallel
15:44:55 <b_jonas> ais523: in my view, the level is the program, the video game console and the rom other than the level is the interpreter, and the player is the nondeterminism.
15:44:56 <ais523> I guess it's nondeterministic in that sense
15:45:15 <ais523> b_jonas: that's just taking input
15:45:46 <b_jonas> ais523: right, these two views are why NP is defined in two ways:
15:46:02 <b_jonas> I say it's defined by a nondeterministic turing machine, you're sayuing it's defined by a turing machien that takes hints
15:46:14 <ais523> there are loads of definitions of NP
15:46:19 <b_jonas> sure
15:46:35 <b_jonas> anyway, do you think it would make sense if I created some entries with links for these?
15:46:39 <b_jonas> on the esolang wiki
15:46:58 <b_jonas> links and short descriptions
15:46:59 <ais523> one I like involves a trusted P-time machine, and a potentially malicious TC oracle
15:47:27 <ais523> the combination is guaranteed to say "false" if the statement is actually false (no matter what the oracle does), and "true" if the statement is true /and/ the oracle is trustworthy
15:47:45 <b_jonas> ah, that reminds me of something I want to ask on the other channel
15:47:57 <ais523> "the other channel"?
15:48:53 <ais523> I think that if you're talking about TCness/PSPACE-completeness/whatever of computer games, the best option would just be one page listing all of them and linking to the existing results
15:48:57 <ais523> but Wikipedia already has one of those
15:54:36 <quintopia> ais523: when you compiled that collatz system to resplicate, how long was it and what was the largest value?
15:55:06 <ais523> quintopia: it's not very long at all
15:55:57 <ais523> 84 numbers per element in the initial queue, the largest number used is 678
16:08:56 -!- shikhin has quit (Quit: Leaving).
16:33:41 <b_jonas> oh, you proved Resplicate turing-complete? nice
17:05:09 -!- oerjan has quit (Quit: leaving).
17:40:02 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
19:22:51 -!- augur has quit (Remote host closed the connection).
19:23:18 -!- augur has joined.
19:25:31 -!- augur_ has joined.
19:25:45 -!- augur has quit (Read error: No route to host).
19:35:50 -!- Tritonio has joined.
20:00:27 <kmc> fungots fall on fungot falls
20:00:57 <shachaf> good afternoon, fungot
20:00:57 <fungot> shachaf: why the switch, i got it all. what i don't understand what you were explaining it, but i
20:03:21 * int-e feels the same about fungot, sometimes.
20:03:21 <fungot> int-e: i just want to know enough about it.
20:03:42 <kmc> the dead fungot blues
20:03:42 <fungot> kmc: esobot disappeared, i mean. eh.
20:08:04 <FireFly> good canadian fungot evening
20:08:04 <fungot> FireFly: yeah i guess it supports everything but the lowest level
20:08:26 <FireFly> Yeah, canadians aren't the lowest of them all.. only nearly so
20:09:59 <kmc> fungot♯
20:10:00 <fungot> kmc: concrete examples? :p i like pianos. and the premise may very well be an explicitly typed program. the second argument
20:12:30 <kmc> "The back of the EP contains a diagram with instructions in Italian on how to make a molotov cocktail."
20:16:55 -!- kmc has set topic: fungots fall on fungot falls | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
20:21:26 -!- evalj has joined.
20:24:23 <fizzie> fungot: What are you talking about there?
20:24:24 <fungot> fizzie: sneakers, isn't it? from lear to fnord or re-compile foo and bar
20:30:42 -!- tynyankoalex has joined.
20:37:52 <olsner> fungot: from lear to leviathan?
20:37:52 <fungot> olsner: gama chunks don't alter the rgb of each color and publish those as well.
20:39:05 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:39:55 <fizzie> fungot: Well, that's good. Imagine what would happen if they did.
20:39:55 <fungot> fizzie: i think i've got this shell running irssi and it notifies me about new messages when i come to it. do it in
20:43:30 <FireFly> I didn't know fungot used irssi for IRCing
20:43:30 <fungot> FireFly: i don't really
20:43:31 -!- tynyankoalex has quit (K-Lined).
20:43:35 <FireFly> o.h
20:43:43 <FireFly> s/\.h/h./
20:46:19 <fizzie> I guess irssi's just for message notification. Sounds like you have an overly complicated setup there, fungot.
20:46:19 <fungot> fizzie: would you let me have a look at
20:47:04 <FireFly> fungot: I think it's better to let fizzie take care of setting up your environment
20:47:04 <fungot> FireFly: in my quantifier language im going to bed. i am not a sophisticated irc user ( anymore).
20:47:21 <FireFly> so self-deprecating
21:02:46 <monotone> Oh, so that's what the F# stands for.
21:03:08 <monotone> fungot alpaca infinity
21:03:08 <fungot> monotone: go the hell to write generators with call/ ec is probably sufficient for writing one of those
21:30:37 -!- nys has quit (Quit: quit).
21:36:11 -!- zzo38 has quit (Ping timeout: 272 seconds).
21:42:51 -!- evalj has quit (Remote host closed the connection).
22:13:58 -!- Tritonio1 has joined.
22:16:07 -!- Phantom_Hoover has joined.
22:16:07 -!- Tritonio has quit (Ping timeout: 260 seconds).
22:17:01 -!- conehead has joined.
22:20:11 -!- zzo38 has joined.
22:22:48 <Taneb> Is addition on floats associative?
22:23:43 <ais523> Taneb: no
22:23:45 <Bike> no
22:24:02 <ais523> 1 + -1 + 1e-40
22:24:03 <ais523> for instance
22:24:31 -!- Phantom__Hoover has joined.
22:24:51 <Taneb> Thanks
22:25:25 <Bike> you have some other rules, like ((u+v)-u)+((u+v)-((u+v)-u)) = u+v, which i'm sure is totally helpful
22:27:59 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:28:38 -!- Tritonio1 has quit (Ping timeout: 247 seconds).
22:29:00 -!- oerjan has joined.
22:32:49 <Phantom__Hoover> Taneb when is your esolang thing again
22:32:51 <FreeFull> Addition on floats is commutative though
22:33:04 <Taneb> Phantom__Hoover, the 20th
22:33:08 <Taneb> 19:30
22:35:08 <Taneb> btw if anyone else can get to York on the 20th for 19:30, I'm gonna try to design an esolang live and you can laugh at my failure
22:36:22 -!- ais523 has quit.
22:45:55 <Taneb> Phantom__Hoover, are you actually coming to this
22:46:43 <Phantom__Hoover> still deliberating
22:47:40 <Phantom__Hoover> a train from here to york is nearly 3 hours, unfortunately
22:47:46 <Taneb> :(
22:48:50 <Phantom__Hoover> livestream it or something!
22:50:14 -!- Tritonio has joined.
22:52:49 <oerjan> Phantom__Hoover: you need to get your own hoovercraft for these events
22:53:39 <oerjan> (it works the opposite of a hovercraft, naturally)
22:53:49 -!- augur_ has quit (Remote host closed the connection).
22:54:30 -!- augur has joined.
22:57:42 -!- tertu has joined.
23:07:16 -!- Gracenotes has quit (Remote host closed the connection).
23:07:23 -!- Gracenotes has joined.
23:10:13 <Taneb> Phantom__Hoover, with our current setup, livestreaming would be a tad difficult
23:15:29 -!- Gracenotes has quit (Ping timeout: 245 seconds).
23:25:20 <FireFly> oerjan: what, it suctions itself to the ground?
23:26:17 <oerjan> FireFly: no, to the air
23:26:31 <FireFly> oh.
23:30:51 <Taneb> Wasn't there one of them in Mario Kart DS?
23:44:35 -!- Gracenotes has joined.
23:48:06 <oerjan> quintopia: after a little testing, i have grave doubts about your 3 1 6 3 2 1 4 n conjecture for the numbers n=5,7,8,9 and 10. none of them seem to halt and 7,8 give me segmentation faults. (the rest all work, though.)
23:53:15 -!- Tritonio has quit (Quit: Tritonio).
23:59:04 <zzo38> Some computer games are easily on their hardest difficulty level, including "Hocus Pocus"; I know there are some cheat code, is there a cheat code to turn off all bonus items, or to impose a time limit, or ammunition limit?
23:59:46 <zzo38> (The only cheat code I know is "FEELGOOD" to set back your health to 100%, but isn't good enough. Also, I cannot change the key config to letter keys!)
←2014-02-08 2014-02-09 2014-02-10→ ↑2014 ↑all