←2014-03-25 2014-03-26 2014-03-27→ ↑2014 ↑all
00:00:10 <tromp> that's a very ugly / command
00:00:27 <tromp> the , is not too pretty either:(
00:00:47 <oerjan> you mean the syntax?
00:01:03 <tromp> the semantics
00:01:34 <oerjan> funnily enough some of that ugliness made it easier to implement, i think.
00:01:47 <tromp> also, it's not specified if going up infinitely is with left or right branches
00:01:53 <oerjan> if i vaguely recall correctly
00:03:49 <oerjan> hm how did i implement that
00:05:42 -!- Bike_ has quit (Quit: leaving).
00:06:02 <oerjan> "A tree of all zeros with the root at its outer rightward slope" says one of my comments
00:07:37 <oerjan> looking more carefully, the specification doesn't even say it starts as all zeros.
00:07:55 <oerjan> i guess i just made a choice.
00:12:03 * oerjan is quite satisfied with that tree implementation.
00:13:01 <tromp> might be good starting point for BRgFuck implementation
00:13:09 <oerjan> to make all the mirroring and left/right stuff easy, the data structure is expressed in terms of whether subtrees are inner or outer ones
00:17:46 <oerjan> hm i must have made this program back during my hugs days, ghc complains about a missing language option
00:19:52 <Taneb> The computers at this university all have Hugs installed and it seems to be the default Haskell implementation
00:20:14 <Taneb> Which strikes me as odd as this university has its own (albeit horribly unmaintained) implementation of Haskell
00:20:20 <oerjan> Taneb: ouch, hugs has been dead for years
00:20:28 <oerjan> (unmaintained)
00:20:53 <Taneb> oerjan, more or fewer years than YHC?
00:21:09 <oerjan> not sure :P
00:21:27 <oerjan> hugs started dying when ghc got a proper interpreter mode, i think.
00:22:24 <oerjan> ok i'll add just the LANGUAGE pragma and drop the parsec module name change then, so it should still compile with old hugs
00:24:11 <Taneb> YHC seems to have died in 2008
00:24:52 <Taneb> Hugs in 2006
00:26:59 <Taneb> NYHC hasn't got very far yet
00:27:21 <Taneb> :(
00:27:26 <Taneb> I should work on that at some point
00:30:15 <oerjan> ok file updated
00:31:30 <oerjan> and now with CC0 PD license, which i suspect is less dubious than a norwegian-claimed Public Domain
00:32:00 <oerjan> not that i've ever actually checked properly whether norwegians can release into PD
00:33:14 <oerjan> i recall way back the servers here are nvg used to have hugs installed. now there is no haskell at all me thinks.
00:33:19 <oerjan> *here at
00:39:49 -!- yorick has quit (Remote host closed the connection).
00:55:35 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:57:15 -!- shikhout has joined.
01:00:31 -!- shikhin has quit (Ping timeout: 264 seconds).
01:00:33 -!- shikhout has changed nick to shikhin.
01:42:43 -!- ket1v has quit (Read error: Connection reset by peer).
01:43:23 -!- ket1v has joined.
01:45:22 -!- angela1 has joined.
01:47:19 -!- Sellyme has quit (Excess Flood).
01:49:36 -!- Sellyme has joined.
01:53:30 -!- angela1 has left.
01:53:54 <^v> i am interested in glass
01:54:08 <^v> but the C program is ancient and refuses to work
01:57:03 -!- ket1v has quit (Ping timeout: 265 seconds).
01:59:58 -!- ket1v has joined.
02:02:33 <Sgeo> Is Light Table causing Clojure to be yet another so-so language with a superior IDE?
02:03:22 <oerjan> i thought glass was in C++ ?
02:04:27 <oerjan> !glass {M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"
02:04:27 <oerjan> "14?24?14?24?24?04?24?04?]}"14?24?14?24?24?04?24?04?]}
02:04:29 <EgoBot> OK
02:04:34 <oerjan> oops
02:05:14 <oerjan> !glass {M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?""14?24?14?24?24?04?24?04?]}"14?24?14?24?24?04?24?04?]}
02:05:14 <EgoBot> ​{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?"{M[m(_s)S!(_o)0O!o.<34>(_s)(ns).?""14?24?14?24?24?04?24?04?]}"14?24?14?24?24?04?24?04?]}
02:05:20 <copumpkin> kmc: too much twitter!
02:06:50 <pikhq> Pretty sure it is C++, yes.
02:10:35 <kmc> yeah
02:32:40 <newsham> sgeo: are there many light-table users?
02:32:50 <Sgeo> newsham: no idea
02:33:02 <Sgeo> I should probably try it, but I haven't been in a Clojure mood for a while
02:33:19 <newsham> now that haskell compiles to javascript, where are all the awesome haskell-based in-browser editors?
02:33:53 <newsham> i wonder what lighttable security is like
02:34:43 <oerjan> is this an improvement or not https://en.wikipedia.org/w/index.php?title=Esoteric_programming_language&diff=601162845&oldid=600381750
02:37:55 <zzo38> oerjan: Well, I think it is not worse, at least.
02:39:13 <oerjan> ok
03:00:35 -!- nisstyre has joined.
03:02:59 <newsham> "We glued an iPad to a diving mask and BOOM two billion dollars. THAT's our fucking TED Talk."
03:03:27 <Bike> sounds like a hit.
03:03:46 -!- Shubshub has joined.
03:03:54 -!- Sorella has quit (Quit: It is tiem!).
03:03:54 <Shubshub> o.o
03:04:03 <oerjan> !welcome Shubshub
03:04:04 <Bike> `welcome Shubshub
03:04:04 <EgoBot> Shubshub: 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.)
03:04:04 <HackEgo> No output.
03:04:08 <Bike> oh. right.
03:04:17 <Shubshub> I've been here before :p
03:04:23 <oerjan> Bike: we've made emergency measures
03:04:25 <Bike> nonetheless, the welcome is paramount.
03:04:35 <Shubshub> kk
03:04:49 <Shubshub> http://esolangs.org/wiki/!!!Batch
03:04:53 <Shubshub> I made that
03:05:09 <Bike> oh lordy
03:05:18 <Shubshub> hmm?
03:06:36 <Shubshub> Whats so oh lordy about it?
03:14:16 -!- BeingUntoDeath has joined.
03:14:21 <Shubshub> Bike?
03:14:43 <Bike> i just remember the last time it came up opinions were derisive.
03:15:00 <Shubshub> derisive?
03:16:18 <Shubshub> Bike: derisive?
03:18:22 <newsham> this slide deck has a neat errata section which delves into ways that cpu bugs can be abused. https://rpw.io/slides/rpw-csw2014-merged.pdf
03:18:33 <newsham> you know.. if you're into that kinda thang
03:19:49 <zzo38> newsham: O, it is in Vancouver. I am close enough then.
03:20:22 <newsham> s/is/was/
03:20:31 <newsham> cansec is done
03:21:25 <newsham> mar 12-14, 2014
03:22:15 <zzo38> If there are CPU bugs can be abused to make security hole that may be due to being too complicated that they didn't secure the instruction set properly.
03:22:57 <newsham> they're not bugs in instruction set, but in implementation.
03:23:11 <newsham> for example, cache doing the wrong thing when instruction is on a page boundary, weird cases like that...
03:23:28 <newsham> err.. branch prediction doing the wrong thing at a page boundary...
03:23:34 <zzo38> Yes, it is because of caching and stuff; they shouldn't do that kind of implicit caching and branch prediction and stuff.
03:23:37 <zzo38> It is a bad idea.
03:23:42 <newsham> anyway, apparently cpu errata docs are getting pretty big these days
03:23:58 <newsham> and security people have started paying attention
03:24:00 <zzo38> Not only because of that kind of stuff, but also because it make it too complicated design.
03:24:31 <kmc> instruction set is just another VM bytecode
03:25:36 <newsham> also more and more cpu chipsets have extra cpus which are somewhat hidden (in that most peopel arent aware of them)
03:25:57 <tertu3> are you saying that they shouldn't do branch prediction
03:26:07 <Shubshub> 8 Core CPU with DDR4 Support was Revealed
03:26:15 <tertu3> that's been a thing for quite a while
03:26:19 <newsham> doing things liek power management, extra hidden security features (ie. for drm), handling firmware updates, doing theft protection, doing enterprise asset management (ie. remote control of machiens even when powered off), etc
03:26:32 <kmc> wow it's Shubshub
03:26:34 <kmc> welcome back
03:26:39 <Shubshub> hi
03:27:05 <newsham> like the extra hidden OS underneath your OS in trustzone, or the intel ME environment running on an ARC cpu on many intel chipsets
03:27:19 <newsham> or the hidden power management cpus on intel and arm chips
03:28:03 <newsham> not even counting the more "normal" and more "expected" hidden cpus in things like wifi adapters, keyboards, disk drives, etc..
03:28:52 <tertu3> yeah the first x86 processor with a branch predictor was the P5 Pentium
03:28:53 <zzo38> tertu3: Yes, I am saying they shouldn't do branch prediction. The compiler should do it instead of wanted
03:28:58 <newsham> would be neat seeing a list of popular computers over time with an accurate count of the number of distinct cpu cores other than the main general purpose cpu
03:29:07 <zzo38> And they shouldn't have hidden extra stuff
03:29:19 <zzo38> That not only complicates it but make it not understandable properly.
03:29:21 <tertu3> good luck convincing people to abandon x86 or ARM
03:29:45 <newsham> modern systems cannot be fully understood by any one person.. even if they were simple enough to, the information is guarded too secretly.
03:30:02 <newsham> corrolary: modern systems cannot be properly secured.
03:30:05 <zzo38> newsham: Yes, that is part of the problem, too.
03:30:50 <zzo38> tertu3: There are old versions of x86 and ARM, which at least are better than the new one.
03:31:58 <tertu3> i mean
03:32:01 <tertu3> the 286 perhaps
03:32:18 <newsham> also softcores, opencores, etc...
03:32:28 <kmc> happy hardcores
03:32:46 <newsham> and there are some recent systems that try to be both simple and open/documented, such as rpi (broadcom just recently opened up more of the undocumented bits)
03:33:43 <newsham> if you didnt want to fab yoru own silicon, thats prob your best best right now... start with an rpi.
03:33:51 <newsham> still hella slow compared to state of the art.
03:34:07 <newsham> but faster than fpgas running softcores
03:36:05 <zzo38> How do you get documentation of rpi?
03:36:26 <Jafet> It's possible to inject trojans into silicon during fabrication
03:36:52 <newsham> start here i guess? http://www.raspberrypi.org/technical-help-and-resource-documents
03:36:57 <zzo38> Jafet: Yes, that too
03:37:04 <newsham> jafet: yup.. and even hard-to-detect ones :(
03:37:26 <kmc> your mind is the scene of the crime
03:37:47 <newsham> http://people.umass.edu/gbecker/BeckerChes13.pdf
03:38:03 <newsham> "stealthy dopant-level hardware trojans"
03:38:22 <zzo38> Jafet: It too is a problem; hopefully it can be tested sufficiently, in addition to having vendor non-locked components; no vendorlock is one important rule to help to avoid such trojans.
03:38:32 <Bike> i emailed that to my ee prof and didn't get a reply. le sigh
03:38:37 <zzo38> Furthermore, don't have any CPUID or anything like that.
03:39:21 <newsham> but there are some interesting papers on detecting hardware trojans, too
03:39:23 -!- tromp_ has joined.
03:40:08 <zzo38> newsham: Yes, you need that too.
03:43:03 <zzo38> Due to this mess everyone has made, I would need to design a completely new computer system. This time, using CF cards, as well as a new instruction set and CPU design which is very simple, eliminating USB and HDMI entirely from the design. And then also the BIOS, graphics, audio, etc everything else too.
03:43:53 <zzo38> However, it would then be difficult to make C programs work on it, unless GCC or LLVM or whatever can be made to target it easily enough. This can be difficult to do effectively.
03:45:09 <zzo38> People who make LLVM refuse to add support for ARM2 and MMIX.
03:45:11 <newsham> why invent your own? you could start with http://en.wikipedia.org/wiki/OpenRISC or some other open soft core
03:45:21 <newsham> there are already compiler targets for openrisc
03:45:35 <newsham> even linux
03:48:38 <zzo38> newsham: I don't want automatic cache and branch prediction and pipeline stalls and all of that stuff. There are also a few other features I want to customize: To make hardwired memory protected pages rather than being programmable, and to include BCD arithmetic instructions.
03:49:22 <newsham> you could always start with an existing arch and take out what you dont want, then just patch up the linux/compiler stuff to match
03:49:28 <newsham> should be easier than clean slate
03:49:52 <zzo38> Yes, I did, in fact, think of that possibility
03:50:48 <zzo38> I have no need to run Linux on the system, though, and compilers such as GCC would take too long to compile.
03:52:30 -!- Shubshub has quit (Quit: A fine is a tax for doing wrong. A tax is a fine for doing well).
03:53:29 <zzo38> The original 6502 was a good design, although not powerful enough, and not 32-bits, and lacking some things.
03:54:39 <kmc> isn't it good to have more than 3 registers
03:55:06 <newsham> i think the ARM instruction set (before they went 64-bit) is very elegant
03:55:06 <zzo38> kmc: Yes, certainly.
03:55:40 <newsham> that is, the normal arm32 stuff, not the thumb mode stuff or many of the crazy extensions they also support
03:55:42 <zzo38> newsham: The first version of the ARM instruction set is very elegant.
03:55:45 <kmc> yes
03:56:08 <kmc> it has a number of clever features to mitigate the downsides of first generation RISC
03:56:43 <newsham> i dont include having a multiplier or divider as a crazy extension, fwiw. :)
03:57:10 <Jafet> Dude, if your CPU doesn't have hardware support for java, it's going nowhere
03:57:13 <Jafet> Everyone knows this
03:57:32 <newsham> back in the days when every toaster was destined to run java, that might have been true :)
03:57:58 <newsham> but now we're past that, flew by dot-net and active-*, and are well into the world of cloud
03:58:33 <Jafet> Hardware accelerated JSON decoding
03:58:37 <newsham> tell me how the arm extensions make a better cloud world!@#?
03:58:45 <newsham> hardware accelerated json indeed!
03:58:58 <newsham> nosql as an instruction
03:59:19 <newsham> and.... trustzone :)
03:59:40 <newsham> because your OS inst secure, so we made another, and right now nothing runs there, so its totally sekure!
04:00:11 <Jafet> You think it's funny but the logic is sound
04:01:17 <newsham> its like most startup plans. it works great until it is successful... then it fails miserably.
04:01:28 <newsham> but, thats plenty of time to monetize and cash out...
04:01:44 <newsham> s/startup plans/good startup plans/
04:10:54 <zzo38> One idea I have involves implementing a standardized VLIW instruction set for microcodes; the microcode RAM can also be used as a cache, but the cache can only be explicitly accessed, and is not implicitly accessed by instructions that access external memory.
04:11:21 <zzo38> Same with out of order execution and so on; it won't do any of that stuff at all.
04:12:06 <zzo38> The compiler optimizations should try to determine what to put in the cache and what order of instructions and predict branching and all of that stuff, not the CPU.
04:13:14 <Bike> hardware jit, imo
04:15:32 <ion> Yes, just in time hardware delivery
04:20:00 <zzo38> I should have a separate microcode RAM for supervisor mode and for user mode; those two modes do not share cache or microcodes. There would also be a microcode ROM which is fixed and that is used both in supervisor mode and in user mode.
04:22:04 <Sgeo> How did people figure out that Student == Gosset?
04:22:30 <zzo38> Sgeo: I do not understand how you mean?
04:23:06 -!- augur has joined.
04:24:20 -!- augur_ has quit (Read error: Connection reset by peer).
04:25:11 <Sgeo> Guy named Gosset published under the name "Student"
04:28:17 <Bike> as in student's t? didn't he say so himself at some point?
04:29:10 <Bike> or maybe fisher figured it out. mathematicians are used to that kind of shit, see
04:29:48 <Sgeo> "For many years, an air of romanticism surrounded the appearance of "Student's" papers, and only a few individuals knew his real identity, even for some time after his death."
04:29:54 <Sgeo> http://www.swlearning.com/quant/kohler/stat/biographical_sketches/bio12.1.html
04:30:25 <coppro> guys, what's the command to quit irc?
04:30:31 <Sgeo> /quit
04:31:17 <Sgeo> (I may be assuming you merely tried to get people to quit)
04:31:59 <kmc> +++ATH0
04:32:42 <Bike> an air of romanticism, lol
04:32:49 <Bike> in a fucking stats journal
04:33:27 <Bike> i guess if you're a stats journal you take it where you can get it
04:44:32 -!- password2 has joined.
05:03:29 <kmc> today I wrote a procedural macro in Rust for the first time
05:03:40 <kmc> it expands to an invocation of another procedural macro written by someone else
05:03:55 -!- ^v has quit (Read error: Connection reset by peer).
05:03:56 -!- not^v has joined.
05:09:31 -!- shikhin has quit (Ping timeout: 264 seconds).
05:12:49 -!- password2 has quit (Ping timeout: 265 seconds).
05:20:07 <Sgeo> When were procedural macros introduced?
05:20:09 * Sgeo oohs
05:20:57 <newsham> coppro: /sign virgo
05:21:04 * Sgeo vaguely recalls seeing actual hygiene in some language that had macros that he wasn't expecting, mostly because was stereotyping non-Lisps as having limited understanding
05:21:15 <Sgeo> Julia, I think?
05:27:15 <Sgeo> let mut odds = nums.iter().map(|&x| x * 2 - 1);
05:27:20 <Sgeo> I thought mut was on its way out, or am I confused, or is that not in 0.9?
05:32:59 <kmc> in Rust? I don't think there are any plans to remove it
05:33:46 <kmc> i mean the distinction between & and &mut is fundamental to the memory safety story
05:34:26 <kmc> you could make all lets allow mut borrows but I haven't heard of anyone wanting that
05:34:26 <newsham> > map (\x -> x * 2 - 1) [0..]
05:34:27 <lambdabot> [-1,1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51...
05:34:27 <idris-ircslave> No such variable \
05:34:36 <newsham> nums == [1..] ?
05:38:23 -!- password2 has joined.
05:39:08 <oklopol> http://helloworldquiz.com/#/game
05:39:09 <kmc> oh i forgot that the term "anaphoric macro" exists
05:39:13 <kmc> that's a good one
05:39:54 <kmc> Sgeo: sweet.js implements hygienic macros for JavaScript http://sweetjs.org/
05:39:58 <zzo38> What is a anaphoric macro?
05:40:31 <kmc> Rust macros (the non-procedural ones) are partially hygienic; I don't remember the details though
05:41:11 <Sgeo> zzo38: I can give an example: an aif macro that acts like if, but exposes a name 'it' in the body
05:41:20 <Sgeo> It's deliberately non-hygienic
05:42:41 <kmc> the one that starts with "program ObjectPascalExample;" is a trick :P
05:42:59 <zzo38> It can be useful, that macros can be hygienic and non-hygienic, actually
05:43:11 <zzo38> Or partially hygienic macros
05:43:20 <Bike> or hygenic partial evalutation
05:44:03 <oklopol> (if anyone tries that, tell me what you got)
05:44:07 <kmc> my score is 1900
05:44:16 <oklopol> i got 1800 :(
05:44:16 <Bike> or hygeine whiel doing macrophitography
05:44:27 <oklopol> and that was my third attempt
05:45:03 <zzo38> Score of what?
05:45:28 <oklopol> this thingie i linked: http://helloworldquiz.com/#/game
05:45:33 <Bike> hello world quiz dot com slash octothorpe slash game
05:46:22 <kmc> octothorpe++
05:46:39 <Sgeo> kmc: I guessed the trick only because you said it
05:47:27 <Sgeo> .... I got wrong one that... I should not have gotten wrong
05:47:46 <zzo38> How does it start?
05:47:54 <oklopol> Sgeo: which one?
05:48:00 <Sgeo> Haskell vs. Idris
05:48:05 <Sgeo> I wasn't paying much attention
05:49:30 <kmc> it's a random selection / order of languages
05:49:40 <Bike> lol i died on matlab, the language i actually use
05:49:50 <Bike> (1300, big whoop)
05:49:57 <kmc> though the choices for a single question remain grouped together, I think
05:50:10 <Bike> the problem is, holy shit why would i use matlab oo if i could avoid it
05:50:14 <Bike> (why would i use matlab if i could avoid it)
05:50:53 <Sgeo> 2800
05:51:01 <kmc> nice
05:52:21 <oklopol> i got idris vs haskell right
05:52:25 <Sgeo> I managed to get at least one right that I shouldn't have gotten right
05:52:36 <Sgeo> (As in, I had absolutely no idea)
05:52:48 <Sgeo> Don't remember which
05:52:51 <oklopol> i have never actually seen idris but luckily i was given the idris example and it looked suspicious.
05:53:00 <Bike> 3000. that's enough of that.
05:53:17 <Bike> you can tell because i can now distinguish omgrofl from lolcode.
05:54:13 <Bike> the idris one looks exactly like haskell except for importing a module, o rsomethin
05:55:24 <oklopol> this is not so good if you play it multiple times, i'm at 5100 on my fourth attempt
05:55:53 <Sgeo> Bike: look at the type of main
05:55:56 <oklopol> in the idris example, there was something like "main: ..."
05:56:00 <oklopol> as the type i guess
05:56:12 <Sgeo> : vs ::
05:56:42 <Bike> see, i don't give that much of a shit
05:56:47 <oklopol> is that the only difference?
05:56:57 <Bike> there's also the import.
05:57:13 <oklopol> ok
05:57:17 <zzo38> My score is !
05:57:23 <Bike> Whoa
05:57:53 <Bike> i'm just going to keep programming in the langauges i know best. matlab, snobol, and TOPS-20 macroassembler.
05:58:31 <Sgeo> Do Erlangers hate Elixir/
05:58:46 <Bike> if the pope was catholic would she shit in the woods?
06:00:26 <zzo38> Bike: Which pope do you mean, and which woods?
06:00:35 <oklopol> any
06:00:36 <Sgeo> At least one person hates the 'mutable state' of being able to assign twice to the same name
06:00:40 <oklopol> woods
06:00:55 <Sgeo> > runIdentity $ do { let a = 5; a = 6; return a }
06:00:55 <idris-ircslave> No such variable runIdentity
06:00:56 <lambdabot> <hint>:1:47: parse error on input `}'
06:00:57 <Bike> zzo38: the generalized pope
06:01:08 <zzo38> O, you mean Don Woods.
06:01:11 <Sgeo> :t runIdentityT
06:01:12 <lambdabot> Not in scope: `runIdentityT'
06:01:12 <lambdabot> Perhaps you meant `runIdentity' (imported from Control.Monad.Identity)
06:01:17 <Sgeo> :(
06:01:49 <zzo38> I thought you meant the other kind of woods.
06:02:01 <Sgeo> > (do { let a = 5; let a = 6; [a])
06:02:01 <idris-ircslave> (input):1:32: error: expected: "$",
06:02:01 <idris-ircslave> "$>", "&&", "*", "+", "++", "-",
06:02:01 <idris-ircslave> "->", ".", "/", "/=", "::", ";",
06:02:01 <idris-ircslave> "<", "<$", "<$>", "<*>", "<+>",
06:02:01 <idris-ircslave> "<->", "<<", "<=", "<|>", "=",↵…
06:02:01 <newsham> > runState (do { let a = 5; a = 6; return a }) 10
06:02:02 <lambdabot> <hint>:1:32: parse error on input `)'
06:02:02 <lambdabot> <hint>:1:43: parse error on input `}'
06:02:03 <idris-ircslave> No such variable runState
06:02:16 <Sgeo> @run (do { let a = 5; let a = 6; [a]})
06:02:16 <lambdabot> <hint>:1:32: parse error on input `}'
06:02:24 <Bike> > runIdentity (do { let a = 5; a = 6; return a; })
06:02:24 <idris-ircslave> No such variable runIdentity
06:02:25 <lambdabot> <hint>:1:45: parse error on input `;'
06:02:28 <Sgeo> @run (do { let a = 5; let a = 6; [a] } )
06:02:29 <Bike> life is hard
06:02:29 <lambdabot> <hint>:1:33: parse error on input `}'
06:02:45 <Sgeo> ?
06:02:46 <Jafet> @run Control.Monad.Identity.runIdentity $ do { a <- return 5; a <- return 6; return a }
06:02:47 <lambdabot> 6
06:02:51 -!- prooftechnique has quit (Quit: leaving).
06:05:11 <zzo38> Can you make something like that kind of quiz on Internet Quiz Engine?
06:06:04 -!- BeingUntoDeath has quit.
06:06:53 -!- shikhin has joined.
06:11:19 -!- tertu3 has quit (Ping timeout: 264 seconds).
06:23:19 -!- password2 has quit (Ping timeout: 264 seconds).
06:27:44 <oerjan> @run do let { a = 5 }; let { a = 6 }; [a]
06:27:45 <lambdabot> [6]
06:28:42 <oerjan> your problem was ending the lets, not the do
06:30:07 <oerjan> Sgeo: ^
06:45:27 -!- nisstyre has quit (Quit: WeeChat 0.4.3).
06:57:30 -!- shikhout has joined.
07:00:31 -!- shikhin has quit (Ping timeout: 264 seconds).
07:00:32 -!- shikhout has changed nick to shikhin.
07:42:05 <olsner> oh, this was a new one, http://fimpp.wikia.com/wiki/FiM%2B%2B
07:43:42 <oklopol> i thought it was shakespeare
07:43:55 -!- oerjan has quit (Quit: leaving).
07:44:18 <fizzie> 2012 doesn't count as new in Internet terms, does it?
07:44:34 <olsner> it was new as in I hadn't seen it before
07:45:37 <oklopol> olsner? more like oldsner.
07:45:37 -!- trout has quit (Ping timeout: 240 seconds).
07:46:05 <zzo38> I have idea: A programming language that if it typechecks, it results in a provably correct chess puzzle (so, the types are a logic of chess puzzles).
07:48:41 <oklopol> is it 8x8 chess
07:49:52 <zzo38> It could be, but maybe you could also use other board sizes
07:57:53 -!- not^v has quit (Quit: Leaving).
08:13:15 -!- augur has quit (Remote host closed the connection).
08:13:42 -!- augur has joined.
08:13:49 -!- augur has quit (Remote host closed the connection).
08:13:55 -!- augur has joined.
08:30:21 <fizzie> Heh, I just realized that my script for that TSP-based photo blend thing (no TDTSP to start with) actually entirely ignored the TSP path and just put the things in chronological order.
08:30:28 <fizzie> I did wonder why there was *that* much banding.
09:09:58 -!- MoALTz has joined.
09:37:02 -!- mr45 has joined.
09:47:55 -!- shikhin has quit (Ping timeout: 264 seconds).
09:56:28 <oklopol> when can we see the results
09:57:14 <fizzie> You can see the initial ones right now, they're at http://zem.fi/2014-03-25-tl -- but there's nothing too fancy there yet, just simple averages plus the column-blend thing in chronological and TSP order.
10:01:34 -!- conehead has quit (Quit: Computer has gone to sleep.).
10:02:06 <oklopol> have you considered choosing each pixel independently from the pictures? or maybe this is your feasible approximation to that
10:02:50 <oklopol> i guess it's likely that it's all summer / all winter then
10:03:00 -!- ket1v_ has joined.
10:06:29 -!- ket1v has quit (Ping timeout: 268 seconds).
10:12:45 -!- boily has joined.
10:14:24 <fizzie> I could do (smoothed) blocks with a constraint of having the same number of blocks from every image, perhaps.
10:14:27 <fizzie> The "time goes from left to right" is conventional for e.g. time-lapse videos, but that sort of assumes more correlation between consecutive frames than I have.
10:14:56 <fizzie> I think I drew one for the "view from the office window for one day" video, but it was quite boring.
10:15:24 <fizzie> Then again, so was the video.
10:29:54 <boily> the same sentence in each of Japan's prefectures' dialects → http://youtu.be/mYZZdpu8pPk
10:35:55 <fizzie> Yay, got a bona-fide university-targeted phishing message; for some reason they typically seem to skip me. :/
10:48:23 -!- Phantom_Hoover has joined.
11:00:29 -!- boily has quit (Quit: é).
11:11:44 -!- MoALTz has quit (Quit: Leaving).
11:17:35 <fizzie> http://sprunge.us/MDCi -- automatically generated x86 opcodes -- indistinguishable from real ones.
11:17:42 <fizzie> (Disclaimer: some may actually be real.)
11:18:18 <Taneb> Hallo
11:37:51 <b_jonas> fizzie: nice
11:38:01 <b_jonas> some of them are real indeed
11:38:34 -!- jconn has quit (Read error: Operation timed out).
11:42:31 -!- unmeg has joined.
11:42:50 <fizzie> cmpfdivpcmpunpcmpd sounds quite plausible, for example.
11:43:09 <b_jonas> fizzie: the list has sqrtpd, which is real
11:43:22 <fizzie> And fshufdivscattpd does some kind of combined shuffle-divide-scatter operation on packed doubles.
11:43:34 <b_jonas> pmulld is real too
11:44:39 <b_jonas> mind you, given how the stupid intel terminology already has a mnemonic that's used for two completely unrelated instructions, you could say that this is a different "pmulld" instruction that just happens to have the same mnemonic
11:46:24 <fizzie> According to a quick check against the source data, 8 (out of 100) were real: fylx, pmulld, sqrtpd, vcmpltpd, vcmpnlepd, vfnmsubps, vmovd and vpminud.
11:46:43 <b_jonas> does the source data include AVX-512 instructions?
11:46:49 <b_jonas> and all other extensions?
11:47:06 <fizzie> Oh, that "fylx" must be some kind of mistake for fyl2x.
11:48:44 <fizzie> It might not include AVX-512, I'm not sure; it was the sources of the latest daily development snapshot of NASM.
11:49:12 <fizzie> Don't know how the 2 disappeared, because things like vgatherpf0dpd still have a 0 in it.
11:49:46 <fizzie> Oh, I typoed "0-9" as "0-0" when processing.
11:50:13 <b_jonas> generate a new list then
11:50:30 <b_jonas> I'd like stuff like vfmsub213pd in it
11:52:09 <b_jonas> hmm,
11:53:04 <b_jonas> the list has "svps". if you capitlize it as "SvPS", it looks like a macro from perl core.
11:53:30 <b_jonas> I think it doesn't actually exist, but it's believable
11:58:13 <Sgeo> How the flip do I have a temperature of 97?
11:58:14 <fizzie> http://sprunge.us/dBWd there we go
11:58:29 <fizzie> "vphaddsub32132132siftsd"
11:58:53 <Sgeo> How the flip do I not notice this is #esoteric instead of the other place?
12:00:19 <fizzie> This time only 4 real ones: cmpeqsd, sub, vandpd and vfmsubpd.
12:05:05 -!- jconn has joined.
12:10:19 <Sgeo> I am not Spock... I am Spock
12:11:12 <Taneb> I am also Scotty
12:12:44 <Sgeo> I think "turning into a snot machine" is a good reason to say I'm sick and not going to work, right? (Not going to say exactly how I'm sick unless I have to, just justifying to myself)
12:12:58 -!- unmeg has quit (Ping timeout: 252 seconds).
12:19:42 <Taneb> Would be for me
12:20:16 <Taneb> Sgeo, both the characters I am planning on cosplaying at a convention in June have green eyes. Would you say it would be worth getting coloured contacts?
12:20:36 <Taneb> (my eyes are notably ungreen)
12:20:48 <Sgeo> Aren't colored contacts dangerous?
12:20:59 <Taneb> Cheap ones are
12:22:13 <Sgeo> Huh, so, there are actually people who prescribe colored contacts? Or how does that work?
12:22:27 <Taneb> There are actors
12:24:01 <Sgeo> I guess the idea of getting a prescription for something that's not medically necessary is... weird to me. But if you can, go for it if you want
12:24:57 <Taneb> Maybe I should ask someone with experience in the world of coloured contacts
12:25:40 <Taneb> Sgeo, do you know where I could get a jacket like this one: http://img1.wikia.nocookie.net/__cb20130719090013/rwby/images/thumb/7/78/Roman_Torchwick.png/1000px-Roman_Torchwick.png
12:26:49 <Sgeo> I don't
12:26:56 <Taneb> Okay
12:26:58 <Sgeo> At first I thought that person's head was half chopped off
12:27:02 <Sgeo> But it's just the hat
12:28:12 <Taneb> Heh, it does kind of look like that
12:28:40 <Taneb> I suppose it doesn't look impossible to make
12:31:47 <Jafet> fizzie: I'm thinking about the image join problem, and realized that the number of different positions for joining images is (n-1)(n^2)
12:32:05 <Jafet> Somehow, I get the feeling that glpk won't want me to send it a million coefficients.
12:32:46 <Taneb> What: https://pbs.twimg.com/media/BjnDdLZCYAA1pad.jpg:large
12:33:48 <Jafet> When integer HDMI cable is not enough
12:34:03 <Jafet> Oh, is that a garden hose
12:34:13 <Taneb> I... I think so
12:37:14 -!- Tritonio has joined.
12:41:16 -!- Tritonio has quit (Client Quit).
12:41:40 -!- Tritonio has joined.
12:43:44 -!- Tritonio has quit (Client Quit).
12:44:02 -!- yorick has joined.
12:44:13 -!- Tritonio has joined.
12:48:02 -!- MindlessDrone has joined.
12:51:03 -!- nooodl has joined.
12:57:22 -!- ket1v_ has quit (Remote host closed the connection).
13:06:24 <fizzie> Fun fact: I did the TSP alignments first on http://neos.mcs.anl.gov/neos/solvers/co:concorde/TSP.html (then I just built Concorde locally).
13:12:23 -!- `^_^v has joined.
13:16:19 -!- tertu3 has joined.
13:18:38 -!- tertu3 has changed nick to tertu.
13:20:11 -!- Tritonio has quit (Quit: Tritonio).
13:20:43 -!- Tritonio has joined.
13:21:58 <Jafet> There are a bunch of public servers for FOL and SMT solving, too.
13:23:02 -!- mr45 has quit (Ping timeout: 246 seconds).
13:33:29 -!- Tritonio has quit (Quit: Tritonio).
13:33:51 -!- Tritonio has joined.
13:34:29 -!- Tritonio has quit (Client Quit).
13:34:51 -!- Tritonio has joined.
13:40:45 -!- Tritonio has quit (Quit: Tritonio).
13:41:09 -!- Tritonio has joined.
13:44:42 -!- Tritonio has quit (Client Quit).
13:44:49 <Melvar> Jafet, Taneb: Yes, that is a garden hose connector.
13:45:05 -!- Tritonio has joined.
13:48:19 -!- Tritonio has quit (Client Quit).
13:48:40 -!- Tritonio has joined.
13:59:27 -!- prooftechnique has joined.
14:28:43 -!- shikhin has joined.
14:44:04 -!- Speed`` has changed nick to Speed`.
14:57:59 -!- ket1v has joined.
15:02:17 -!- ket1v has quit (Ping timeout: 240 seconds).
15:23:23 -!- ter2 has joined.
15:23:24 -!- tertu has quit (Disconnected by services).
15:24:51 -!- tertu3 has joined.
15:27:37 -!- ter2 has quit (Ping timeout: 240 seconds).
15:30:03 -!- tertu3 has quit (Ping timeout: 265 seconds).
15:30:53 -!- tertu has joined.
15:33:10 -!- spiette has joined.
15:36:53 -!- MoALTz has joined.
16:07:53 -!- nortti has changed nick to lawspeaker.
16:08:31 -!- lawspeaker has changed nick to nortti.
16:19:25 -!- ^v has joined.
16:21:37 -!- Tritonio has quit (Ping timeout: 240 seconds).
16:22:01 <mroman> Any static typed & static type checked stack-based programming languages?
16:22:33 <mroman> that are reasonably high level
16:22:51 <mroman> so MSIL and alike wouldn't really count
16:24:27 <mroman> Cat appears to be one
16:28:09 <mroman> neat
16:58:54 -!- ket1v has joined.
17:00:24 <kmc> fizzie: those are some p. good instructions
17:03:21 -!- ket1v has quit (Ping timeout: 252 seconds).
17:13:53 -!- Tritonio has joined.
17:26:09 -!- john_metcalf has quit (Quit: john_metcalf).
17:32:19 -!- idris-ircslave has quit (Quit: Terminated).
17:32:35 -!- idris-ircslave has joined.
17:33:13 -!- ThisFalseReality has joined.
17:33:27 <ThisFalseReality> so this is an esoteric oriented chat?
17:33:51 <ThisFalseReality> or is it distinctly a discussion about a programming language
17:34:45 <lexande> !welcome ThisFalseReality
17:34:47 <EgoBot> ThisFalseReality: 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:08 -!- idris-ircslave has quit (Client Quit).
17:36:38 -!- ThisFalseReality has left.
17:38:29 -!- idris-ircslave has joined.
17:49:04 <Sgeo> It's distinctly a discussion about a class of programming languages. In theory.
17:51:32 -!- password2 has joined.
18:13:41 <fizzie> kmc: Which instructions were those?
18:14:13 <kmc> http://sprunge.us/dBWd
18:16:58 -!- realzies has quit (Quit: realzies).
18:21:33 -!- realzies has joined.
18:25:01 -!- spiette has quit (Ping timeout: 265 seconds).
18:26:50 <fizzie> Oh, right, *instructions*.
18:27:11 <fizzie> I thought, you know, 1. (11) direction, instruction -- (a message describing how something is to be done; "he gave directions faster than she could follow them")
18:27:24 <Jafet> kmc is too cool to say opcodes
18:27:48 <fizzie> I think I'll write up a X86 Mnemonic Generator javascript thing and put it on the webs.
18:27:54 <Jafet> Using gradient descent to get a layout: http://46.4.207.77/product.jpeg
18:28:18 <Jafet> (That's 218 images from a video I had lying around.)
18:29:35 <fizzie> Maybe I could involve a self-organizing map in the image thing somehow, since it's what "our people" do.
18:29:45 <kmc> Super Flappy X86 Opcode Generator 2048
18:30:34 <Jafet> Press the arrow keys to slide the nops together
18:32:51 <Jafet> fizzie: the problem had 10312708 coefficients, by the way.
18:36:45 -!- spiette has joined.
18:42:37 -!- password2 has quit (Ping timeout: 240 seconds).
18:54:20 -!- augur has quit (Remote host closed the connection).
18:54:57 -!- augur has joined.
18:57:30 <Jafet> @hoogle Set a -> Int -> a
18:57:31 <lambdabot> Data.Set elemAt :: Int -> Set a -> a
18:57:31 <lambdabot> Data.Set deleteAt :: Int -> Set a -> Set a
18:57:31 <lambdabot> Prelude const :: a -> b -> a
18:57:49 -!- shikhout has joined.
18:58:30 <Jafet> I'll need to upgrade ghc for that, huh
18:59:43 -!- ket1v has joined.
18:59:54 -!- augur has quit (Ping timeout: 268 seconds).
19:00:31 -!- shikhin has quit (Ping timeout: 264 seconds).
19:00:31 -!- shikhout has changed nick to shikhin.
19:04:14 -!- ket1v has quit (Ping timeout: 252 seconds).
19:04:42 <fizzie> Incidentally, is there some obvious way from sampling from a categorical distribution where the probabilities are given as log(p)? I mean, other than just doing exp() on them and doing the usual compute-cumulant-sample-uniformly-from-unit-interval thing.
19:25:58 <zzo38> I have another idea, which is, a sequent calculus of a programming language, where a sequent corresponds to the type of the program; input channels on the left and output channels on the right. The rules would have side-effects. The "init" rule then corresponds to a program that copies its input to its output, and "cut" to the creation of a new channel to communicate across two threads of the program.
19:27:13 <zzo38> The program, whether or not it halts, is a proof.
19:30:57 <Jafet> fizzie: if the probability is log(p) why would you sample using p
19:31:42 <Bike> I thought fizzie meant that the probability is p but the value provided is log(p).
19:31:55 <int-e> So -oo, 0 instead of 0,1.
19:31:55 <fizzie> Yes, that is what I meant.
19:32:27 <int-e> fizzie: But I see no better way.
19:33:01 <int-e> Since log(p+q) doesn't have a nice interpretation in terms of log(p) and log(q).
19:33:47 <Slereah> You can do it by taylor series
19:33:51 <fizzie> Right. I just wonder, since this file format stores the values as log(p) instead of p.
19:34:30 <int-e> is it using fixed point then?
19:35:13 <int-e> (then storing log(p) instead of p would give you the benefits of a floating point representation)
19:35:23 <int-e> precision wise, at least.
19:35:27 <fizzie> It's a text-based format, so it's kind of hard to say. I guess it could be just avoiding exponential notation.
19:37:02 <int-e> alternatively, maybe people typically want to multiply a lot of those probabilities; now they can add them, and exponentiate in the end.
19:37:18 <fizzie> Well, that's certainly true, too.
19:37:40 <fizzie> (In fact, they probably won't usually even exponentiate at the end, thanks to monotonicity.)
19:37:51 <int-e> right.
19:38:37 <Jafet> You'll need -log p bits to sample p
19:39:14 <Jafet> But you might be able to use a table for log p, if you sample from an exponential distribution instead of a uniform one
20:07:59 <fizzie> http://sprunge.us/XgjW almost there
20:10:35 <Jafet> Perhaps these instructions can serve as inspiration for zzo's architecture.
20:11:13 -!- tertu has quit (Remote host closed the connection).
20:12:46 -!- password2 has joined.
20:17:00 -!- conehead has joined.
20:22:35 -!- AnotherTest has joined.
20:32:03 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:36:55 -!- drlemon_ has joined.
20:43:30 <fizzie> Done: http://zem.fi/2014-03-26-x86
20:44:25 <fizzie> HSUWPCKHMISSD2PI2EBLSMSKBBR probably gets lots of use.
20:45:01 -!- augur has joined.
20:53:26 <kmc> PSHAW
20:55:03 -!- spiette has quit (Remote host closed the connection).
20:55:11 -!- augur has quit (Ping timeout: 245 seconds).
20:59:22 -!- spiette has joined.
21:00:38 -!- ket1v has joined.
21:02:17 -!- augur has joined.
21:05:11 -!- ket1v has quit (Ping timeout: 245 seconds).
21:15:13 -!- augur has quit (Remote host closed the connection).
21:15:47 -!- augur has joined.
21:20:01 -!- augur has quit (Ping timeout: 252 seconds).
21:25:27 -!- tertu has joined.
21:27:26 -!- Zom-B|zz has changed nick to Zom-B.
21:30:08 -!- AnotherTest has quit (Ping timeout: 265 seconds).
21:31:13 -!- Tritonio has quit (Read error: Connection reset by peer).
21:37:11 -!- ^v has quit (Read error: Connection reset by peer).
21:37:35 -!- ^v has joined.
21:53:57 -!- Zom-B has changed nick to Zom-B|zz.
22:03:31 -!- password2 has quit (Ping timeout: 264 seconds).
22:06:11 <zzo38> My brother decided that we play Yomi cards with Lum vs Rook, because apparently Rook is severely disadvantaged in this matchup. First I played Lum, and I won. Second, I played Rook, and I also won, but, on the last turn we both played attacks of the same speed, so they both hit, and I was left with only one point at the end of the game.
22:06:55 <myname> yomi?
22:08:34 <zzo38> It is a card game, it comes with ten decks of cards.
22:09:14 <zzo38> Each one has the standard 52 cards, plus two jokers, and one character stats card and one rule reminder card. However, all of the cards, except for the joker, have additional markings which differ based on each character, too.
22:11:14 -!- nooodl has quit (Ping timeout: 265 seconds).
22:13:04 -!- conehead has quit (Quit: Computer has gone to sleep.).
22:16:20 <myname> seems pretty expensive for a card game
22:19:30 <zzo38> Yes, although it is a good quality.
22:20:57 <myname> well, don't get, why you can't buy these decks one by one
22:22:08 <zzo38> You can buy these decks one by one, although, you shouldn't!
22:25:00 -!- conehead has joined.
22:28:04 -!- ket1v has joined.
22:31:10 -!- Phantom__Hoover has joined.
22:35:20 -!- nisstyre has joined.
22:41:05 -!- Sorella has joined.
22:48:15 -!- zzo38 has quit (Remote host closed the connection).
22:53:16 <Taneb> Hallo
22:54:14 -!- oerjan has joined.
22:58:42 <Taneb> Captain America: The Winter Soldier was good
23:00:20 <oerjan> shouldn't that have been Captain Finland
23:00:32 <Taneb> The winter soldier was a different character
23:00:37 <Taneb> "Captain America" refers to the series
23:00:50 <Taneb> So really it should have been Captain America AND the Winter Soldier
23:01:06 <oerjan> so, was the winter soldier finnish, then
23:01:14 <Taneb> No, he was American
23:01:21 <oerjan> tragic
23:01:38 <Sgeo> We do have winters here, you know
23:01:57 <oerjan> i think y'all are not familiar with the winter war.
23:06:17 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:12:25 <shachaf> http://sjoerdvisscher.handcraft.com/regexfractal.html
23:13:42 -!- MoALTz has quit (Quit: Leaving).
23:22:12 <oerjan> ^..[24]
23:24:09 <lexande> the winter soldier could also reasonably be russian?
23:25:06 <oerjan> theoretically.
23:25:29 <oerjan> ^()(..(2|4).*$)
23:30:45 <ion> shachaf: cool
23:35:31 -!- augur has joined.
23:38:37 <oerjan> my failed attempt at a spiral still seemed slightly interesting ^(?:13|24|31|42)*(?:[12]*|[23]*|[34]*|1?4[14]*|14[12]*)$
23:39:55 <oerjan> (probably more than a spiral, anyway)
23:41:16 <Taneb> lexande, definitely in the comics was Russian-commanded?
23:41:25 <Taneb> It is too late for me
23:41:37 -!- tertu has quit (Ping timeout: 240 seconds).
23:42:01 <Sgeo> How is coloring determined?
23:44:00 <oerjan> Sgeo: length of the first three capturing groups correspond to RGB
23:45:31 <oerjan> e.g. i surrounded my chess pattern with ()( ... ) to make it green
23:46:05 <Taneb> I have not been making sense
23:46:07 <oerjan> and (( ... )) would make it yellow
23:46:11 <Taneb> I should sleep
23:46:12 <Taneb> Goodnight
23:49:04 -!- augur has quit (Remote host closed the connection).
23:53:05 * Taneb --> bed
23:55:55 -!- simpleirc has joined.
23:55:59 -!- simpleirc has changed nick to Guest73347.
23:57:36 <oerjan> strange bugs ^(?:13*(?:4[14]*|.[12])*|24*(?:[12]*|[23]*)|31*(?:[23]*|[34]*)|42*(?:[34]*|[14]*))$
23:58:33 <oerjan> oh misplaced parentheses, should be ^(?:13*(?:4[14]*|.[12]*)|24*(?:[12]*|[23]*)|31*(?:[23]*|[34]*)|42*(?:[34]*|[14]*))$
23:58:44 <oerjan> (there you go, spiral)
23:59:45 -!- augur_ has joined.
←2014-03-25 2014-03-26 2014-03-27→ ↑2014 ↑all