00:00:01 but there are a lot of episodes that do their own take on some TV sci-fi cliche 00:00:31 Who was the character in SG-1 who a similar thing happened to? 00:00:43 Was it the character that this same actor played? 00:01:22 you seem to be under the impression i've watched sg-1 00:01:26 Oh 00:01:38 Why's the kind of (->) have question marks in it? 00:03:21 λ> :k (->) 00:03:21 (->) :: * -> * -> * 00:03:45 Bike: In older versions of GHC it was a thing related to unboxed types and such. 00:03:58 You can pretend it's * -> * -> * 00:04:11 ok, just checking. 00:04:20 Sgeo, (iirc the next episode is A Good One) 00:04:28 (also the one after that is definitely a good one_ 00:04:35 then there's another good one two after that 00:05:18 Phantom_Hoover, does this mean to imply that there are episodes that aren't good? 00:05:27 :k (-> Int) -- parse error? 00:05:29 parse error on input `Int' 00:05:29 Are there bad episodes? 00:05:48 well uh 00:05:58 don't watch episode 14 00:06:14 imo do watch episode 14 and compare it negatively to PMMM 00:06:17 Bike: Yes, you can't section (->) 00:06:32 In fact you can't section any type-level things. 00:06:33 Bike, you are the worst? 00:06:35 shachaf: why not? I mean, :k ((->) Int) works. 00:06:45 Bike: ((->) Int) is (Int ->), first of all. 00:06:48 yes. 00:06:58 I mean, (Int ->) doesn't work either. 00:07:02 It would be nice if the syntax (Int ->) worked. Maybe someone should add it. 00:07:16 (someone = you) 00:07:24 That's just a little sugar thing, though. 00:07:34 'coure. 00:07:35 Sections don't make as much sense on the type level because there are no type lambdas. 00:07:36 course* 00:07:53 I.e. (-> Int) doesn't make sense, because there's nothing reasonable you can translate it to. 00:07:57 Yes, and I suppose I can't do flip (->) Int to get (-> Int). 00:08:45 Right. 00:11:45 I think something's gone funny with my video playback 00:12:04 Sometimes sections repeat 00:12:27 Or... hmm, not sure 00:13:58 After this episode going to work on blog post. 00:14:57 Goddammit Hulu, clicking the side != restart video 00:16:09 maybe it's more time shenanigans??? 00:20:54 Hulu's been acting up 00:24:09 -!- madbr has joined. 00:29:10 -!- monqy has joined. 00:30:13 sup 00:35:59 I'm stumbling on something for my small VM for video games 00:36:25 needs a jit obviously 00:36:28 Some types of gfx effects will be kinda slow 00:36:41 alpha blending in particular 00:37:00 and I don't even wanna think about bilinear interpolation 00:38:42 bilinear interpolation is just, like, a horizontal filter then a filter filter, right? 00:38:48 it's only two taps so it shouldn't be that atrocious 00:39:43 if it's for like, whole images, you could probably use an existing library even :o 00:41:08 bilinear interpolation murders most CPUs actually 00:41:11 it's like 00:41:15 4 reads instead of 1 00:41:41 and then interpolation across 3 or 4 color channels (RGB or RGBA) 00:42:11 I don't think you have to do any more reads... 00:42:29 I mean, like, if you need to bilinearly interpolate a 16x16 region, you only need a 17x17 region as input, I think? 00:42:44 what you're describing is a filter, not bilinear 00:42:46 hey haskellites, what is fail for 00:42:57 seems like an odd thing to have in Monad 00:43:06 but... a bilinear interpolator is just an H filter and a V filter unless it's not separable... 00:43:09 right...? 00:43:41 fiora : if your polygon is not rotated and your scaling factor is integer then you can do it that way yes 00:43:55 scaling factor is integer? 00:44:06 yeah like you're scaling 2x or 3x or 4x 00:44:09 and not 2.2352x 00:44:17 I don't think that's required, I think the good algorithms can do it even when it's fractional 00:44:21 um, lemme test 00:44:37 if it's fractionnal then you get a branch in the middle of the algo I think 00:45:12 I think swscale has a thing where it JITs a horizontal scaler for your given scaling percentage, I have no idea how it works though 00:45:16 not very expensive when your pipeline is super short but on more modern architectures you get the branch penalty half the time 00:45:46 fiora: yeah exactly 00:46:20 once you add rotation the whole thing falls apart 00:46:37 and you have to do 4 real pixel reads and then interpolate the values 00:46:41 rotation is icky :< 00:47:16 Bike: fail is for pattern match failure 00:47:25 > do { Just x <- return Nothing; return x } 00:47:27 No instance for (GHC.Show.Show (m0 b0)) 00:47:27 arising from a use of `M91964446... 00:47:37 > do { Just x <- return Nothing; return x } :: [Int] 00:47:38 [] 00:47:57 ok not the most illustrative example 00:48:04 do { Just x <- return Nothing; return x } :: Maybe Int 00:48:09 er. 00:48:11 > do { Just x <- return Nothing; return x } :: Maybe Int 00:48:13 Nothing 00:48:14 anyway the thing to the left of <- can be a pattern; if it fails to match, 'fail' is invoked 00:48:29 imo 'fail' shouldn't be in Monad but in some MonadFail class which is additionall required if you use refutable patterns in 'd' 00:48:29 with what? 00:48:32 'do'* 00:48:46 Rigel's an idiot (I'm still watching episode) 00:48:46 with some compiler-specific description of the pattern match failure 00:48:56 good error detection 00:49:07 > do { Just x <- return Nothing; return x } :: State Int Int 00:49:09 No instance for (GHC.Show.Show 00:49:09 (Control.Monad.Trans.Sta... 00:49:16 > fail "foo" :: IO Int 00:49:17 > execState (do { Just x <- return Nothing; return x } :: State Int Int) 00:49:18 No instance for (GHC.Show.Show (GHC.Types.IO GHC.Types.Int)) 00:49:18 arising fro... 00:49:19 can't find file: L.hs 00:49:23 for fuck's sake 00:49:29 L.hs is my favorite file 00:49:34 anyway, the point i'm /trying/ to make is that a lot of monads don't have anything sensible to do with 'fail' 00:49:41 yeah that's why i'm asking 00:49:46 only some monads represent error handling / alternatives / nondeterminism 00:49:55 like fail "foo" :: [whatever] being [] is... odd 00:49:57 and even then, you might not want to allow silent pattern match failure 00:50:08 it IS quite convenient when e.g. doing nondeterministic programming with [] 00:50:29 oh, you can have type variables in ::, of course you can 00:50:35 > fail "foo" :: [a] 00:50:37 [] 00:50:43 madbr: http://privatepaste.com/824967e6a8 okay wow this is actually crazy 00:50:48 type variables to the right of :: are implicitly universally quantified 00:51:03 aren't type variables implicitly universally quantified in general? 00:51:13 unless they are explicitly universally quantified ;P 00:51:16 and that's an extension 00:51:25 i noticed 00:51:27 or introduced from an outer scope, which is also an extension 00:51:32 i tried to get my pedant on and it didn't work. sad 00:51:40 Fiora: "This scaler is made of runtime-generated MMXEXT code using specially tuned pshufw instructions." metal 00:51:52 savagely hand-optimized assembler 00:52:13 -!- monqy has quit (Quit: hello). 00:52:27 I wonder if one could do even better with pmaddubsw 00:52:32 * Bike looks up, notices x86_reg as a typename. wat 00:52:49 I... I'd guess it's the size of a native register? 00:52:55 so like, 32-bit on x86_32, 64-bit on x86_64 00:52:55 i guess 00:53:05 mostly it just reminds me of how ineffectual "register" apparently is 00:53:21 Bike: i can explain the question mark kinds if you like 00:53:21 what if you're on x86_16 00:53:31 I'm guessing this code doesn't work on 16-bit <.< 00:53:37 it uses mprotect >.> 00:53:38 yeah this is crazy stuff 00:53:38 kmc: oh, go ahead. (i've gotten around to reading haskell in haskell) 00:53:48 well do you know how unboxed types work in GHC 00:53:50 kmc: i read spj's paper about I# and such if that helps 00:53:54 ok 00:54:05 but otherwise no, i don't really 00:54:07 fiora: hm, now I wonder how much of the instructions added after the 386 work in real mode 00:54:12 fiora: probably not many 00:54:33 well Int is represented, like every Haskell value, as a pointer to a heap object. but Int# is represented as a bare machine word 00:54:37 (this much you may already know) 00:54:44 right 00:55:01 so for example values of type Int# can't be passed to polymorphic functions, which are compiled only once for all types and expect to treat those values uniformly 00:55:11 so Int# has to be a different kind of type than Int 00:55:20 ooh, clever 00:55:31 in old GHC that kind is named # 00:55:39 it has some alphabetic name now 00:55:58 so what's the kind of (->), the type constructor of function types? 00:56:13 I suppose you want to support Int# -> Int# and such 00:56:13 functions are all represented by heap objects, so it's ... -> * 00:56:21 madbr: huh, weirdly, a lot of new ones apparently can o_O 00:56:22 but the arg and return types can be either boxed or unboxed 00:56:28 but uh, ?? being a union of * and # seems like it would be really weird 00:56:30 like "popcnt" has a 16-bit real mode version and apparently works in real mode? 00:56:32 it is really weird 00:56:35 and that's... that's like, SSE4 00:56:37 strange 00:56:38 it's like subtyping at kind level 00:56:39 but there you go 00:56:42 awesome 00:57:02 anyhow 00:57:05 and ? is the superkind of * and # and (#), where (#) is the kind of unboxed tuples 00:57:07 what do you call kinds on the next level again? is that where you give up and go with type3 00:57:11 e.g. (# 1, 2 #) 00:57:31 Bike: some people call them 'sorts' but in general it's nice to have uniform Set :: Set0 :: Set1 :: ... 00:57:37 right 00:57:39 fiora : tbh alpha blending is probably a bit overdone by now 00:57:47 esp. in dependently typed contexts, where distinguishing types from values is not really the goal 00:57:50 after almost 20 years of openGL stuff 00:58:07 same for bilinear 00:58:07 but but but excuse to use pmaddubsw 00:58:09 you stratify in order to have a consistent logic, not in order to erase some things after compilation 00:58:12 sometimes i wonder why mathematicians don't just start out with numberings, but then i remember this is the discipline that gave us x with a dot for derivatives 00:58:35 Bike: hey you can put a lot of dots above an x 00:58:40 ẍ 00:58:47 i forgot the combining character for one dot though :( 00:58:48 anyway unboxed tuples are even less first-class than unboxed values 00:59:02 at least in old GHC you can only return them, not take them as args 00:59:03 yeah i remember somebody who was possibly shachaf complaining about it 00:59:17 and the only thing you can do after calling a function which returns one is to immediately pattern-match out the components 00:59:23 also: i still think of types as a compilation thing instead of a logic thing. possibly this is because i am bad at logic 00:59:25 case f x of (# a, b #) -> ... 00:59:35 that amused me because it's pretty well the same as CL multiple value returns :P 00:59:39 so it's... yeah 01:00:00 and GHC will implement it just by putting a and b in separate STG-machine registers 01:00:01 fiora: :D 01:00:04 rather than building a heap object 01:00:11 right 01:00:17 vectored return is what it's called? 01:00:24 Fiora: i'm horribly curious what "LOCAL_MANGLE" could mean in the paste 01:00:25 fiora: well, deformation/warping/texture mapping effects aren't too hard 01:00:44 fiora: even on a straight dumb word-addressing RISC 01:01:44 but simd is fuuuun 01:02:10 Bike: I'm guessing it has something to do with pleasing the inline assembler but gosh I have no idea 01:02:22 ha yeah 01:02:36 I'm definitely starting to consider adding simd instructions 01:03:01 Fiora: oh, also the IDE interlude in ##asm made me want to mention slime-macroexpansion-mode but i don't know if it would be feasible or useful for assembly macros 01:03:44 slime? 01:03:53 lisp mode for emacs 01:04:14 Hmm, I see *someone* is writing yet another image scalar that's not gamma-aware. 01:04:21 basically if you have a macro form you can C-c m on it and a buffer pops up with the expansion, and you can do it again in the expansion, so you can see what something expands to. 01:04:22 Goodie, incorrect results. 01:05:00 pikhq: that's like, the fastest one in the library, I think 01:05:06 I don't think it's intended to be very good 01:05:32 Fiora: Eh, hardly anyone actually does that anyways. 01:05:38 Still sucks. 01:05:39 gamma aware sounds painful though, I've read the articles about it but egh, sending every byte through a lookup table... 01:06:13 -!- nooga has quit (Ping timeout: 256 seconds). 01:06:25 pikhq : bilinear is already cpu killing and you want to add more to the massacre? :D 01:07:37 you can use a 50-tap sinc filter too >:3 01:07:46 hah 01:08:00 even on sound that's overkill 01:08:07 and on sound you can hear the alias 01:08:24 * Fiora was kidding XD 01:09:14 -!- carado_ has joined. 01:09:46 The *cheap* way is basically doing each pixel to the power of 2.2 before scaling, and then to 1/2.2 after... 01:09:55 kmc: mostly i was wondering about fail because haskell-in-haskell has mgu :: (Monad m) => Type -> Type -> m Subst and such, seemingly for no other reason than the use of fail. so i thought that seemed more like somewhere you'd use Either 01:09:59 (note, technically wrong, but damned close) 01:10:08 kmc: but i seem to not understand the haskell "philosophy" on exceptions anyway 01:10:11 wait, geez, not even that's correct? 01:10:18 Ok, one more episode then I will blog 01:10:42 -!- carado has quit (Ping timeout: 256 seconds). 01:10:49 -!- carado_ has changed nick to carado. 01:10:52 Fiora: The sRGB to linear mapping is not done via a straight gamma of 2.2, but rather a somewhat weirder function. 01:11:18 I guess a lookup table would be able to get it at least? 01:11:21 srgb... is that calibrated on CRTs or LCDs? 01:11:41 https://soundcloud.com/stevexr1p/i-am-the-doctor-nintendo-remix 01:13:05 A chiptune mix of the theremin-heavy Who theme sounds surreal 01:13:47 dunno if I like it 01:13:49 The exact function is... x <= 0.04045 -> x/12.92; otherwise -> ((x+0.055)/(1.055)) ^ 2.4 01:14:14 wow. that's... that's really... I don't even 01:14:17 Where x has been scaled to be between 0 and 1 from whatever your sample size is. 01:14:51 Note that you really want your intermediates to be either floats or 16-bit ints. 01:15:14 hah gonna be soooo sloooooooooooooow :D 01:15:51 Yeah, but the average of 0 and 255 will be 187, as it should be. 01:16:09 -!- Bike_ has joined. 01:17:16 it's fine on non-realtime stuff like photoshop I guess 01:17:31 -!- Bike has quit (Ping timeout: 245 seconds). 01:17:37 -!- Bike_ has changed nick to Bike. 01:17:50 Yeah, but Photoshop doesn't do this. 01:18:08 or if you do something like inverse gamma all your textures and then in the final HDR shader reapply the gamma 01:18:37 pikhq: actually I was kinda wondering something about that, if like, in photoshop I change the image format to 16-bit or 32-bit, does it go linear? 01:18:42 or does it use gamma there too? 01:19:36 Fiora: i don't know. 01:20:17 ah! http://forums.adobe.com/message/2615874 says that 32-bit float is always gamma 1.0 01:20:37 and apparently you can even set up a custom RGB profile with gamma 1.0 o_O 01:20:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:21:45 So, if you are working in 32-bit float in Photoshop you get things working right. 01:23:15 just getting brushes to work right is good enough to me :D 01:26:12 the general problem with just leaving it with the RISC opcodes is that people are going to program in the effects that render well in software 01:26:31 IE the same ones seen in a zillion demoscene demos and late DOS games 01:28:50 they're not bad (they're good at some types of "juice" :D) but not too original either 01:35:03 Bike: ah yeah, that was a somewhat old style 01:35:13 (using a generic monad for 'fail') 01:35:23 I think these days people will look at you funny for writing that kind of code 01:35:36 you would use Maybe, Either, or some class more specific than Monad 01:37:36 yeah the sRGB function is chosen "to approximate a gamma of about 2.2, but with a linear portion near zero to avoid having an infinite slope at K = 0, which can cause numerical problems." 01:38:31 So thoughtful 01:39:27 madbr: it's "calibrated for CRTs" in the sense that the CRT voltage -> luminance function is close to that gamma of 2.2, so you can output sRGB values directly as CRT voltages and it works ok 01:40:05 but an sRGB value corresponds to a particular color (i.e. CIE XYZ tristimulus value) independent of what display technology is in use 01:41:06 your display technology needs to do whatever is necessary to ensure that sRGB values correspond to linear light intensity according to the specified curve 01:41:29 -!- kallisti has quit (Quit: leaving). 01:41:44 -!- kallisti has joined. 01:41:44 -!- kallisti has quit (Changing host). 01:41:44 -!- kallisti has joined. 01:41:49 there is a ThinkPad laptop that has a color calbiration sensor in the wrist rest 01:41:54 so you just shut the lid and it does its thing 01:43:50 -!- kallisti has quit (Client Quit). 01:44:07 -!- kallisti has joined. 01:48:15 :> 01:55:48 -!- kallisti has quit (Quit: leaving). 01:56:06 -!- kallisti has joined. 01:56:06 -!- kallisti has quit (Changing host). 01:56:06 -!- kallisti has joined. 01:56:07 -!- kallisti_ has joined. 02:08:07 kmc: does lyah go into error handling much? like not catch, just how idiomatic code deals with exceptional situations 02:16:18 -!- jhaimar has joined. 02:17:06 -!- Arc_Koen has quit (Quit: Arc_Koen). 02:20:14 holaaa 02:20:46 `welcome jhaimar 02:20:52 jhaimar: 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.) 02:31:40 Bike: don't know 02:31:51 i think RWH has some stuff on the IO-monad sort of exceptions 02:32:44 lyah mentioned IOError but said you'd usually use pure mechanisms instead 02:33:34 @hoogle try 02:33:34 Control.OldException try :: IO a -> IO (Either Exception a) 02:33:35 System.IO.Error try :: IO a -> IO (Either IOError a) 02:33:35 Control.Exception.Base try :: Exception e => IO a -> IO (Either e a) 02:34:06 ha. 02:38:32 -!- carado has quit (Ping timeout: 256 seconds). 02:42:55 well IOError is pretty primitive 02:43:02 but GHC has a more powerful system of IO exceptions 02:43:04 extensible 02:43:30 i may be some kind of heretic, but I think the IO monad is a pretty good 'getting shit done' monad 02:43:36 it has exceptions, state, threads, oh and IO 02:43:59 for some huge program it might be nice to build an ornate transformer stack of separate exception handling, state, etc. 02:44:11 but it's a big pain for small program 02:45:36 -!- jhaimar has quit (Read error: Connection reset by peer). 02:51:59 -!- Jafet has quit (Quit: Leaving.). 02:56:22 Well, separate state is still nice for not having to pass IORefs around, unless you make a global IORef 02:57:22 that's true 02:59:39 basically what i'm asking is, for something like the haskell-in-haskell code that doesn't involve anything IOy but exceptions, would using that exception hierarchy be the idiomatic solution, or what? 03:00:20 no, probably Maybe or (Either t) or some other error monad 03:00:32 compilers typically have to do errors, fresh variable names, and maybe other state 03:00:45 * variable does a jig 03:00:52 haha 03:01:08 what i'll do is, create a module which defines a monad with the necessary operations 03:01:19 i'm used to exceptions being more complicated than just bare strings, too :/ 03:01:19 exported abstractly, so other code can't see the details of how that monad is implemented 03:01:31 could be a transformer stack, could be something else, doesn't matter 03:01:39 GeneralizedNewtypeDeriving for MonadState etc. is useful 03:01:52 Bike: sure, you can use whatever type you like with Either / ErrorT 03:01:52 no errors across module boundaries? 03:02:03 Bike: no 03:02:26 what i'm saying is, the fact that the monad is StateT s (ErrorT e (Whatever ...)) is not exposed 03:02:56 m 03:03:21 you would only expose whatever primitives you need 03:03:29 throw, catch, gensym, whatever 03:03:43 the rest of the compiler just uses those and doesn't worry about the implementation of this monad as an algebraic data structure 03:04:15 IOW i'm saying that monad transformers are a useful shortcut for building monads, but that doesn't mean they should be all over the code which /uses/ those monasd 03:04:20 monasdf 03:04:33 So you'd make your own error protocol? Also I don't even know what IOW or monad transformers are so you're probably wasting this on me, sorry. 03:04:48 IOW being "in other words" 03:04:54 o 03:05:14 the most important idea here is abstract data types 03:05:21 not really anything to do with monads 03:05:45 implementing monads as abstract data types is often a good idea for the same reason as implementing anything else as an abstract data type 03:07:42 -!- nooga has joined. 03:08:45 I think Bike may be wondering if you'd have to use different functions to raise errors from a 'standard' function? 03:08:58 The answer to that is no if you write the monad transformer properly 03:09:44 I think 03:11:27 I seem to lack the ability to phrase what I mean to ask. 03:15:31 right the error handling situation with 'standard' functions is a clusterfuck 03:15:55 if you're using some error handling monad, there's no way to make (say) 'head' produce an error in that monad 03:16:21 really 03:16:28 it is hard to integrate two libraries which both do error handling 03:16:42 that were developed independently 03:16:42 ok, that about answers it, thanks 03:17:15 i mean *maybe* they allow a generic MonadError (http://lambda.haskell.org/hp-tmp/docs/2011.2.0.0/packages/mtl-2.0.1.0/doc/html/Control-Monad-Error-Class.html#t:MonadError) 03:17:18 but usually not 03:17:31 you end up writing a lot of little wrappers to convert between different sorts of error handling 03:17:36 -!- nooga has quit (Ping timeout: 264 seconds). 03:17:38 it's not that bad but it's kind of annoying 03:17:51 that's one reason why I say that everything that does IO should just use IO's exceptions 03:17:57 rather than say ErrorT e IO 03:20:09 what's T there mean, by the way 03:20:14 transformer 03:20:20 :k ErrorT 03:20:21 * -> (* -> *) -> * -> * 03:20:39 o 03:20:47 `slist 03:20:47 for an error type e :: *, and a monad m :: * -> *, (ErrorT e m) is a monad 03:20:49 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: slist: not found 03:20:53 ^list 03:20:53 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 03:20:54 NOT UPDATE 03:20:57 BUT NEW ALBUM 03:21:27 is MonadError not a transformer? 03:21:33 no, it's not even a type 03:21:37 it's a type class 03:21:42 oh duh 03:21:48 classifying all the monads in which errors can be thrown 03:22:55 it's useful because it lets you throw an error without knowing at what layer of the stack your ErrorT or similar thingy is 03:23:12 and should allow library code to generalize for more users 03:23:26 but i dunno, in practice most libraries don't use it 03:23:36 it makes the type signatures longer and uglier and it requires type system extensions 03:23:41 Dear Hulu: If I press go back 10 seconds 3 times, it does not mean jump forwards 5 minutes. 03:23:46 wait, what extensions? 03:23:58 there's one that uses type families and one that uses multiparameter type classes with functional dependencies 03:24:08 oh right, that's another problem: there are (at least) two MonadErrors 03:24:09 gosh 03:24:11 actually a lot more 03:24:40 the problem is that every monad-which-supports-errors is associated with a particular error type 03:24:46 and the type class needs a way to talk about both of these at once 03:24:54 in standard Haskell, type classes can have only one parameter 03:24:58 among numerous other restrictions 03:25:24 type classes were the big new experimental feature in Haskell and they were somewhat conservative about them 03:25:52 ah. 03:26:39 Haskell is a language where the community observes that there are 50 incompatible error handling monads, and the response is 50 incompatible packages for generically handling all error handling monads 03:26:40 -!- nooga has joined. 03:27:18 the generalization of having thirty RFCs. genius. 03:27:37 the great thing about standards is that there are so many to choose from 03:32:22 Sgeo: yeah that is the worst 03:32:25 i don't know why it does that 03:33:50 maybe if we just pared everything down so we only had one programmer left, they could agree on what to use. ...but then, they could be sgeo 03:38:33 in a world with only one programmer, Hacker News will still be 40% articles about How To Hire Programmers 03:38:51 i mean it's that much harder! 03:39:56 i don't understand how programming exists as a job market, i mean everybody seems to care about how to hire and how to be hired that i see that more than actual programming sometimes? 03:40:47 well nobody actually knows how to hire programmers 03:40:53 and none of the article have any empirical basis or references 03:41:00 right i mean 03:41:02 they're all linkbait basically 03:41:17 if you want to attract attention to your company, post a semi provocative article about how you hire people 03:41:17 is the programming industry built on writing programs to autogenerate shitty articles on hiring programmers 03:41:21 Ksplice is guilty of this too 03:41:45 https://blogs.oracle.com/ksplice/entry/how_to_quadruple_your_productivity 03:42:04 oh hey, haskellhaskell has n+k patterns 03:42:20 this got a ton of hate mail from people who didn't understand that intern = paid intern 03:42:32 also a bunch of horrible comments about all the women in those photos, of course 03:42:34 it says "paid" in the second paragraph 03:42:42 Bike: i think that was an edit 03:42:44 see last graf 03:42:45 ah 03:43:35 n+k patterns are... silly 03:43:47 i'm not sure about any stronger negative judgement 03:43:50 has n+k but not irrefutable patterns 03:43:55 Bike: do you know about view patterns 03:44:09 naw 03:44:10 they kind of generalize n+k patterns 03:44:23 How often are view patterns used? 03:44:42 > (\(id -> a) a + 1) 5 03:44:44 :1:15: parse error on input `+' 03:44:45 oops 03:44:49 > (\(id -> a) -> a + 1) 5 03:44:50 6 03:44:54 yay 03:45:24 Bike: you can write (f -> p) and it matches x iff pattern p matches (f x) 03:45:43 sounds undecideable 03:45:48 no 03:45:58 you just apply f to the argument and match that 03:46:01 Well, if f x doesn't terminate, I guess it is 03:46:13 well i mean yeah 03:46:35 > let loop x = loop x in (\(loop -> x) -> x + 1) 5 03:46:38 i guess the ability to do arbitrary computation on the left side of the = is a bit remarkable 03:46:38 mueval-core: Time limit exceeded 03:47:27 but guards also do that 03:47:48 functions for all 03:48:09 It basically lessens the temptation to just expose constructors for the sake of ease of pattern matching 03:48:27 This way, you can have an abstract data type, and have a function that turns it into something you can do pattern matching on 03:48:29 -!- Jafet has joined. 03:48:47 that's exactly what the page i googled up said. 03:50:37 one of their example views uses view patterns on itself in its definition, noice 03:52:42 :D 03:53:07 so is this in lambdabot because it's standard now or because caleskell is weird 03:53:31 also what the hell is an "outjection" 03:54:10 Bike: i'd say neither 03:54:19 it's in lambdabot because it's a GHC extension that they decided to turn on 03:54:34 "caleskell" refers less to language extensions and more to strange default imports that hide the standard ones 03:54:38 kay 03:54:43 it's not like lambdabot has any crazy language extensions above and beyond the ones GHC has 03:54:46 ...to my knowledge 03:54:47 * Sgeo wants MultiWayIf 03:55:02 isn't that guards 03:55:23 It's less noisy than a case with guards 03:56:20 also the example they have with an actual n+k pattern being made out of a view pattern is kind of... dull 03:56:59 "fib (np 2 -> Just n) = fib (n + 1) + fib n" instead of "fib n = fib (n - 1) + fib (n - 2)" I guess? 03:59:51 oh i came up with this: http://mainisusuallyafunction.blogspot.com/2010/09/view-patterns-for-validation.html 03:59:56 not the first time i'm sure 04:01:17 ooh hey, you mention failure 04:01:26 "monthV (rangeV "monthV" 1 12 -> m) = months !! (m-1)" 04:01:32 That duplicate monthV bothers me 04:02:18 «This "range checking pattern" would be rigid syntax in most other languages. Here it's just something that emerges from the programming paradigm.» Do you like your comments 04:07:04 :) 04:09:39 reminds me that i haven't read kuhn. is that why "paradigm" came to be used in programming that way 04:09:51 i don't know 04:10:14 i generally think the idea of 'paradigm' in programming is suspect 04:10:25 maybe this article predates my conversion to this view 04:10:39 well you didn't write the paradigm thing 04:10:45 oh 04:10:47 well then 04:10:57 as i said, a comment 04:11:35 i guess paradigms are fine, but i'm annoyed when people are like "right, we're using paradigm X therefore everything must be done according to paradigm X and the language must be chosen primarily for its uncompromising support of paradigm X" 04:11:54 ugh, wikipedia's doing that thing where it has a history of the thing instead of a history of the concept of the thing. how am i supposed to sate my etymological fetish this way 04:12:05 to me the different 'paradigms' are techniques that are even more powerful when used together, when appropriate 04:12:20 have you considered using a "multi-paradigm language" 04:12:23 yes 04:12:24 alt. multi-rhetoric language 04:12:29 ;P 04:12:31 -!- nooga has quit (Ping timeout: 264 seconds). 04:12:42 " There is still some controversy by notable programmers such as Alexander Stepanov, Richard Stallman[3] and others, concerning the efficacy of the OOP paradigm versus the procedural paradigm." why the hell did i even try looking this up? 04:13:08 yeah 04:14:38 well, kuhn definitely seems to be the one who put "paradigm" into its modern usage, and 1962 is early enough to get picked up by the OOP craze for sure 04:15:01 ok 04:15:07 this is important 04:15:27 but uh anyway that paper is neat, thanks for showing me it whenever you did that 04:15:46 which paper? THiH? 04:15:56 yah 04:16:09 David Baltimore also gets some credit for popularizing / ruining the word 'paradigm' 04:16:30 a biologist? 04:16:36 yeah 04:16:39 and former president of Caltech 04:16:49 THiH? 04:16:55 Typing Haskell in Haskell 04:17:02 Ah 04:17:35 http://www.cripplingdepression.com/index/16 pictured here in panel 2 04:18:13 the wild fast paced life of a caltech administrator 04:18:57 yeah 04:19:14 i forgot why he was deemed to be Moneybags Baltimore but the name stuck for at least the 4 years I was there 04:40:33 -!- glogbackup has joined. 05:52:12 Bike: vectored-return is something else. 05:52:14 I think? 05:52:36 well yeah it's hyphenated 05:52:40 * shachaf isn't going to read the whole thing. 05:52:49 the whole what 05:55:30 scrollbacklog 05:57:36 imo it sucks 05:58:21 help need to force food self 06:03:08 -!- impomatic has quit (Ping timeout: 260 seconds). 06:03:54 -!- madbr has quit (Quit: Radiateur). 06:35:32 -!- copumpkin has quit (Ping timeout: 252 seconds). 06:36:03 -!- copumpkin has joined. 07:14:41 Bike: Lol oop and prodecudral 07:15:19 i prefer unstructured, freeform programming 07:15:37 Bike: What language does that? Perl? 07:16:10 you can structure just about anything 07:16:21 Perl is better described as antistructured programming. 07:16:56 perl has first class functions man, functional as shit 07:17:56 Perl has TC regexes; I fail to see your point. 07:18:36 See? It's basically a Post system. Very computer sciencey. 07:18:58 Anyway. Haskell report calls \ a "backslant". I have never heard this before, what is happening. 07:22:30 -!- Bike has quit (Quit: Reconnecting). 07:22:47 -!- Bike has joined. 07:23:38 -!- FreeFull has quit (Quit: Cya). 07:53:51 -!- epicmonkey has joined. 07:59:47 -!- DHeadshot has joined. 08:10:20 -!- epicmonkey has quit (Ping timeout: 260 seconds). 08:10:51 -!- ais523 has quit. 08:15:44 -!- Bike has quit (Quit: sleep). 08:15:56 -!- impomatic has joined. 08:33:33 -!- DHeadshot has quit (Ping timeout: 258 seconds). 09:13:21 -!- epicmonkey has joined. 09:57:23 -!- monqy has joined. 10:33:55 -!- monqy has quit (Quit: hello). 10:44:46 -!- Phantom_Hoover has joined. 10:45:47 -!- copumpkin has quit (Ping timeout: 252 seconds). 10:46:18 -!- copumpkin has joined. 11:24:38 -!- oerjan has joined. 11:25:39 shorter "hello world" in malbolge in 78 bytes by kenrube: (=<`#9]~6ZY32Vw/.R,+Op(L&%I#"Fg}Cdz@xw=*z]Kw%ot4Uqpihm,Owi)tfI$c"n`}}]/zZx;W:( 11:26:11 !malbolge (=<`#9]~6ZY32Vw/.R,+Op(L&%I#"Fg}Cdz@xw=*z]Kw%ot4Uqpihm,Owi)tfI$c"n`}}]/zZx;W:( 11:26:13 Hello, world. 11:30:37 -!- monqy has joined. 11:31:48 mmm, i guess shinh did it in 75 bytes (! insted on .) at http://golf.shinh.org/p.rb?hello+world 11:37:33 i like kenrube's homepage btw (not really sure its his, but it was mentioned somewhere linked to him) - http://www.yyyyyyy.info/ 11:39:12 very good 11:40:13 @remember kmc Haskell is a language where the community observes that there are 50 incompatible error handling monads, and the response is 50 incompatible packages for generically handling all error handling monads 11:40:14 I will never forget. 11:48:41 -!- Yonkie has quit (Ping timeout: 246 seconds). 11:48:55 @quote error handling 11:48:56 No quotes for this person. There are some things that I just don't know. 11:49:01 @quote error.handling 11:49:01 kmc says: Haskell is a language where the community observes that there are 50 incompatible error handling monads, and the response is 50 incompatible packages for generically handling all error 11:49:01 handling monads 11:49:03 @quote error.handling 11:49:03 kmc says: Haskell is a language where the community observes that there are 50 incompatible error handling monads, and the response is 50 incompatible packages for generically handling all error 11:49:03 handling monads 11:52:54 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 12:01:46 -!- Phantom_Hoover has joined. 12:04:46 -!- nooga has joined. 12:07:09 -!- DHeadshot has joined. 12:07:52 -!- oerjan has quit (Quit: leaving). 12:09:05 -!- DHeadshot has quit (Client Quit). 12:13:37 -!- carado has joined. 12:22:55 -!- dessos has joined. 12:36:55 Suggn. remove Brainfuck and its derivatives from the 'low-level' category. 12:38:06 maybe i should say that on the wiki instead... 13:23:28 -!- boily has joined. 13:26:41 http://esolangs.org/wiki/Kolmogorov 13:26:56 is it just me or is this not based on a kolmogorov machine at all 13:29:08 `quit 13:29:12 -!- boily has quit (Quit: Poulet!). 13:29:12 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quit: not found 13:30:23 -!- Taneb has joined. 13:30:25 -!- boily has joined. 13:32:07 `? HackEgo 13:32:09 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. 13:33:14 haircut oh no 13:47:53 -!- Taneb has quit (Ping timeout: 255 seconds). 13:49:59 -!- Taneb has joined. 14:09:13 Phantom_Hoover: bf is low-level... 14:11:21 -!- metasepia has joined. 14:12:05 Taneb: glad to see you revived since yesterday. 14:12:58 mtve: wow, you spoke 14:13:12 I was starting to believe fizzie killed you and hid the body and was just running an IRC client to hide the truth 14:15:15 boily, the haircut helped 14:24:02 help suddenly I have an idea of why recruiters are the devil 14:24:15 I feel very pressured into making a hasty decision if I get an offer 14:24:43 recruiters aren't there to land you the best job. their goal is to land you *a* job. 14:25:23 elliott, how's it low-level 14:26:07 and what constitutes high-level 14:26:17 i already replied on the wiki 14:32:45 hmm 14:32:53 would e.g. lazy k count as low-level then 14:34:31 -!- Arc_Koen has joined. 14:39:29 Phantom_Hoover: replied again 14:39:32 and uhhhh not sure 14:39:39 like I said it's hard enough for imperative languages 14:39:49 i guess SKI is definitely low-level 14:40:02 not sure about lambda calculus, it has a means of /abstraction/ (indeed it's all it has), which distinguishes it from e.g. BF 14:40:36 well I guess you can abstract in SKI too, but it's basically as painful as not abstracting, so... 14:46:12 you can abstract at compile time in combinatory logic 14:47:35 -!- monqy has quit (Quit: hello). 14:54:35 -!- carado_ has joined. 14:54:40 -!- Taneb has quit (Ping timeout: 260 seconds). 14:59:44 -!- carado_ has quit (Ping timeout: 256 seconds). 15:03:52 -!- Taneb has joined. 15:18:12 -!- Taneb has quit (Ping timeout: 264 seconds). 15:23:17 -!- nooodl has joined. 15:23:33 -!- carado has quit (Quit: Leaving). 15:24:06 -!- carado_ has joined. 15:24:38 -!- monqy has joined. 15:35:56 -!- augur has quit (Remote host closed the connection). 15:38:23 -!- augur has joined. 15:38:41 -!- augur has quit (Read error: Connection reset by peer). 15:39:05 -!- augur has joined. 15:43:32 -!- augur has quit (Ping timeout: 255 seconds). 15:56:07 job offer 15:58:43 yay 16:00:23 :D 16:00:45 * boily cheers ♪ 16:02:48 I just don't want to be stuck in a Java career for the rest of my life. 16:05:43 -!- augur has joined. 16:38:45 -!- carado_ has quit (Quit: Leaving). 16:39:20 -!- carado has joined. 16:40:13 -!- monqy has quit (Quit: hello). 16:47:42 -!- Bike has joined. 16:58:46 -!- epicmonkey has quit (Ping timeout: 258 seconds). 17:23:16 Sgeo: don't worry. even if you begin by being a not-java developer, it will find a way to infect you, to creep on you, to assimilate you. 17:25:01 Sgeo: this is just an internship right? 17:25:11 coppro, no 17:25:54 no 17:25:57 *oh 17:26:02 well then, uh, don't be? 17:28:40 -!- Bike has quit (Ping timeout: 260 seconds). 17:31:10 imnsho, java development only sucks when you're stuck with a large, fat, enterprisey project. but then, I believe everything that uses the ‘enterprise’ buzzword sucks. 17:31:36 ^ 17:31:54 boily: Java is only vaguely useful in large, fat, enterprisey projects. 17:33:00 -!- Bike has joined. 17:33:29 coppro, I think I can survive dealing with Java for some time, but I don't want 'some time' to be 'the rest of my life' 17:34:00 don't worry, they'll be a new stereotypical enterprise language soon enough. 17:34:06 And if the only actual 'job' I can list on my resume in the future is Java... 17:34:17 Even if I've done all these personal projects etc. 17:34:24 Bike: the only problem then (for Sgeo) will be that he only knows Java 17:35:08 fsvo "only" 17:35:34 learn everything you can get your hand on. casually mention that you have an interest into uncommon technologies (fsvo uncommon). shotgun new projects, talk and exchange with your colleagues. get known for your initiative. 17:35:42 ^ 17:36:01 Sgeo: The language is less important than the skills 17:36:11 Emphasize the transferable skills on your resume 17:36:52 The best tech firms know that a skilled programmer can learn $LANG on the job, and that having programmed in $LANG does not mean you are a skilled programmer 17:37:19 I'd much rather hire (for a Python job) an intelligent guy who's never used Python than a moron who has 17:43:19 the downside there is that you're in a python job. 17:47:08 the right level of elitism for the job 17:49:22 -!- FreeFull has joined. 17:49:27 Sgeo: tl;dr don't worry, just don't mention Java too much on your resume 17:49:36 the point is not that you are developing in Java. The point is that you are developing 17:57:36 i think a better worry than the idea that you might be shoehorned into a java career long-term 17:57:41 is the fact that you will be writing in java every day. 17:58:56 -!- AnotherTest has joined. 17:59:00 no human has enough finger length to support a whole-life java career. you'd have to have extra knuckles grafter to your fingertips to cope with the amount of typing. 17:59:06 s/grafter/grafted/ 17:59:14 -!- Mathnerd314_ has changed nick to Mathnerd314. 18:00:28 -!- augur has quit (Read error: Connection reset by peer). 18:00:48 -!- augur has joined. 18:01:34 elliott, there may be some Javascript. Hopefully more as time goes on. 18:02:01 I'd rather JAva than JS 18:02:29 i disagree 18:02:36 I kmcagree. 18:02:38 i'm writing a lot of JavaScript lately and finding it fairly pleasant 18:02:50 Sgeo: yeah uh the fact that you'll get anonymous functions doesn't really make this sound like a dream job to me yet 18:03:02 it has its warts but it's a pretty simple + flexible language 18:03:11 also are you sure they don't just not understand the difference between Java and JavaScript :P 18:03:12 and the community is not afraid of a little FP the way the Python community is 18:03:23 because in JavaScript lambda is practically the only abstraction you get 18:03:26 elliott, I'm sure. 18:03:28 so they use it to build objects, modules, etc 18:03:33 in a way that warms the heart of any Lisp weenie 18:03:42 or maybe Scheme weenie i should say 18:03:53 anyway it's a funny real-world demonstration of the Lambda the Ultimate principle 18:04:25 that's a principle? 18:04:33 Sgeo: are you sure they're sure 18:04:45 kmc: i'd say that's a fairly inaccurate view of javascript's oop 18:04:46 mainly i just can't get worked up about the difference between JavaScript / Python / Ruby / whatever 18:04:53 it's all pretty minor once you know Haskell and C++ 18:05:01 elliott: yeah i'm glossing over 18:05:18 javascript's oop can't decide whether it wants to be prototype-based or not 18:05:26 -!- monqy has joined. 18:05:33 you have transcended the arguments and attained lingual nirvana, free of worldly desires 18:07:03 They know the difference between Javascript and Java. 18:07:14 Incidentally, is Angular.JS fairly well liked? 18:07:51 "AngularJS is what HTML would have been, had it been designed for building web-apps" 18:08:02 i think a lot of JS-bashing comes down to looking down one's nose at Web programmers as "not real programmers" and misunderstanding what the Web is 18:08:26 which is, by far the easiest way to write an application and distribute it to a lot of people very quickly 18:08:50 i too am guilty of this viewpoint in the past 18:08:58 -!- DHeadshot has joined. 18:09:56 I bash JS because it's a shitty language 18:10:03 I think this contract would make actually be with the recruitment firm 18:10:04 not because web programming isn't real programming 18:10:17 ????? :) 18:10:19 I bash JS becaus I think it is badly designed language 18:10:22 you can't program JS without strapping a ridiculous framework on top of it 18:10:26 like jquery 18:10:34 are we talking JS? heheheheheheheehehehhehehe lets not 18:11:03 unrelated notice: please stop referring to "May you live in interesting times" as an "ancient Chinese curse". thanks in advance 18:11:03 * boily prods monqy's hehehe-box to unstick it. 18:11:12 thoily 18:11:14 just talk about men making tigers instead 18:11:19 Bike: now I'm thinking of the inspirational japanese tumblr 18:11:50 wow programming in JS requires the use of libraries? what a shit language! 18:12:10 Fiora: http://en.wikipedia.org/wiki/May_you_live_in_interesting_times it's like, all the examples are English language and it was first attested by an English ambassador what a weird coincidence huh 18:12:21 kmc, PHP is totally the best language ever! 18:12:31 snerk 18:12:33 ancient chinese secret, eh? 18:12:36 ancient english curse 18:12:38 No need to import stuff much of the time 18:12:45 Florida Man Arrested For Punching Firefighter In The Groin 18:13:03 Sgeo: yeah it's super convenient 18:13:14 my favorite php libary thing is probably the thermidorian date functions 18:13:23 monqy: we were talking Sgeo's upcoming java job that's going to be lots of fun for him before 18:13:44 Although I must admit it's convenient in languages like Python to not need _third-party_ libraries. 18:13:49 Much of the time 18:13:50 like just in case you want to use a dead 19th century date format 18:14:00 elliott: does sgeo fully comprehend what he's getting himself into 18:14:14 does anybody fully comprehend anything, when you get down to it 18:14:16 Bike: and it's, like, 20th century 18:14:35 Fiora: ancient 20th century curse 18:14:53 still, I think inspirationaljapanese wins the mocking contest 18:14:59 -!- epicmonkey has joined. 18:15:12 i would love to be the guy who gets to make up some shit as an ancient chinese curse 18:15:21 i wonder what the other ones were before they decided on "may you live in interesting timse" 18:15:22 Bike: it's said that the last guy who understood anything there was to be known was Poincaré. 18:15:33 what regions of curseology were traversed 18:15:34 Uh. 18:15:38 Recruiters are the devil. 18:15:44 and poincaré was kind of a dick. it all works out 18:15:56 Apparently, I'm not entitled to employee benefits that the company provides. 18:15:56 Fiora: my new tattoo means "world peace" *throws a cabbage at you* 18:16:10 Sgeo: didn't kmc tell you to avoid them 18:16:17 wow its almost as if kmc told sgeo to avoid recruiters 20 times 18:16:20 good timing 18:16:29 ok. who here first stumbled upon that inspirational japanese thing. I have this sudden urge to whack them. 18:16:37 Sgeo: Python's stdlib is kinda shit for a lot of things though 18:16:41 like, urllib2 doesn't check SSL certs 18:16:43 and has a terrible API 18:16:49 boily: nope sorry it's awesome 18:16:59 Sgeo: wait, this is like, a full time job, not an internship, and they're not giving you benefits? @_@ 18:16:59 you have to use requests or curl if you don't hate yourself 18:17:20 Bike: it's disturbing my qi! it unaligns my chakras! it's full of glaring and blaring and ugly colours! 18:17:20 boily: no smacking that tumblr is amazing 18:17:20 Fiora, it's a contract job with possibility of full-time job with the company itself at the end 18:17:31 ... that... seems... fishy 18:17:48 boily: http://inspirationaljapanese.tumblr.com/post/40826225940/ this is one of my favorites 18:17:52 boily: rip your qi chakras 18:18:00 chakren? 18:18:04 like kraken 18:18:06 (is kraken plural) 18:18:07 kraka 18:18:10 actual translation: SHINJI, PILOT THE EVA 18:18:46 #japan #japanese #quote #inspirational #motivational #kawaii #sugoi #uguu 18:19:25 Fiora: bwah ah ah ah ah! ok. that site is awesome. 18:19:35 'Tis. 18:19:44 I love it because like, it doesn't do that dumb thing where you put offensive phrases in japanese and mistranslate them 18:19:48 but rather just, /funny/ things 18:20:06 Hmm, this is interesting 18:20:27 It's really great if you understand Japanese. 18:20:30 "apparently my recruiter needs to know if i'm a virgin, for some party" 18:20:58 tell him that you're a gemini, and that it's against your religion. 18:21:00 "Shall we do the Harlem Shake today?" and "live every moment and love every day" Haaaah 18:21:16 It occurs to me that I don't know if it's a good idea to talk about this stuff in publically logged channel 18:21:31 recruiters are known to trawl the #esoteric logs for candidates 18:21:43 Sgeo: maybe you should figure out? 18:22:21 Sgeo: say, if you ever come to Montréal one day, could you wear an orange vest with ‘Hi there, I'm Sgeo’ written in large friendly letters on it? 18:22:33 (so that I can covertly recruit you) 18:22:42 didnt you decide it was a bad idea to talk aout this stuff in a publicly logged channel like two years ago 18:23:28 that decision was publically logged, so he had to discard it 18:24:21 According to this, since I haven't yet been employed by the recruitment firm, I can freely talk about what I know about the company 18:24:24 I thin 18:24:26 I think 18:24:34 wait, they don't /let you talk about the company/? @_@ 18:25:09 They don't let me talk about confidential information I learn after my employment with the recruitment firm 18:25:34 ... what exactly classifies as confidential information...? and um. why is the recruitment firm doing the employing o_O 18:26:02 I don't know yet what classifies as confidential information 18:26:04 sgeos recruiter is recruiting him for the recruiting form 18:26:21 what constitutes classified information is classified 18:26:51 this seems really weird 18:27:05 Fiora, the recruitment firm wants to make money off of my employment 18:27:35 umm... but I thought they get paid by the company when the company hires you? 18:27:43 i assign kmc to this job 18:28:33 The contract with the firm says the company isn't allowed to hire me without recruitment firm's written consent, but that after 6 months, they can be required to give said consent 18:28:58 This sounds really dumb for a lot of reasons. Is it really dumb? 18:29:11 o_O I guess I don't really know enough to be sure but that sounds incredibly fishy 18:29:23 is sgeo getting scammed 18:29:32 maybe the company doesn't exist 18:29:51 The company is the ISP that I use. 18:30:03 I think I'm online and not hallucinating right now. 18:30:17 sure, that's what they want you to think 18:30:23 we are Friday. 18:30:42 elliott is the new number two 18:30:55 ah, so Optimum Online have lots of secrets they don't want us knowing about. 18:31:12 you can't hide from us, CSC Holdings, LLC. 18:31:30 I think this is just standard boilerplate stuff 18:31:38 At least, standard for this recruitment firm 18:31:48 Why would there NOT be a provision covering confidential information? 18:32:06 i don't trust this boiler. i think this boiler is going to explode and kill somebody who is possibly you, and then a three hundred year old witch will arise from the ashes, cursing her colonialist murderers. 18:32:07 um, I think that provision is usually in your employment contract 18:32:13 -!- AnotherTest1 has joined. 18:32:14 the thing that you sign when you actually get a real job 18:32:21 Fiora, this _is_ my employment contract 18:32:32 I would be employed with the recruitment firm. 18:32:33 elliott: http://img.optimum.net/images/feedmill/custImage/121003/1349293765966-537x261.JPG they definitely seem suspicious 18:32:54 you want to work for a recruitment firm? but I thought it was an ISP... I'm confused... 18:32:56 why would you be employed by the recruiting firm? 18:32:59 btw this sounds shady as all heck lmao 18:33:05 why would a dog have an mp3 player? he doesn't even have any pockets, where would he put it? it just doesn't add up. 18:33:06 how has this not been ringing alarm bells for you 18:33:15 -!- AnotherTest has quit (Read error: Connection reset by peer). 18:33:18 Bike: thats probably a telephone. makes perfect sense 18:33:26 The people at the company seemed to recognize the firm 18:33:38 I've heard of things like this before, don't they usually do this to hire innocent victims as contractors so they can pay them half as much, and then toss them after 6 months? 18:34:07 elliott: who uses headphones with a telephone?? 18:34:15 also who calls a cell a "telephone" 18:34:18 are you an Optimum agent 18:34:26 u figured me out 18:34:29 i actually call them mobiles 18:34:38 which is a much better name than cellphone or phone or whtaever 18:34:44 since they're not really primarily phones any more 18:34:45 You're talking about witch-talk-boxes? 18:35:33 miniaturized ENIACs 18:36:50 The colloquial Finnish term for them derives from the word for "hand", presumably because that's what you use to hold them. 18:37:57 Or at least the colloquial Finnish term that I know, I'm sure them youngsters have completely different words nowadays. (I sound like an old fart.) 18:38:35 fizzie: you mean "kännykkä"? 18:38:44 nortti: Yes. 18:38:58 Well, or "känny". 18:38:59 is that derived from "käsi"? 18:39:14 nortti: That's what http://fi.wiktionary.org/wiki/k%C3%A4nnykk%C3%A4 claims, and it's also what I thought. 18:39:37 Well, from käsi or kämmen, but it's all handy anyway. 18:39:55 heh. trademarked by nokia 18:40:02 -!- zzo38 has joined. 18:40:51 I guess Germans have "Handy"? So it's not so unique. 18:41:02 Bike: hands free 'phones need headphones... 18:41:39 'phones for your 'phones. 18:41:50 Phonemes in your phones. 18:42:24 always tying it to speech recognition, fizzie 18:43:06 I should write down somewhere the things that are concerning me 18:43:10 That's just "speech" in general. 18:43:22 hm that makes me wonder if it's harder to talk on the phone if you use a language with way different phonemes from whatever phone compression is optimized for 18:43:52 http://en.wikipedia.org/wiki/Code-excited_linear_prediction I think this is the general category of what they use? 18:44:03 Bike: I'm not sure how "way different" (natural) languages go, really. The equipment is, after all, pretty much the same. 18:44:22 -!- DHeadshot has quit (Quit: Bye). 18:44:26 "The original algorithm as simulated in 1983 by Schroeder and Atal required 150 seconds to encode 1 second of speech when run on a Cray-1 supercomputer." XD 18:44:55 fizzie: well there's ejective constants off the top of my head. i think the human phonemic inventory is at least twice as big as english's maybe? 18:45:58 How long does it take for the PC speaker to move fully? I read 60ms somewhere, and 1/60000000s elsewhere, but neither seems correct to me? 18:47:05 let's see, english uses about 35 i guess, but this language !Xū uses 141 18:47:06 Bike: Sure, but it's not like it'd be all *that* closely optimized for a particular phoneme set. 18:47:26 i guess that's what i'm wondering. 18:48:03 Bike: raw phoneme counts tend to be higher than what is logically understood between speakers of a language. you need to group allophones together. 18:48:29 zzo38: Are you trying to rediscover 6-bit audio through PC speaker? 18:48:35 IPA has "107 letters, 52 diacritics, and four prosodic marks", and I understand it covers things pretty well; and anyway the differences are going to be quite small the more exact you get. 18:48:57 I see absolutely nothing in the employment contract about the raises that I have been promised. 18:48:59 I am alarmed. 18:49:07 also, some sounds tend to be really close by, and the human brain infers what they should be from context. that's how ventriloquists speak, by approximating sounds and letting the ears do the rest. 18:49:18 how ver. strange 18:50:07 Sgeo: No, I mean why would you be employed by the recruiting company as opposed to the company you'll be working for 18:50:10 that's weird 18:50:21 coppro: I did some googling and it sounds like it works like this 18:50:25 recruiting companies are hired to search for contractors 18:50:34 the contractors sign up for the job and sign contracts with the recruiting company 18:50:47 the recruiting company charges the main company, takes a gigantic cut of the pay, and gives some to the contractor 18:50:53 recruiting companies sacrifice virgin BSs to the underworld, and bind demons to contracts with their client corporations 18:51:07 FreeFull: PC speaker is only 1-bit audio; I am trying to figure out how to accurately make an emulation of it. 18:51:11 what's a bs? 18:51:16 bachelor of science 18:51:17 Bachelor's 18:51:30 banks, sganks. 18:52:06 zzo38: Clearly you haven't seen what people have done with it 18:52:08 The LP model (which CELP still is based on) is arguably designed more based on the speech hardware than the speech wetware, anyway. (Though I suppose the "hardware" in this case is pretty wet too.) 18:52:23 Like ocal cords? 18:52:25 vocal 18:52:26 FreeFull: "What people have done with it" is, I think, the reason for the "accurate emulation". 18:52:28 zzo38: Either way, you could look at the way dosbox emulates it 18:53:04 fizzie: The hardware is only 1-bit, but you can push out 6-bit sound with cleverness 18:53:08 Which was my point 18:53:33 Does DOSBox do consider all of that stuff? Also, would some filters be needed? 18:53:43 http://en.wikipedia.org/wiki/Direct_Stream_Digital oh this was that 1-bit audio compssion method 18:54:10 FreeFull: Yes, and my point is that that is the reason why "accurate emulation" is necessary. 18:54:11 Well, it's 1,193.18 kHz 1-bit. If you're fucking clever you could actually dither that up such that the quantization noise is 20+ kHz. 18:54:27 And then you've got utterly reasonable audio. 18:54:48 I imagine what people actually *did* was somewhat simpler, just because of computational resources, though. 18:54:49 zzo38: Dosbox does emulate it pretty accurately 18:55:10 Does Adlib pretty well too 18:55:39 I actually haven't seen any more-accurate Adlib emulation than in Dosbox 18:55:42 I find on the real PC speaker, some high tones play a bit differently than others? 18:55:59 FreeFull: Is that OPL3? 18:56:51 But yeah, I at least *think* what you're looking at is resampling 1-bit 1.19318 MHz audio to 16-bit 44.1 kHz. 18:57:03 Adlib is OPL2 18:57:18 Dosbox does emulate OPL3 too though 18:57:24 O, it is OPL2. Well, DOSBox also emulates OPL3; but does that work as good? 18:57:24 (given how the PC speaker works I'm pretty sure it's PCM like that) 18:57:39 zzo38: yes 18:57:46 -!- DHeadshot has joined. 18:58:19 Crazy high noise floor of course, but what can you do? 18:58:43 I once found a OPL2 and OPL3 instrument maker program, it didn't work natively but it works on DOSBox. 19:00:01 fasttracker II had a pc-speaker output 19:00:23 There's a well-known PC speaker soundcard driver for Windows 3.x. 19:00:44 Although I think pretty much anyone would have been able to make a speech thing clone, and have fasttracker output through that instead 19:00:55 Which would give significantly better quality than any pc speaker 19:02:30 VGM format supports OPL2 and OPL3, and even OPL4, and can even have two of each, but there is currently no support for PC speaker. 19:02:34 I think there's an ALSA driver too? 19:05:21 This OPL2 instrument maker can be used to test instrument sounds for OPL2 and OPL3 (it does support the waveforms of OPL3, but not 4-operator channels). I have already written a program to test instrument sound of OPLL. (Both programs require emulators, but a different emulator) 19:07:02 -!- AnotherTest1 has quit (Quit: Leaving.). 19:07:18 -!- AnotherTest has joined. 19:07:20 Speaking of PC speakers, it seems that these days it's not uncommon to have a (crummy, but still a) speaker wired to the onboard audio chipset so that it can make real sounds without any cleverness. That's the case with both of my workstations at work. 19:09:44 I have a PC speaker in this computer too. However emulation should still be required since some are not implemented perfectly and you might want to run the program on a computer which is not a PC, too. 19:12:39 The different tone of the high notes might have to do with the time to move the speaker, or of the duty cycle (which is as close to 50% as possible, but not always exactly)? 19:15:33 -!- DHeadshot has quit (Ping timeout: 245 seconds). 19:17:13 This is different to many sound chips that make square waves, which will use the period for half of the wave cycle instead of the full wave cycle (or, if you can adjust the duty cycle, usually whatever the smallest duty is). 19:30:53 On the plus side: I can leave without penalty as long as I give 5 days notice, and there's no non-compete if I leave 19:31:49 downside is you'll be leaving the recruiting firm rather than an employer because you're being scammed or something?? 19:33:02 I kind of burned a bridge with the internship possibility :( 19:33:03 downside to a plus side? this is hard. 19:33:19 (Said that I'm no longer looking for an internship) 19:33:44 -!- AnotherTest has quit (Ping timeout: 260 seconds). 19:34:01 -!- AnotherTest1 has joined. 19:40:05 -!- AnotherTest1 has quit (Ping timeout: 252 seconds). 19:44:07 -!- carado has quit (Quit: Leaving). 19:44:24 -!- AnotherTest has joined. 19:44:39 -!- carado has joined. 19:44:48 nice, ipv6 19:45:06 Why doesn't my ISP do that 19:47:11 the day we'll all be on ipv6 is the day ipv8 will be out. 19:49:29 what happened to ipv5 19:49:41 i think that's a dead experiment for streaming 19:50:45 (Version 5 was used by the experimental Internet Stream Protocol.) 19:51:40 :t 'a' :: a 19:51:42 Couldn't match type `a1' with `Char' 19:51:42 `a1' is a rigid type variable bound by 19:51:42 an expression type signature: a1 at :1:1 19:52:48 ??? 19:56:16 -!- AnotherTest has quit (Quit: Leaving.). 19:59:40 -!- oerjan has joined. 20:00:27 hellørjan. 20:00:35 helloily 20:01:07 -!- augur has quit (Remote host closed the connection). 20:01:42 I was starting to believe fizzie killed you and hid the body and was just running an IRC client to hide the truth <-- i take it this was the obvious explanation. 20:03:19 finland, etc 20:06:03 don't worry, they'll be a new stereotypical enterprise language soon enough. <-- it will be based on haskell, but watered down to be codeable by enterprise drones, in a way that completely ruins the advantages of the language. 20:06:51 like how java is "just" "a" watered down "small" "talk" 20:07:09 oerjan: are you thinking about F#? 20:07:16 Is Scala watered down? 20:07:28 what happens if you water down water? 20:07:36 no, scala is watered up 20:07:38 scala might be watered up java 20:07:40 Homeopathy. 20:07:54 oh yeah. I forgot. 20:07:54 watering up sounds like it means exactly the same as watering down 20:08:09 inflammable 20:08:40 olsner: well F# is based on ocaml... but is it watered down enough to be coded by drones? 20:08:59 -> 20:09:26 ~duck -> 20:09:26
Usage: (-> x)
20:09:27         (-> x form)
20:09:27         (-> x form & more)
20:09:27  
Threads the expr through the forms. Inserts x as the 20:09:27 second item in the first form, making a list of it if it is not a 20:09:27 list already. If there are more forms, inserts the first form as the 20:09:27 second item in second form, etc. 20:09:48 ... 20:10:00 wow what 20:10:13 the hell does duck do anyway 20:10:15 it sounds fungotty. 20:10:15 boily: and no web browser or file manager stinks, and the extended s42 networking support) 20:10:16 ~duck ~duck 20:10:17 --- No relevant information 20:10:25 wiseguy, eh 20:10:25 ~duck duck duck go 20:10:25 Duck Duck Go is a search engine based in Valley Forge, Pennsylvania that uses information from crowd-sourced sites (like Wikipedia) with the aim of augmenting traditional results and improving relevance. 20:10:46 ~duck ~duck ~goose 20:10:46 --- No relevant information 20:10:48 o 20:11:03 ~duck llama llama duck 20:11:04 --- No relevant information 20:11:10 oerjan: not sure about that, probably just watered down enough to be useless for non-drones 20:12:22 for your late friday enjoyment: http://youtu.be/HbPDKHXWlLQ 20:13:05 fungot? 20:13:06 olsner: of course the command processor's initialization logic. it's pretty easy to do 20:13:15 20:06:03 don't worry, they'll be a new stereotypical enterprise language soon enough. <-- it will be based on haskell, but watered down to be codeable by enterprise drones, in a way that completely ruins the advantages of the language. 20:13:16 I like some things about LLVM but I also think some parts of it are badly designed and many things it doesn't do, the way to fix it seems making an entirely new one, which does not have this problem. 20:13:21 oerjan: i believe you will find this exists and is called "scala". 20:13:26 except it's even more complex somehow. 20:14:08 I was thinking of Curry-Howard with logic having numbers, and I have some idea of it. 20:14:28 It could be, the equality now means a type of a bijective function between finite types. 20:14:50 Is that it? 20:17:10 boily: the sound quality of that clip is amazing 20:18:18 you know i didn't mean "stereotypical" to imply that you should stereotype it 20:19:10 monotyping is just too restrictive, Bike 20:19:21 olsner: I think it is part of the experience. maybe. 20:19:45 boily: if I could choose, I might choose not to experience that part 20:20:06 please tell me "stereo" isn't actually used in type theory, i have enough trouble with the colloquial vs the psychological 20:20:26 Bike: well there's monotypes and polytypes 20:20:33 would be cute to refer to the latter as stereotypes 20:20:46 stereo is two though 20:20:49 elliott: But what if they are more than that? 20:21:56 well you could mean stereo to be a rank-1 type or something!!! 20:22:33 OK, perhaps it can? 20:26:28 -!- nooodl_ has joined. 20:30:06 -!- nooodl has quit (Ping timeout: 264 seconds). 20:32:38 -!- epicmonkey has quit (Ping timeout: 245 seconds). 20:33:12 -!- Nisstyre has quit (Quit: Leaving). 20:33:38 Is how I described, how Curry-Howard would work with logic having numbers? 20:36:13 except it's even more complex somehow. <-- aka "it doesn't fit my prophecy at all" 20:36:39 the monomorphism restriction seems... weid 20:36:43 I have now finished writing the recording for the Dungeons&Dragons that I played on Monday. 20:36:48 oerjan: :'( 20:37:31 zzo38: you do recordings too? I thought I was quite alone doing that. 20:37:53 boily: I didn't know you do it. Well, now you know! 20:38:24 http://zzo38computer.org/dnd/recording/level20.tex 20:38:40 in tex too? same here. 20:38:42 stereo is two though <-- the non-sound-related meanings of stereo- have nothing to do with "two". its greek meaning is supposedly "solid". 20:38:57 nooooo that sounds way too usable in types 20:39:02 don't give people ideas! 20:39:09 boily: O, I didn't know that either! Now I do know. But, what macros have you used with it? (I used a macro file I wrote myself for this purpose.) 20:39:30 hmm, how did "solid" come to mean two-channel audio? 20:39:35 ok the picture-related ones also indicate "two" 20:39:41 zzo38: plain old latex. just a moment, let me find where I stashed them... 20:40:32 olsner: it vaguely means "three-dimensional". 20:40:55 boily: OK. Yes, that is what a lot of people use, and you can use it if you want, but I find the other one better. 20:42:05 oerjan: But neither stereo sound or stereo video are three-dimensional (although stereo video is used to simulate 3D). 20:42:26 zzo38: they make the _illusion_ of three-dimensionality 20:42:44 oerjan: Yes, I suppose they do that. 20:43:03 Though ambisonics could actually be said to be three dimensional in some form. 20:43:19 Yes, ambisonics could be three dimensional. 20:43:31 (If you are using three-dimensional ambisonics.) 20:43:32 (surround sound scheme where you basically specify spherical harmonic parameters) 20:44:12 i think each of those get related to "two" because the fact that we have two eyes and two ears means two channels is enough to make the illusion half convincing. 20:44:18 zzo38: darn. don't have them with me, only on my home comp. 20:44:36 if we had three ears, stereophonic sound would require three speaker >:) 20:44:42 *speakers 20:44:48 @tell boily good monday morning! this is myself from last friday. I forgot to forward the logs to zzo38. 20:44:49 You can tell yourself! 20:44:55 I think ambisonics is something like YUV but with audio? 20:45:25 boily: OK, then you can get when you want to, later, if you want to. To compile my file, you will need the file dungeonsrecording.tex which is in the same directory. 20:46:13 oerjan: Well, perhaps if it was, that is what would be called stereophonic sound; but now stereo sound is two channels so if someone has three ears they would still use stereo with two channels, I would think. 20:46:38 Can you have a Haskell program return a unix return value? 20:47:08 Bike: Yes. 20:47:37 main :: IO Int? 20:47:43 No. 20:48:00 You need the library which tells it to return the return codes. 20:48:59 the monomorphism restriction seems... weid <-- it's basically "things that look syntactically like they should only be evaluated once must be able to easily be implemented as being evaluated only once." the rest follows from how typeclasses are usually implemented with dictionary passing. 20:49:03 System.Exit.exitWith :: ExitCode -> IO a 20:49:37 boily: Do you like my recordings? 20:50:01 zzo38: can't read them now, but they look very promising :D 20:50:06 OK 20:51:40 zzo38: yes, that's just language evolving and solidifying though. 20:51:54 oerjan: Yes, that is what I mean. 20:54:43 `run echo -e 'import System.Exit\nmain = exitWith $ ExitFailure 42' > /tmp/tmp.hs && runghc /tmp/tmp.hs; echo $? # just testing 20:54:50 42 20:55:26 Would it make any sense to take the job, and if I don't get the promised raise, just quit? 20:55:47 Or should I be trying to get the raises into the employment contract 20:56:00 Bike: well, that's the plain identifier = ... version anyway. the complicatedPattern = ... version (which cannot be fixed with an annotation) is stricter because it can make types stupidly ambiguous. 20:57:57 as in, if you have (a,b) = something and you need _both_ the type of a and b to determine what the type of something should be 20:58:45 then it makes no sense to have that (typeclass) polymorphic while a and b don't need to be used together. 21:00:35 and the reason why there is no restriction if typeclasses are involved, is because haskell without typeclasses has full type erasure so actually _can_ use the exact same representation evaluated only once, for all types. 21:00:44 *are _not_ involved 21:03:29 `run interp haskell 'main = print "test"' 21:03:35 No output. 21:03:38 `run interp haskell 'main = print "test"' 21:03:49 No output. 21:03:54 *sigh* 21:04:04 or hm wait 21:04:18 `interp haskell main = print "test" 21:04:23 No output. 21:04:27 WHATEV 21:07:30 it has no output, because print :: IO (). 21:07:47 (well, it takes an argument, but the end result is.) 21:07:47 * oerjan swats boily -----### 21:08:16 * boily does that anime thing and catches the swatter with his open hands. 21:08:50 * oerjan is not fooled since he has watched nearly no anime 21:09:59 > print "test" 21:10:01 No instance for (GHC.Show.Show (GHC.Types.IO ())) 21:10:01 arising from a use of ... 21:10:15 sensible 21:11:01 oerjan: but, but... it's a staple! like the school festival and the beach episode and the power of friendship and...! 21:11:30 I KNOW NONE OF THOSE THINGS 21:11:57 even though you're apparently an anime staple? 21:12:04 * Fiora magical girl transformation 21:12:06 i am? 21:12:21 boily: I don't recognize it either, and I've seen a bit of anime at least 21:12:37 I think there's a trope for that... 21:12:52 oerjan: well catching your swatter with open hands is a staple evidently 21:12:55 yep! that: http://tvtropes.org/pmwiki/pmwiki.php/Main/BarehandedBladeBlock 21:13:45 i was hoping for a trope about not recognizing anime tropes 21:13:56 Fiora, is your magic want a swatter 21:13:59 *wand 21:14:40 ummm in an RP I'm in it's a flashlight? 21:16:48 Have you seen the anime "Kaiji"? 21:17:25 Is that the one about Go 21:17:35 No 21:17:36 Hikaru no Go is the anime about Go 21:17:40 Yes 21:17:49 you can't use a torch as a magic wand 21:17:51 I forgot how far I got :( 21:17:51 um, I saw akagi and probably should see kaiji 21:17:51 that's just silly 21:18:01 but you can torch a magic wand 21:18:14 Fiora: I saw Akagi too, and I like both of those 21:19:18 but it's a magic flashlight, it blasts beams of light and love at witches 21:20:25 I'll try to sneak something to that effect in our next campaign, and see how it goes from there. 21:20:46 Sgeo: did you get to that episode where he plays Go? 21:21:35 Fiora, so it's like a lightsabre 21:33:38 -!- Taneb has joined. 21:34:19 Riding Mill is surprisingly easy to get lost in 21:34:25 Did you know they have like 5 village halls? 21:38:08 shachaf: ooh, you almost have a patch in ghc 21:39:04 olsner: Except that someone else wrote it? 21:39:12 I like this situation better. 21:39:28 "This is a slightly refined version of a patch by shachaf" it says 21:39:40 is this the empty class things 21:39:41 er 21:39:43 zero-parameter calss things 21:39:43 yes 21:39:49 does it support adding methods 21:39:51 unlike shachaf's 21:44:12 This sounds ridiculous 21:44:16 Link? 21:46:04 Why doesn't Haskell already have zero-parameter classes? 21:46:24 they're called types 21:46:43 That isn't exactly the same 21:46:45 coppro, wouldn't they have kind Constraint? 21:46:50 sssshhh 21:46:51 Rather than * 21:46:57 elliott: Wait, I hope so. 21:47:00 Can you check? 21:47:04 Otherwise I don't like it so much. 21:47:32 -!- {^Raven^} has joined. 21:47:36 zzo38, perhaps because they're kind of useless if you don't think about them much? 21:49:19 `WeLcOmE {^Raven^} 21:49:22 ​{^RaVeN^}: 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.) 21:49:48 shachaf: can you check? 21:50:03 Nevertheless, it seems that they are just another case of the classes, so it should be supported like multi-parameter are; also, they could be used if you don't define the instance until another module 21:50:54 elliott: Can you? 21:50:57 My dad's concerned about lack of specification of how many hours I would actually be working 21:51:37 elliott, have we accidentally encountered eachother face to face thus destroying the universe yet? 21:52:36 -!- boily has quit (Quit: Poulet!). 21:53:39 -!- metasepia has quit (Remote host closed the connection). 21:54:14 shachaf: no 21:54:18 <{^Raven^}> Hey everyone. 21:54:24 What else might be useful is define types local to a block 21:54:25 * {^Raven^} goes back to lurking. 21:54:39 Quoth the {^Raven^}, "nevermore". 21:54:41 {^Raven^}: What is it that you wanted? 21:55:11 I am not psychic. 21:55:14 {^Raven^}: wow weren't you here in like 2005 21:55:18 hi 21:55:24 <{^Raven^}> I used to hang out here an era ago. 21:55:40 {^Raven^}: Well, we changed the logs since then. 21:55:55 Hmmm, I guess my memory sucks X-D 21:56:33 <{^Raven^}> I remember you Gregor and a few other peeps. 21:56:43 Hmm, was I here in 2005? 21:56:47 Good. 21:56:47 I forgot when I showed up 21:56:53 `pastelogs Sgeo 21:57:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.15649 21:57:15 `relcome {^Raven^} 21:57:15 {^Raven^}, do you remember me 21:57:18 ​{^Raven^}: 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.) 21:57:27 Hey I was 21:58:33 I wasn't 21:58:41 <{^Raven^}> It's been 8 years, I barely remember breakfast. 21:58:55 Hmm... 21:59:01 I'm elliott's good twin 21:59:05 Do I recognize this Raven person? 21:59:08 Can you believe six impossible things before breakfast, now? 21:59:47 <{^Raven^}> You bet. 5 of them are the alarms I vainly hope will awaken me. 21:59:58 `pastelogs Raven 22:00:05 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10124 22:00:48 Hmm, may have been before my time. 22:00:57 `pastelogs pikhq 22:01:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5264 22:01:16 * Fiora waves? 22:02:17 Is there a internet protocol for log in to send/receive SQL commands and response? 22:02:18 hi {^Raven^} 22:02:25 <{^Raven^}> Hey kmc. 22:02:37 zzo38: yes it's called any text field on any PHP website 22:02:41 <{^Raven^}> That was some scary pastelog. 22:02:58 {^Raven^}: No; I mean without website and without necessarily PHP 22:03:13 kmc 22:03:16 {^Raven^}, on my pastelog, I appear and hold a conversation I remember having... about a year before I knew IRC existed 22:03:33 kmc: 22:04:05 kmc: Is there separate protocol, though? 22:06:02 zzo38: I think every SQL server package has their own protocol 22:06:05 i don't know of a standard one 22:06:25 (probably each has several protocols, realistically) 22:07:13 Perhaps a generic one could be made, then. 22:08:11 In case you want to any clients who might connect on the SQL, to be able to operate it remotely. 22:08:35 <{^Raven^}> Oblig XKCD: http://xkcd.com/927/ 22:08:47 -!- augur has joined. 22:09:29 Well, that is how it works, sometimes. 22:09:35 I don't really like USB; it has problems. 22:09:39 need a standard for dealing with multiple competing standards 22:09:41 cell phone chargers have actually become a lot more standard 22:09:53 as have character encodings 22:09:54 i think my favorite version of that is still zzo38 saying he conforms to a lot of stuff others don't, though 22:10:05 Bike: There is, such as internet, we have different port numbers for other protocols. 22:10:22 well played. 22:10:41 internet? yeah, i'd say internet 22:10:56 i guess it is an inter net work after all 22:10:56 <{^Raven^}> You'd have to limityourself to lowest common denominator SQL wchich could be limiting in itself 22:11:10 https://www.youtube.com/watch?v=dQmK1CnwOUI 22:11:40 is this better than windows 1.0's ads 22:11:53 {^Raven^}: To ensure working with everything you will, even though some servers may use additional commands, which might work too even though such thing is not SQL standard and not guarantee working everything. 22:11:54 wow he does sound drunk 22:12:11 post your.... photographs...... 22:12:58 Yes there are different standards, but often they don't even conform, anyways. 22:13:02 {^Raven^}, so what have you been up to in the past few years 22:13:30 I don't like PostScript and PDF and Microsoft paper format, so I use DVI. 22:13:53 -!- jiella has joined. 22:13:53 kmc: Not all PHP website is SQL anyways. 22:14:01 SQL is a different programming language to PHP. 22:14:03 * {^Raven^} has been getting paid to write programs for a living 22:14:19 crazy 22:14:21 {^Raven^}: What programs? 22:15:26 For telephone I use POTS. 22:15:44 smoke POTS everyday 22:15:59 <{^Raven^}> Mostly large scale websites. Nothing I'd like to talk about though I like to keep my personal and professional lives seperate. 22:16:08 OK 22:16:53 {^Raven^}, did you get asked the Hexham question when you used to be here? 22:17:17 O, so you don't write any Famicom games? 22:17:29 <{^Raven^}> Hexham question? 22:17:31 hard to get paid to write Famicom games these days, I expect 22:17:42 {^Raven^}, do you live in Hexham? 22:17:48 <{^Raven^}> Nah. 22:17:52 kmc: I suppose you are correct. 22:17:56 How about Finland 22:17:56 {^Raven^}: wait are you the person who made that Lost Kingdom thing 22:17:59 it's more like who doesn't write famicom games 22:18:08 <{^Raven^}> elliot, sure am. 22:18:17 i knew the name seemed familiar!!! 22:18:24 i hear ais523 almost beat it 22:18:55 <{^Raven^}> Props, to Calamair without whom it wouldn't have been possible 22:19:00 <{^Raven^}> *Calamari 22:19:08 Well, I have written one Famicom game, called "Famicom Hangman", but I might write more later on, based on some of the games I have made in QBASIC, but a bit different. However, BIGMAZE might be too slow on Famicom because it has to make up a random maze and it uses a slow algorithm to do so. 22:20:56 Trivia: the "piet" package on Hackage seems to suck 22:21:27 Bike: Do you? 22:21:42 I don't. I am the answer to the question. 22:21:53 I am the Famicomless spoken of in old legends. 22:22:56 <{^Raven^}> So, what have I missed in the lasy 8 years or so since I last logged in? 22:23:51 Underload 22:23:56 Pretty cool esolang 22:24:06 BF Joust? 22:24:53 The... wiki changed host? 22:25:26 The Fancy L problem? 22:25:44 ...fungot? 22:25:44 Taneb: like docstrings or something? :p. ugh i need to find more minor details to fiddle in my toy lisp interpreter turned out to be a 22:25:49 The chat is made up of different people 22:25:55 Oh, and HackEgo too probably 22:26:30 `? Ngevd 22:26:32 ​P=9hR3͂*9߳tm)Ϩٰqu!p \ 5IQx^i8?0BמvaoRWz.qP,'vֆcmC~Ce| 22:26:40 The many names of Taneb? 22:27:16 fax and cheaters' banishment? 22:27:30 Phantom_Hoover's Tumblr? 22:27:38 The harrowing of hell. 22:28:37 cpressey came back to tell elliott to shut up about Scots and then left again. 22:29:28 You missed the new language I made that only I seem to care about. 22:29:34 Oh, you also missed PSOX 22:29:43 PSOX came and went 22:29:44 You also missed cpressey, maybe. 22:29:47 (Another thing that only I care about) 22:30:19 fax isn't banned. 22:30:23 <{^Raven^}> PSOX, awesome 22:30:30 Sgeo, did you read that one thesis on trusting trust? 22:30:32 actually only cheater and dbelange are banned. 22:30:41 <{^Raven^}> A bit like PESOIX only more implemented 22:31:03 Bike, funny thing is, I never actually read it 22:31:07 For all that it's inspired me 22:31:52 well don't feel bad, nobody else has read it either 22:32:00 a lot like worse is better probably 22:32:50 {^Raven^}: you are still too early to miss Feather. 22:33:02 i read the original reflections on trusting trust, it's accessible so why wouldn't you 22:33:08 i haven't read the defeating trusting trust thing 22:33:15 sadly nothing like PESOIX and PSOX has taken off. 22:33:42 http://www.dwheeler.com/trusting-trust/ this one 22:34:02 <{^Raven^}> I recall someone did write a nice POSIX PESOIX layer. 22:34:04 maybet hat's the one Bike meant. 22:34:13 since the original one isn't a thesis 22:34:17 yeah, that's what i was thinking of 22:34:21 -!- jiella has quit (Ping timeout: 276 seconds). 22:34:42 {^Raven^}: you have also missed /// 22:34:56 And the mass Haskellization. 22:35:16 pikhq, what was there before the mass Haskellization 22:35:26 On topic discussion. 22:35:34 Whoa 22:35:35 everybody were diehard snobol programmers 22:35:35 no there wasn't :P 22:35:38 technically i think you may have missed LOLCODE, i'm mentioning this only to annoy the others. 22:35:50 Eff you. :P 22:35:51 oh and ESME. 22:35:53 <{^Raven^}> I remember writing a few CGI programs in pure BF back then. 22:36:21 -!- jiella has joined. 22:36:32 `welcome jiella 22:36:35 jiella: 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.) 22:36:53 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 22:37:33 despite Phantom_Hoover's best intentions, you have also missed a heap of brainfuck derivatives. 22:38:35 oerjan, would you say MIBBLLII is a brainfuck derivative 22:39:25 Taneb: well then it would obviously be in the category, wouldn't it? duh. 22:39:48 It was inspired by the concept of brainfuck derivatives 22:40:32 i recall when i arrived Backflip was one of the first new languages. so since i arrived after you left, you probably missed that. 22:40:58 in fact we've pretty much forgotten it, even though ais523 made derivatives of it. 22:41:22 Taneb: ha, i like it 22:41:32 was Emmental around back then? and Jolverine, those are cpressey languages i recall working on. 22:41:47 and Qdeql. 22:42:01 huh is bckw just a superset of ski 22:42:25 a superset of a subset of ski 22:42:42 oh, < doesn't seem to be in bcwksdkfasd 22:42:45 Bike: a re-basing, so to speak. 22:42:59 is k in bckw the k in ski? 22:43:12 yeah 22:43:18 S is some garbage, though 22:43:21 p.s. single-combinator bases are way cooler 22:43:37 mibbllii has more combinators. clearly software bloat. 22:43:51 you missed Real Fast Nora's Hair Salon 3: Shear Disaster Download 22:44:12 <{^Raven^}> Hmm, looking at the title, are esolangs still on topic? 22:44:24 Bike, BCKW and SKI are similar but different 22:44:24 ostensibly yes 22:44:30 I find BCKW easier to code with 22:44:57 {^Raven^}: the _title_ isn't always on topic. more so now than usual, actually. 22:44:58 {^Raven^}: as you can see the people in the channel still know things about them. 22:45:06 or maybe that's a misuse of ostensibly if it doesn't actually say anywhere that esolangs are on topic 22:45:20 ostensibly off topic, supposedly on topic, actually not usually on topic 22:45:37 also i can't think of a single-combinator base off the top of my head, fuck 22:45:50 Bike, there's Iota's i 22:45:55 i = \x -> x S K 22:46:03 i think zzo38 arrived after me, so all his languages, such as Flogscript 22:46:14 oh, that works 22:46:44 * {^Raven^} has some nefarious plans but nothing that actually has any code behind yet. 22:47:19 is it a bf derivative i bet it is 22:47:29 of course many others arrived after me, but zzo38 was _very_ prolific at the beginning. 22:48:37 imo the topic of #esoteric should be the topic of #esoteric 22:49:06 good opinion. approved 22:49:09 <{^Raven^}> recursive topics, nice 22:50:02 Bike: who died and made you opinion police 22:50:14 shachaf: Gandhi. 22:50:19 oh 22:50:55 -!- augur has quit (Remote host closed the connection). 22:51:02 -!- Phantom_Hoover has joined. 22:51:14 I didn't say I approved it. 22:51:29 oh, Eodermdrome. 22:52:04 Bike: i was shooting the figurative messenger 22:52:06 wait, why didn't i list it on my article page, i proved it TC 22:53:54 I should make another esolan 22:53:56 esolang 22:54:06 fucktrust 22:54:26 Should it be more Trust-ish languages, or something else? 22:54:34 I really don't have any other ideas :( 22:54:51 whenever you feel inesolangadequate just remember that i don't even have a wiki account 22:55:16 And my first esolang was an Ook! derivative 22:55:27 make a programming language that's a game engine 22:55:52 Taneb, braintrust is not my first esolang 22:56:00 I know that 22:56:02 Just I suck 22:56:42 the interpreter is a game. code is inputted and executed by performing tasks in-game 22:56:45 Going to read some Paranoia Live logs 22:57:13 nooodl_, there was a PS2 game like that, I believe 22:57:18 Only released in Japan 22:58:32 RPG Maker? 22:59:06 I'm still surprised Fueue is turing complete 22:59:40 ...how could it not be. 22:59:49 I dunno 22:59:58 Sgeo: who needs ideas when you have desire & ambition 23:00:07 unless it were obviously restricted like Ftack 23:00:36 (Unimplementable) esolang idea: 23:00:39 It's not just turing complete, it's turing complete if you remove like half the instructions 23:01:13 {^Raven^}: you also missed Fueue, if i didn't mention it yet. 23:01:20 Esolang that would be turing complete except there's one specific calculation that cannot be performed, one program that cannot be run, even by, say, simulating GoL 23:02:24 Sgeo: I don't think such thing is possible even mathematically 23:03:06 Sgeo: seems very hard to define properly while still giving an interesting result... 23:03:06 Sure it is. Just check that no parts of the program = the forbidden program, with an implementation in a super-TC language. 23:03:48 Sgeo: i suspect in that case, you would find it hard to prove any given program _could_ be run. 23:03:54 you have a very curious definition of "sure it is"... 23:05:02 because that program could give you, in an unprovable way, the ability to simulate the forbidden one. 23:06:05 Taneb: oh well, arithmetic is overrated anyway 23:06:08 oerjan: hm i note that for underload, it is not known how to remove a or * from a program, other than by converting it to a turing machine first... 23:07:59 elliott: without a or * there is no way to construct _new_ subprograms, which means if you take the subprograms you start with you almost have a TM by definition. 23:08:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:08:53 seems like there should be a way to do a translation that results in less indirection/program explosion than going through a TM, but what do I know 23:09:05 also, I was thinking of a and * _separately_ 23:10:07 elliott: i think there can only be a constant factor difference. 23:10:28 ok if you do them _separately_, maybe... 23:10:45 a just gives you a sort of added counter ability. 23:11:34 i have thought before that you can remove either a or *, _and_ ~ without dropping all the way down to a minsky machine. 23:12:23 -!- Phantom_Hoover has joined. 23:12:41 * elliott is just thinking that it would be interesting to a have an underload program --> :()^ program that works subset by subset, rather than involving a big first leap of conversion to TM then compilation 23:12:48 ...i suppose removing just * would probably allow you to do something resembling brainfuck with unbounded calls 23:12:49 *:()^ program transformation 23:13:00 *cells 23:13:12 cells _and_ tape 23:15:59 http://www.reddit.com/r/programming/comments/1adb56/wikimedia_enables_lua_scripting_for_page_content/ 23:17:24 thanks 23:18:06 good strikethrough 23:19:05 -!- monqy has quit (Quit: hello). 23:22:18 mediawiki markup is a thing of beauty 23:22:28 it's like pointy lisp 23:23:13 I happen to like MediaWiki format too, compared to other wiki 23:23:15 does hackego have a function to spit out a link to the wiki for a given term? 23:25:41 mediawiki is shit and yet i've yet to see another wiki system that isn't annoyingly awkward 23:26:15 `wiki maybe 23:26:16 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 23:26:21 ^wiki maybe 23:26:21 http://esoteric.voxelperfect.net/wiki/maybe 23:27:42 Esolang interpreters right on the Esowiki pages! 23:29:01 Phantom_Hoover: Well, yes, OK, but still I like MediaWiki syntax compared to other wiki. 23:29:03 `paste bin/wiki 23:29:06 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/wiki 23:29:20 helpful 23:29:28 ohh 23:29:31 right im dumb 23:29:36 fizzie, fix that 23:40:18 Whoa 23:40:34 My Tumblr profile picture's cropped so it says "CE CREAMS HER" 23:41:03 a clear case of karma. 23:41:07 sex acts with obscure pronouns are most tolerant sex acts 23:41:07 -!- {^Raven^} has left. 23:41:58 omg 23:42:22 raven's isp hub thing is in sheffield 23:42:28 that's dangerously close to hexham 23:42:36 he was already asked. 23:42:39 That's like 100 miles away from Hexham 23:43:12 look 23:43:19 it's in The North 23:43:28 https://maps.google.co.uk/ 23:43:29 that is TOO CLOSE FOR COMFORT 23:43:31 Wait 23:43:35 https://maps.google.co.uk/maps?saddr=hexham&daddr=sheffield&hl=en&sll=52.8382,-2.327815&sspn=7.728394,20.214844&geocode=FfnQRgMdcMXf_ykVmDENYpB9SDEEwA0heCs6qA%3BFQmILgMde5Hp_ykVvuj6qQp5SDF4sAav9ScoPg&t=h&mra=ls&z=8 23:43:49 Sheffield's practically midlands! 23:44:00 It's closer to ais523 than it is to me! 23:44:09 i have heard people say nottingham is where the north starts 23:44:17 wow hexham is very Northern 23:44:20 relatedly: warwick is so full of southerners i feel so alone 23:44:54 Phantom_Hoover, that's your own fault for not abusing free university education in Scotland 23:45:03 abusing??? 23:45:24 it's not our fault we're politically disconnected from the south 23:45:41 i think {^raven^} gvae up on us 23:45:46 also gave 23:45:59 oerjan: btw someone should update ^wiki 23:46:05 i am pinging you for absolutely no reason! 23:46:13 someone, n. fizzie 23:46:48 ^src wiki 23:46:50 ^show wiki 23:46:50 +13[>+9>+9>+8>+4<4-]>3.<2-..-4.>3+6.-11..<-3.<-2.<-.>+.>.<-2.<-6.>2-2.>-.<2+4.>+12.<+2.<-4.>-12.>+.<-7.>+2.<+.-.<-2.>2+2.>.<2+9.<+2.>2.>+.<+3.-14.+2.-2.>.,[.,] 23:47:13 !bf_txtgen http://esolangs.org/wiki/ 23:47:53 -!- nooga has quit (Ping timeout: 252 seconds). 23:48:07 `interp bf_txtgen http://esolangs.org/wiki/ 23:48:11 what's the hexhammian english accent like 23:48:12 also: wow yorkshire is altogether too big 23:48:19 Indeed 23:48:20 171 +++++++++++++++[>++++>+++++++>+++++++>++++++++<<<<-]>>>-.>----..<<+++++++.<--.-----------..>>---.<+++.>>-----.---.<----.>++.<++++++.<.<-.>>>+.+++.<.<<+.>++++.>++.++.--.<<. [864] 23:48:28 nooodl_, northumbrian 23:48:41 nooodl_, it's a bit like geordie 23:48:41 ^def wiki bf +++++++++++++++[>++++>+++++++>+++++++>++++++++<<<<-]>>>-.>----..<<+++++++.<--.-----------..>>---.<+++.>>-----.---.<----.>++.<++++++.<.<-.>>>+.+++.<.<<+.>++++.>++.++.--.<<.,[.,] 23:48:42 Defined. 23:48:48 ^wiki Esme 23:48:48 http://esolangs.org/wiki/Esme 23:48:55 nooodl_, illustrative example courtesy of google: http://www.youtube.com/watch?v=qTfC1BIgTCw 23:49:05 nooodl_, but with a bit of posh English in it too 23:49:16 probably representative of elliott's voice 23:49:18 fizzie: pls save kthxbye 23:49:29 Phantom_Hoover, the Northumbrian accent is mainly further North 23:49:59 oerjan: you picked the optimal article to test it on, too 23:50:09 Starting from Blyth and ending near Berwick 23:50:32 Fading from Geordie to Borders Scottish 23:50:51 yikes 23:51:17 elliott: i know right? 23:51:18 elliott: is this true (ph's link) 23:51:20 i don't really have an accent 23:51:23 -!- augur has joined. 23:51:26 except like vaguely british 23:51:28 ok good 23:51:38 élliott 23:51:50 But yeah, the Hexham accent is somewhere between vaguely british and geordie 23:52:31 i have an accent!! 23:52:46 elliott, i used to think that but apparently my accent is identifiably scottish 23:52:47 I have a ridiculous accent 23:53:15 i don't have an accent, Ø is a perfectly undivided letter 23:53:16 (I'm now imagining Phantom_Hoover with a somewhat confused thick Glaswegian accent) 23:53:29 (all the more confused because he's not from Glasgow) 23:53:34 you are the actual worst 23:53:41 i would stab you but i'm not from glasgow 23:53:54 if only i could hear talk_esme_baby 23:53:55 Phantom_Hoover: well I assume there's some rhoticity in mine. I forget whether it's the rhotic kind or the non-rhotic kind 23:53:57 you know on twitter glasgow is being bombed right now 23:54:01 I also have the worst accent 23:54:16 Bike: twitter has bombs now? 23:54:21 It's a kind of nasal upper class Northern english with slight Australian and Dutch twinges 23:54:48 the hexham accent is thoroughly rhotten 23:54:50 https://twitter.com/RealTimeWWII/status/312604111843495936 bombed... by terrorists 23:54:51 that sounds very good taneb 23:55:18 Bike: well that's just regular glasgow 23:55:21 `quote glasgow 23:55:24 460) Riots in Glasgow would probably be reported as a sudden drop in crime. \ 616) No you can't fight crime in Glasgow. It's like trying to get rid of the space-time continuum. \ 784) Phantom_Hoover, like Glasgow but nicer So, not like Glasgow at all 23:55:54 hey, i stopped doing it when it became mainstream 23:56:26 `run quote glasgow | tail -c300 23:56:27 over> Riots in Glasgow would probably be reported as a sudden drop in crime. \ 616) No you can't fight crime in Glasgow. It's like trying to get rid of the space-time continuum. \ 784) Phantom_Hoover, like Glasgow but nicer So, not like Glasgow at all 23:56:34 bo ring 23:56:40 `quote Hexham 23:56:41 623) also, why isn't monqy from Hexham? his name sounds like he should be \ 692) oh right: Frooxius, you wouldn't happen to live in Hexham, would you? No, sorry. phew How about Finland? Why would I live there? That's a *very* good question. Why would anyone? \ 956) `run quote hexham | tail -c300 23:56:56 uld you? No, sorry. phew How about Finland? Why would I live there? That's a *very* good question. Why would anyone? \ 956) had a fit of a stroke of genius, and google mapped hexham. it's in the friggin middle of nowhere! 23:57:27 `run quote Hexham | tail -c600 23:57:29 623) also, why isn't monqy from Hexham? his name sounds like he should be \ 692) oh right: Frooxius, you wouldn't happen to live in Hexham, would you? No, sorry. phew How about Finland? Why would I live there? That's a *very* good question. Why would anyone? \ 956) Nope