←2011-09-30 2011-10-01 2011-10-02→ ↑2011 ↑all
00:00:37 <elliott> pikhq: what's up with mplayer/mplayer2
00:00:56 <pikhq> elliott: Fuck if I know.
00:01:15 <elliott> thx super helpful :P
00:01:25 <elliott> people should really stop naming forks such misleading things
00:02:02 -!- derdon has quit (Remote host closed the connection).
00:08:38 <oerjan> spearing utensil
00:13:38 <elliott> xD
00:14:03 <CakeProphet> braincursion is the best because it has nothing to do with recursion.
00:15:30 * CakeProphet makes the best esolangs.
00:15:46 <CakeProphet> best is the best word.
00:16:13 <MDude> But does Braincursion perform in incursion?
00:17:03 <CakeProphet> what is that?
00:17:09 <CakeProphet> oh nevermind
00:17:34 <CakeProphet> uh, no.
00:17:43 <CakeProphet> braincursion should be more like brainloop or something.
00:22:32 -!- tiffany has quit (Quit: ZNC - http://znc.sourceforge.net).
00:24:35 -!- ive has joined.
00:53:59 <elliott> hi
00:57:59 <zzo38> What is "some" and "many" commands for Control.Applicative.Alternative supposed to mean? The description just says "One or more" and "Zero or more".
00:59:10 <oerjan> @src some
00:59:10 <lambdabot> some v = some_v
00:59:10 <lambdabot> where many_v = some_v <|> pure []
00:59:10 <lambdabot> some_v = (:) <$> v <*> many_v
00:59:24 <oerjan> @src many
00:59:24 <lambdabot> Source not found.
01:00:55 <oerjan> > some [1,2]
01:00:59 <lambdabot> mueval-core: Time limit exceeded
01:01:02 <oerjan> eek
01:01:13 <oerjan> :t some [1,2]
01:01:14 <lambdabot> forall t. (Num t) => [[t]]
01:01:18 <zzo38> I tried that. Using some or many on nonempty lists doesn't stop.
01:01:29 <oerjan> > take 5 $ some [1,2]
01:01:32 <lambdabot> mueval-core: Time limit exceeded
01:01:36 <oerjan> > take 1 $ some [1,2]
01:01:40 <lambdabot> mueval-core: Time limit exceeded
01:01:44 <oerjan> not at all, it seems
01:02:14 <oerjan> > take 1 $ many [1,2]
01:02:18 <lambdabot> mueval-core: Time limit exceeded
01:02:21 <oerjan> :t many
01:02:22 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f [a]
01:03:00 <oerjan> hm it may seem like it gives the empty list _last_
01:03:23 <oerjan> i suspect it's meant for parser-like things
01:03:52 <oerjan> if used in Parsec, many would probably mean the same as Parsec's many
01:04:13 <elliott> oerjan: Parsec has an Alternative instance nowadays
01:04:24 <elliott> it just defines+exports its own identically-named equivalents because <hysterical raisins>
01:04:25 <oerjan> yeah so it may use it directly
01:04:34 <zzo38> I did looked and found the "many" command in Parsec.
01:04:42 <elliott> oerjan: I suspect it overrides some = ourSum and many = ourMany
01:04:46 <elliott> since they're part of Alternative
01:04:55 <oerjan> ok
01:05:17 <monqy> except: it doesn't
01:06:30 <elliott> monqy: ?
01:06:40 <monqy> it doesn't put its many in the applicative instance
01:06:46 <monqy> its many still exists and gets exported though
01:06:55 <elliott> ok
01:06:58 <elliott> silly
01:07:15 <monqy> any instead of some it has many1
01:07:31 <zzo38> Does the Applicative many still work though?
01:07:32 <elliott> s/any/and/
01:07:43 <monqy> right
01:12:25 <zzo38> Using the Control.Applicative.many with Parsec does seem to work just as well as far as I can tell.
01:12:32 -!- tiffany has joined.
01:14:43 <CakeProphet> elliott: wow bitshifts are great
01:14:47 <CakeProphet> for music.
01:15:04 <elliott> ok
01:21:33 <oerjan> > let default = 1 in default
01:21:34 <lambdabot> <no location info>: parse error on input `default'
01:21:44 <oerjan> what is that a keyword for again
01:22:29 <monqy> I always forget
01:23:11 <elliott> oerjan: clsases
01:23:12 <elliott> classes
01:23:16 <elliott> its
01:23:17 <elliott> the worst keyword
01:23:33 <elliott> as in
01:23:37 <elliott> default (Double)
01:23:38 <elliott> or whatever
01:23:43 <oerjan> oh that one
01:23:45 <elliott> by default (ha) it's "default (Integer, Double)"
01:23:47 <elliott> it's only for Num
01:23:49 <elliott> it is therefore
01:23:50 <elliott> The Worst
01:24:03 <oerjan> well ghc extends it
01:24:32 <CakeProphet> 100*sin((t>>2)+(t>>7)+(t>>(7*sin(t/450|t|t>>5))))
01:24:37 <CakeProphet> suddenly I am a master of 8-bit noise music.
01:24:50 <oerjan> but right now it is ruining my variable naming
01:27:06 <elliott> oerjan: you're coding? :D
01:27:09 <elliott> SHOCK HORROR
01:27:30 <oerjan> well someone had the bad sense of suggesting Geom isn't TC
01:29:19 <elliott> > let forall x = x in forall 0
01:29:20 <lambdabot> 0
01:29:22 <elliott> nice
01:30:40 -!- Vorpal has quit (Ping timeout: 258 seconds).
01:31:32 <elliott> oerjan: btw http://www.haskell.org/haskellwiki/Keywords
01:31:58 <oerjan> hey if i wanted to actually look it up i would have done so already :P
01:32:26 <Patashu> CakeProphet: what does that sound like
01:32:38 <CakeProphet> http://www.bemmu.com/music/index.html
01:33:01 <CakeProphet> Patashu: note you may want to turn your volume down
01:33:04 <CakeProphet> if it's at full.
01:33:16 <Patashu> it's like 8bit breakcore
01:33:18 <CakeProphet> or adjust the first 100 to 75
01:33:21 <CakeProphet> your choice.
01:33:42 <CakeProphet> Patashu: play around with some of the numbers
01:33:43 <CakeProphet> it's fun.
01:35:01 -!- augur has quit (Remote host closed the connection).
01:35:09 <elliott> <CakeProphet> 100*sin((t>>2)+(t>>7)+(t>>(7*sin(t/450|t|t>>5))))
01:35:12 <elliott> this is reasonably interesting
01:36:24 <CakeProphet> 75*sin((t>>2)+(t>>7)+(t>>(63*sin(t/1000|t|t>>5))))
01:36:30 <CakeProphet> slight variation. a bit slower.
01:36:51 -!- ive has quit (Quit: leaving).
01:37:28 <Patashu> ((t>>8)&(t>>12))+sin(t) sounds like a telegraph
01:37:47 <elliott> CakeProphet: 100*sin(t^Math.sqrt(t))
01:37:49 <CakeProphet> Patashu: try using some odd numbers.
01:37:55 <CakeProphet> elliott: uh oh
01:37:58 <elliott> you will not regret it
01:38:20 <Patashu> that one is awesome
01:38:26 <CakeProphet> awww yeah
01:38:34 <CakeProphet> sqrt, good call.
01:38:36 <elliott> yeah i'm amazed how awesome that turned out
01:38:40 <CakeProphet> gets slower.
01:38:40 <elliott> CakeProphet: XOR on sqrt
01:38:43 <elliott> so it doesn't even make any sense
01:38:47 <elliott> it relies on the float representation
01:39:33 <CakeProphet> 100*sin(t^Math.sqrt(t/50))
01:39:38 <CakeProphet> slows it down
01:40:11 <elliott> CakeProphet: Patashu: 100*sin(Math.log(10*t)^Math.sqrt(10*(t%1024))<<8)
01:40:54 <elliott> CakeProphet: Patashu: 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<8)
01:40:55 <CakeProphet> haha nice
01:40:55 <Patashu> What the fuck
01:40:57 <elliott> 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<8)
01:40:59 <Patashu> How are you coming up with these so fast
01:40:59 <elliott> this one is even better
01:41:04 <CakeProphet> maths
01:41:05 <elliott> Patashu: i'm just fucking with shit
01:41:07 <CakeProphet> leet maths
01:41:09 <Patashu> Yeah so am I
01:41:12 <Patashu> But I come up with useless shit
01:41:14 <Patashu> Yours are so good
01:41:24 <elliott> lol this is complete coincidence I assure you
01:41:27 <monqy> better at fucking with shit than you is his middle name
01:41:28 <CakeProphet> bahahaha
01:41:30 <CakeProphet> second one is great.
01:41:31 <elliott> the genius there was using modulo to get something vaguely repetable
01:41:37 <CakeProphet> yes.
01:41:44 <CakeProphet> I hadn't consider using modulo
01:41:50 <CakeProphet> +ed
01:41:56 <CakeProphet> I've been using weird bitshift patterns
01:41:59 <CakeProphet> to get complex rhythms.
01:41:59 <elliott> oh man
01:41:59 <elliott> 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
01:42:03 <CakeProphet> modulo is something more regular.
01:42:23 <Patashu> damn that is so good
01:42:28 <CakeProphet> bahahaha
01:42:30 <elliott> Patashu: i'm as surprised as you are, let me assure you
01:42:59 <CakeProphet> | and ^ are very similar
01:43:02 <CakeProphet> in tonal quality
01:43:03 <CakeProphet> there.
01:43:17 <elliott> 100*sin(Math.sqrt(t)^Math.sqrt(10*(t%1024))<<(t/1024)) <-- this is a good beat
01:43:20 <elliott> think I'll lay something on top of this
01:44:05 <CakeProphet> it's very difficult to time these things in unison.
01:44:19 <Patashu> you don't need the Math.sqrt(t)^ part
01:44:23 <Patashu> it's entirely the second part doing it
01:44:26 <elliott> Patashu: oh neat
01:44:38 <elliott> it's a bit different like that, but I like it more
01:45:14 <CakeProphet> (t*((t>>8|t>>9)+(t>>10)&27)*100)
01:45:25 <Patashu> 100*sin(Math.log(100*(t%1024))<<(t/1024)) is kind of cool
01:45:26 <CakeProphet> change the 27 to any odd number for similar melodies but with new elements
01:46:05 <CakeProphet> so in an actual song for example you could start at 2
01:46:09 <CakeProphet> then 3, then 7, and so on
01:46:35 <CakeProphet> but using an even number produces a different rhythm and is kind of abrupt.
01:46:42 <CakeProphet> so odd is good to keep the continuity.
01:47:16 <elliott> (128*sin(Math.sqrt(10*(t%1024))<<(t/1024)))/cos(t>>9)
01:47:44 <CakeProphet> elliott is good at the beats, lol
01:47:51 <elliott> I'm just modifying this existing one :P
01:47:54 <elliott> yours is nice
01:48:19 <CakeProphet> also throwing in oscillators everywhere is good
01:48:24 <Patashu> 100*sin(Math.log(100*(t%1024))<<(t/1024))+50*cos(Math.sqrt(100*(t%1024))<<(t/1024))
01:48:25 <Patashu> breakcore track
01:49:03 <elliott> lol
01:49:07 <elliott> i like it
01:51:07 <elliott> tan(Math.sqrt(t%65536))*100
01:52:03 <elliott> this WILL break your speakers: tan(Math.sqrt(t%65536)+t)^Math.sqrt(t)
01:52:38 <CakeProphet> (128*sin(Math.sqrt(10*(t%1024))<<(t/(1024*tan(t/1500>>7)))))/cos(t>>9)
01:53:08 <Patashu> can you use ?: in this?
01:53:13 <elliott> yes
01:53:15 <elliott> but it's probably cheating :)
01:53:17 <Patashu> awesome
01:53:17 <Patashu> brb
01:53:24 <CakeProphet> throw some | or & in there for good measuer
01:53:25 <CakeProphet> (128*sin(Math.sqrt(10*(t%1024))<<(t/(1024*tan(t/1500>>7|8)))))/cos(t>>9)
01:53:28 <CakeProphet> lol
01:53:48 <CakeProphet> with no regard for precedence of course.
01:54:21 <Patashu> example of ?: usage
01:54:21 <Patashu> sin((t%8192)>4096?tan(Math.sqrt(t%4096)):Math.sqrt(10*(t%1024))<<(t/1024))*100
01:54:43 -!- augur has joined.
01:54:51 * elliott drops a dope-ass minimal track: (Math.sqrt(t%(t^~2))^Math.sqrt(t/~27))*100
01:54:52 <elliott> Have I uh
01:54:55 <elliott> Have I got my "lingo" correct
01:55:03 <elliott> Patashu: i like this
01:55:20 <monqy> your dope ass hurts my ears ow
01:55:34 <monqy> so much pitch
01:55:38 <CakeProphet> elliott: minimalist 8-bit dark ambient
01:55:40 <CakeProphet> or something.
01:56:13 <elliott> <CakeProphet> (128*sin(Math.sqrt(10*(t%1024))<<(t/(1024*tan(t/1500>>7|8)))))/cos(t>>9)
01:56:24 <elliott> I like how everyone is just progressively remixing my thing into an unrecognisable fuzz
01:57:34 <CakeProphet> it's only slightly fuzzy
01:59:59 <elliott> CakeProphet: Patashu: ((t%2048)*Math.sqrt(t/9))+(t*t*t*t)
02:00:06 -!- tiffany has quit (Quit: ZNC - http://znc.sourceforge.net).
02:02:31 <elliott> hmm
02:02:42 <elliott> CakeProphet: Patashu: you guys gotta produce something for me to remix, I'm having a writer's block :P
02:03:20 <Patashu> ok
02:03:21 <Patashu> sec
02:03:56 <elliott> HOLY SFUCKING SHIT
02:04:15 <elliott> Patashu: CakeProphet: TURN DONWN YOUR FUCKING SPEAKERS: sin(t/Math.E)*2048
02:04:30 <Patashu> why not just *100 instead
02:04:39 <elliott> because
02:04:39 <elliott> i was
02:04:40 <elliott> foolish
02:05:04 <CakeProphet> lol
02:05:10 <CakeProphet> (128*sin(Math.sqrt(10*(t%1024))<<(t/(1024*sin(Math.sqrt(10*(t%512))&(t>>8|t>>9)/5000)))))/cos(t>>9)
02:05:13 <CakeProphet> more remix
02:05:15 <CakeProphet> less fuzz
02:05:22 <elliott> challenge
02:05:25 <elliott> successfully use Math.random
02:05:28 <elliott> in a way that doesn't just add some noise
02:05:31 <elliott> CakeProphet: also that's great
02:05:33 <CakeProphet> I was about to say
02:05:36 <elliott> and note that Math.random
02:05:37 <CakeProphet> that's pretty much what random does
02:05:39 <CakeProphet> is white noise
02:05:39 <elliott> will change every single frame
02:05:45 <CakeProphet> unless you use it as a control signal
02:05:45 <elliott> CakeProphet: well yes but you can easily use randomness to like
02:05:50 <CakeProphet> and then it's still probably going to sound like noise.
02:05:50 <elliott> generate random beats
02:05:57 <elliott> it's just a matter of doing it in this tiny a system
02:06:32 -!- MDude has changed nick to MSleep.
02:06:35 <CakeProphet> well you can modulo random and number on the right-hand side of >> maybe
02:06:45 <elliott> gogogogogo do it
02:06:53 * elliott is working on new stuff
02:07:13 <elliott> GONNA DROP A RELEASE
02:07:15 <elliott> OR SO THEY SAY
02:07:16 <elliott> IN THE HOOD
02:08:07 <CakeProphet> elliott: I like how changing the cos() part of that one you made makes it sound completely different.
02:08:20 <CakeProphet> changing the bitshift amount
02:08:20 <elliott> it's cos of the cos
02:08:24 <CakeProphet> ...
02:09:07 <CakeProphet> I wonder what happens on zero divide
02:09:11 <CakeProphet> when cos(blah) = 0
02:09:23 <elliott> infinity
02:09:23 <elliott> probably
02:09:25 <elliott> it's floating point
02:09:33 <elliott> t/0 seems to come out as silence
02:09:40 <CakeProphet> makes sense.
02:11:28 <elliott> hmm
02:11:30 <elliott> function f(n){r=1;while(n)r*=n--;return r}
02:11:34 <elliott> does this factorial look right to everyone?
02:13:22 <zzo38> I think so.
02:13:54 <elliott> lol, I hung my browser with factorial :/
02:14:15 <Patashu> 50*sin(Math.sqrt(100*(t%1024))<<(t/768))+((t%8192)>4096?50*sin(Math.sqrt(100*((t)%1024)<<(t/1024))):0) this is sick
02:14:38 <CakeProphet> 50*sin((t>>3^t)+(t>>6)+(t>>Math.random(63)))
02:14:41 <CakeProphet> all glory to the hypnotoad
02:14:43 <elliott> Patashu: I can verify that this is indeed in desperate need of professional medical attention
02:14:48 <Patashu> XD
02:14:57 <elliott> CakeProphet: oe
02:14:57 <elliott> wo
02:14:58 <elliott> ow
02:15:38 <elliott> what's the common approximation to factorial?
02:15:40 <elliott> I forget
02:15:43 <Patashu> look it up
02:15:53 <elliott> :'(
02:15:59 <elliott> I was under the impression we were ``bros''
02:16:00 <elliott> :'(
02:16:02 <monqy> :'(
02:16:21 <Patashu> http://en.wikipedia.org/wiki/Stirling's_approximation
02:16:32 <elliott> right
02:17:24 <CakeProphet> elliott: challenge accepted: 50*sin((t>>5^Math.sqrt(t))&(t>>6)&(t>>Math.random(63)))
02:17:27 <CakeProphet> not noise
02:17:36 <CakeProphet> ...by someone's definition.
02:17:38 <Patashu> slight variation 50*sin(Math.sqrt(100*(t%1024))<<(t/768))+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t/2048))):0)
02:18:04 <elliott> sin(Math.pow(1.61803399,t)/Math.sqrt(5))*100
02:18:05 <elliott> lame
02:18:11 <elliott> CakeProphet: I like it
02:18:34 <zzo38> I think I made the Alternative instance for barrier monads. I think it is following the rule correctly, although it is not following the rule for MonadPlus, so it isn't MonadPlus.
02:18:44 <elliott> Patashu: I like
02:18:52 <Patashu> 50*sin(Math.sqrt(100*(t%1024)<<(t/2048))) this is the new part by itself
02:18:55 <elliott> <Patashu> slight variation 50*sin(Math.sqrt(100*(t%1024))<<(t/768))+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t/2048))):0)
02:18:59 <elliott> I like this a lot because it has such a clean sound
02:18:59 <Patashu> it goes doof doof doof doof then wobble wobble wobble then puretone puretone puretone
02:19:02 <zzo38> instance Alternative (Barrier f b) where { empty = Fail []; Unit x <|> _ = Unit x; Fail y <|> x = annotateFail y x; Barrier a c <|> x = Barrier a $ \y -> (c y <|> x); };
02:19:06 <elliott> like it was recorded on cassette
02:19:07 <elliott> not mud
02:19:24 <monqy> zzo38: what are the rules and how are they not followeing
02:19:26 <zzo38> annotateFail :: String -> Barrier f b t -> Barrier f b t; annotateFail [] x = x; annotateFail y (Fail []) = Fail y; annotateFail y (Fail x) = Fail $ y ++ "\RS" ++ x; annotateFail y (Unit x) = Unit x; annotateFail y (Barrier a c) = Barrier a $ annotateFail y . c;
02:19:30 <elliott> "\RS"?
02:19:41 <elliott> I am sceptical of that being a good idea?
02:19:41 <zzo38> "\RS" is the ASCII record separator code.
02:19:44 <monqy> having Fail at all is bizarre
02:19:59 <monqy> fail too
02:20:13 <elliott> CakeProphet: Patashu: So who's going to ruin this fun diversion by making some dubstep
02:20:24 <Patashu> I don't know how to make dubstep from first principles
02:20:32 <elliott> Thank god
02:21:03 <zzo38> It says that <|> is associative and empty is identity of <|> and I think it follows that with what I have.
02:21:19 <CakeProphet> elliott: dubstep is very unlikely
02:21:20 <zzo38> MonadPlus has addition rules which I do not think barrier monads have.
02:21:23 <CakeProphet> as that would require a filter of some kind.
02:21:26 <CakeProphet> 50*sin(Math.sqrt(100*(t%1024))+(t/768))+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t/2048))):Math.random(1000))
02:21:30 <CakeProphet> however by changing some stuff in Patashus
02:21:38 <CakeProphet> we now have 8-bit psytrance
02:22:06 <zzo38> Do you think I am correct about this things?
02:22:08 <Patashu> the Math.random(1000) doesn't seem to do anything
02:22:12 <CakeProphet> nope
02:22:28 <CakeProphet> it probably doesn't happen enough to be noticable.
02:22:41 <CakeProphet> *noticeable
02:22:43 <CakeProphet> stupid English
02:22:47 <Patashu> no it like
02:22:49 <Patashu> literally does nothing
02:22:49 <Patashu> XD
02:23:01 <CakeProphet> right... I just explained why that could be..
02:23:09 <zzo38> Are those sound effect in JavaScript?
02:23:16 <elliott> yes, with http://www.bemmu.com/music/index.html
02:23:23 <elliott> a remix of Patashu: (51|((t%80000)>>9))*sin(Math.sqrt(161.8*(t%2048)<<(t/1024)))
02:23:49 <elliott> CakeProphet: I really like that
02:25:13 <monqy> zzo38: the additional rules being mzero>>=f=mzero and v>>mzero=mzero ?
02:25:21 <CakeProphet> elliott: let me know when you come up with a distortion function and a variable-frequency lowpass filter connected to a LFO input.
02:25:21 <elliott> remix of CakeProphet 50*sin(Math.sqrt(100*(t%8192))+t)+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t>>9))):Math.random(1000))
02:25:26 <CakeProphet> and then we can make some dubstep
02:25:28 <zzo38> To me doesn't seem good way, it doesn't even work very well, it doesn't play/stop properly, etc. You can use SoX for sound effect. If you need to, you can use ImageMagick -fx command to specify and output raw sound pipe to SoX input raw
02:25:31 <zzo38> monqy: Yes.
02:25:37 <elliott> CakeProphet: dude you need none of that
02:25:48 <CakeProphet> sure you do
02:25:54 <elliott> like
02:25:54 <Patashu> What I want to figure out
02:25:57 <elliott> <elliott> 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
02:26:01 <elliott> CakeProphet: do you see any multitracking here
02:26:04 <elliott> any filters
02:26:07 <Patashu> Is how to take a beat like sin(Math.sqrt(10*(t%1024))<<8) and apply it to a conditional that creates a rhythm out of it
02:26:10 <elliott> no, you just see something which happens to sound perfect
02:26:11 <Patashu> like xx.xx.x.
02:26:19 <elliott> we don't need to create dubstep from first principles
02:26:24 <elliott> we just need to accidentally fall onto a pile of dubstep
02:26:32 <CakeProphet> ....not going to happen.
02:26:41 <elliott> <Patashu> Is how to take a beat like sin(Math.sqrt(10*(t%1024))<<8) and apply it to a conditional that creates a rhythm out of it
02:26:43 <elliott> this is not much of a beat
02:26:51 <elliott> CakeProphet: come on we just need something that sounds vaguely like wub
02:26:51 <Patashu> it isn't?
02:27:02 <CakeProphet> noep
02:27:08 <CakeProphet> we're in time domain, dawgs.
02:27:08 <elliott> Patashu: play it
02:27:52 <CakeProphet> also I'm not going to lie I do enjoy things that are dubstep-influenced
02:27:57 <CakeProphet> but find dubstep itself to be very very boring.
02:28:13 <elliott> i call this one "poop machine": (sin(t%9999)*(t>>9)) &~ t
02:28:17 <CakeProphet> oh no.
02:28:21 <elliott> kind of industrialesque
02:28:23 <elliott> by which i mean
02:28:24 <elliott> it sounds like shit
02:28:42 <elliott> <elliott> remix of CakeProphet 50*sin(Math.sqrt(100*(t%8192))+t)+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t>>9))):Math.random(1000))
02:28:45 <elliott> CakeProphet: did you like this i think it is: great
02:28:51 <Patashu> Hmm
02:28:54 <Patashu> I grabbed the wrong thing
02:29:02 <Patashu> Oh I know
02:29:04 <Patashu> I forgot the 100*
02:29:06 <Patashu> Lol
02:29:23 <CakeProphet> elliott: I found the high-pitched beat kind of annoying >_>
02:29:34 * CakeProphet is a tough customer
02:29:35 <elliott> CakeProphet: Dude, my ears are practically bleeding. live the music.
02:29:52 <CakeProphet> poop machine is good though
02:29:59 <Patashu> (t%2048>1024)||(t%4096>1024)?100*sin(Math.sqrt(10*(t%1024))<<8):0 here's an example
02:30:04 <Patashu> it goes doofdoofdoofpausedoofdoofdoofpause
02:30:15 <zzo38> monqy: If I did MonadPlus, the empty that I defined for Alternative, it follows the first rule of MonadPlus but not the second one. At least, I think it is.
02:30:33 <CakeProphet> Patashu: I find 75 or 50 to be a good number for amplitude
02:30:34 <monqy> zzo38: oh. I don't know how Barrier works, so
02:30:35 <elliott> Patashu: (t%4096<999)?0:(100*sin(Math.sqrt(10*(t%1024))<<8))
02:30:36 <CakeProphet> 100 is usually too loud.
02:30:40 <Patashu> turn your sperakers down then
02:30:43 <CakeProphet> I do.
02:30:54 <Patashu> elliot: o
02:31:04 <CakeProphet> ?: is totally cheating.
02:31:04 <lambdabot> Maybe you meant: . ? @ v
02:31:09 <Patashu> no it isn't
02:31:10 <Patashu> it's useufl
02:31:11 <CakeProphet> somehow
02:32:32 <CakeProphet> (Math.round(sin(t/500)))?0:(100*sin(Math.sqrt(10*(t%1024))<<8))
02:32:34 <CakeProphet> vaguely house like
02:33:00 <CakeProphet> and now suddenly
02:33:01 <CakeProphet> (Math.round(sin(t/250)))?0:(100*sin(Math.sqrt(10*(t%1024))<<8))
02:33:03 <CakeProphet> not sounding like shit
02:33:43 <elliott> Patashu: ((t%(4096+(t>>9))<999)?(t%9999)/9999:1)*(100*sin(Math.sqrt(10*(t%1024))<<8))
02:34:16 <elliott> ((t%(4096+(t>>9))<999)?(t%9999)/9999:(t/99999))*(100*sin(Math.sqrt(10*(t%1024))<<8))
02:34:49 <elliott> ((t%(4096+(t>>9))<999)?(t%9999)/9000:(Math.log(t)/999))*(100*sin(Math.sqrt(10*(t%1024))<<8))
02:35:04 <elliott> CakeProphet: I like those
02:37:26 <elliott> Patashu: Math.round(sin(t/(250+(t>>9)))*(t%9999)/999)?0:(100*sin(Math.sqrt(10*(t%1024))<<8))
02:37:28 <zzo38> monqy: Unit x >>= f = f x; Fail x >>= f = Fail x; Barrier a c >>= f = Barrier a $ c >=> f; So if you did mzero = Fail [] like I have empty = Fail [] then the first law is obviously by the definition but the second one doesn't go.
02:37:39 <Patashu> New breakcore track 100*sin(Math.sqrt(10*(t%1024))<<((t/512)%1024))
02:38:19 <elliott> I think a primary problem here is the fact that they essentially have to be three second soundbites :P
02:38:23 <zzo38> And I don't think there can be other definitions of mzero and mplus for barrier monad that satisfies the definition either.
02:38:24 <elliott> Or else just degenerate into huge messes
02:39:00 <elliott> CakeProphet: Patashu: Challenge: Beat with no trig
02:39:16 <Patashu> I can approximate sin using a taylor expansion
02:39:17 <Patashu> Your move
02:39:26 <elliott> Patashu: Without cheating
02:40:14 <CakeProphet> halp no trig
02:40:16 <CakeProphet> (Math.round(sin(t/250)))?0.1*Math.random()|t:(100*sin((Math.sqrt(10*(t%1024))<<8)+(t>>7|t>>9)))
02:40:19 <CakeProphet> have some more psytrance
02:40:39 <Patashu> hmm
02:40:39 <Patashu> http://www.youtube.com/watch?v=GtQdIYUtAHg
02:40:42 <Patashu> we need to do some of these
02:40:53 <elliott> CakeProphet: are you doing it? :P
02:40:54 <Patashu> holy shit they're good
02:40:59 <elliott> Patashu: I think we've surpassed most of them tbh
02:41:02 <elliott> the ones in the second video are better
02:41:03 <Patashu> idk
02:41:05 <Patashu> second one is awesome
02:41:12 <elliott> well ok my multitrack thing surpassed 'em :D
02:42:10 <elliott> CakeProphet: Patashu: basically the problem with trig is that your tracks end up repeating very rapidly...
02:42:12 <elliott> because of the oscillation
02:42:18 <elliott> it's cool to have stuff that changes slightly over time
02:43:32 <CakeProphet> elliott: 50*Math.round(t>>7&t>>9)*Math.exp(t%200,2) no trig
02:43:59 <elliott> CakeProphet: j'approuve
02:44:21 <CakeProphet> oh you meant just for the rhythm?
02:44:22 <oerjan> zzo38: i think the second law is considered somewhat optional, as many monads don't follow it
02:44:25 <elliott> 50*Math.round(t>>7&t>>9)*Math.exp(t%2000,2) this is catchy
02:44:44 <CakeProphet> elliott: ...lol
02:44:44 <elliott> CakeProphet: well I mean
02:44:54 <elliott> CakeProphet: it'd be nice to have beats with less trig so that they evolve over time
02:45:14 <CakeProphet> wait am I even using exp correctly
02:45:22 <elliott> you're squaring
02:45:27 <CakeProphet> okay good.
02:45:32 <elliott> Math.PI*99*Math.round(t>>7&t>>9)*Math.exp(t%20,2)
02:45:35 * CakeProphet doesn't know JS
02:46:10 <CakeProphet> why PI?
02:46:24 <Patashu> wow
02:46:25 <Patashu> t*(t>>8&t>>12)
02:46:28 <Patashu> this one is so simple and so interesting
02:46:40 <elliott> wow
02:46:45 <elliott> did you invent that one?
02:47:11 <CakeProphet> a lot of the ones in the video resemble that.
02:47:13 <Patashu> yeah
02:47:16 <Patashu> I'm trying out ones like in the video
02:48:18 <elliott> CakeProphet: Patashu: Math.pow(Math.log(t),(t>>8&t>>12))
02:48:23 <elliott> academic music for serious people
02:49:45 <elliott> i think i will remix something next, so i'll just WAIT HERE
02:50:03 <CakeProphet> t * ((t>>12|t>>8)&63&t>>4)
02:50:40 <CakeProphet> elliott: so prestiguous
02:50:43 <CakeProphet> your music sir.
02:50:57 <CakeProphet> so yeah this one appeared in my clipboard I don't think I made it.
02:51:03 <elliott> CakeProphet: I don't even release CDs any more, I just publish it in journals.
02:52:04 <elliott> CakeProphet: t * ((t>>12|t>>8)&&t>>4)
02:52:11 <CakeProphet> (sin(t/20)*((t>>8|t>>9)|(t>>10|t>>9))+(t>>12)*100)
02:52:20 <elliott> 99 * ((t>>12|t>>9)&&t>>4)
02:52:20 <elliott> eerie
02:52:40 <elliott> CakeProphet: it's like a toy piano from hell
02:52:49 <CakeProphet> elliott: spooooky ekrkwierjijij AahH
02:53:02 <elliott> rip
02:53:30 <elliott> (sin(t/90)*((t>>0|t>>9)|(t>>10|t>>99))+(t>>1)*10)
02:53:35 <elliott> i call it "mud"
02:55:07 <CakeProphet> changing the | to + is interesting: (sin(t/20)*((t>>8|t>>9)+(t>>10|t>>9))+(t>>12)*100)
02:55:10 <CakeProphet> makes it much noisier
02:55:13 <CakeProphet> but same melody
02:55:37 <CakeProphet> elliott: I've made something very similar to this before
02:55:40 <elliott> well + is just like | with more interference
02:55:43 <CakeProphet> while fucking around with other things.
02:55:59 <CakeProphet> yes that's what I've gathred so far
02:56:08 <CakeProphet> if I use + instead of | I get more noise.
02:56:31 <CakeProphet> also what the hell does t >> 0 even do
02:56:34 <elliott> it's obvious if you realise that | is bitwise saturation arithmetic
02:56:36 <elliott> t >> 0 = t
02:56:36 <Patashu> nothing
02:56:37 <elliott> :p
02:57:18 <pikhq> http://en.wikipedia.org/wiki/Kellogg%E2%80%93Briand_Pact
02:57:22 <pikhq> War is illegal in the US.
02:57:29 <pikhq> (and many other nations)
02:57:37 <elliott> "except in matters of self-defense"
02:57:59 <pikhq> Still fucks up many US actions.
02:58:20 <pikhq> e.g. every single one since then but the Japanese front of WWII.
02:58:22 <elliott> CakeProphet: Patashu: challenge: a beat with more than one actual beat
02:58:30 <elliott> as in
02:58:31 <elliott> two beat sounds
02:58:34 <CakeProphet> elliott: evil mud monster the remix: (sin(t/90)*((t>>0|t>>9)>>(t>>10|t>>99))>>(t>>1)*10)
02:58:42 <elliott> oh dear, why not remix something good
02:58:54 <CakeProphet> lower the 99 for different sounds
03:00:08 <elliott> I think it's finally time for me to start remixing myself.
03:00:25 <CakeProphet> (sin(t/90)*((t>>1|t>>9)>>(t>>11|t>>99))>>(t>>1)*10)
03:00:31 <CakeProphet> this one is a bit more suspenseful
03:00:35 <CakeProphet> and sounds more like an evil monster.
03:00:51 <CakeProphet> no idea how it's reverbing but I think it had to do with millions of >> everywhere
03:01:05 <elliott> I should name 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024)), it's totally my masterpiece so far
03:01:28 <CakeProphet> yes it's great.
03:01:59 <zzo38> I think you should do, make it not JavaScript or web-browser, and allow you to include MML as well as the mathematical formulas.
03:02:22 <elliott> CakeProphet: Patashu: 90*cos(Math.log(9*(t%9))^Math.sqrt(9*(t%4201))<<(t/1024))
03:02:29 -!- DHeadshot has quit (Read error: Connection reset by peer).
03:02:47 -!- DH____ has joined.
03:03:38 <CakeProphet> altering the %9 leads to interesting results
03:03:54 <elliott> 90*sin(Math.sqrt(9*(t%4201))<<(t/1024))
03:04:28 <CakeProphet> oh neat.
03:05:37 <elliott> CakeProphet: Patashu: 90*sin(Math.sqrt(9*(t%4201))<<(t/9999))
03:05:48 <elliott> at twenty-one seconds in
03:05:49 <elliott> strays
03:05:50 <elliott> KIND OF
03:05:54 <elliott> close
03:05:55 <elliott> to something that might
03:05:56 <elliott> VAGUELY
03:05:58 <elliott> be described
03:05:59 <elliott> as RELATED
03:06:06 <elliott> to SOMETHING THAT SOUNDS REMOTELY LIKEdubstep
03:06:16 <elliott> sorry twenty-two
03:06:19 <CakeProphet> ...only in that it has a slow half-time-like rhythm
03:06:24 <CakeProphet> also: 90*sin(Math.sqrt(9*(t%4201))<<(t/1024))+35*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
03:06:26 <elliott> IT ALSO SOUNDS SORT OF LIKE "WUB" MAN
03:06:38 <CakeProphet> Cakeprophet's shitty remix of elliott's grand opus that's actually just adding the two together and changing volume.
03:06:50 <elliott> CakeProphet: I like how the beat is totally broken
03:07:00 <CakeProphet> only a little
03:07:14 <CakeProphet> that's why I made one really soft
03:07:16 <CakeProphet> so that didn't clash
03:07:17 <elliott> Patashu hasn't released anything in a while.
03:07:54 <CakeProphet> 90*sin(Math.sqrt(9*(t%4201))<<(t/1024))+50*Math.random()*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
03:07:57 <CakeProphet> for best results
03:07:58 <CakeProphet> free vinyl crackle.
03:08:03 <CakeProphet> true hipster music.
03:09:04 <elliott> CakeProphet: beautiful. :p
03:09:04 <CakeProphet> well maybe if you made the modulos share common factors...
03:09:10 <CakeProphet> then it would sync the beats more?
03:09:25 <CakeProphet> er, not share common factors.
03:09:29 <CakeProphet> one be a multiple of the other
03:09:31 <CakeProphet> help better wordage.
03:10:06 <elliott> do you think one day people will like
03:10:09 <elliott> post comments on youtube:
03:10:52 <elliott> Today's teens listen to SHIT like sin(t)/99 and Math.log(Math.PI)|4201. Thumbs up if you remember REAL music. You say t<<9>>0, we say CAKEPROPHET!
03:11:18 <elliott> rare eight-bit PCM pressings of the innovative thirty-second compositions that founded the genre of shitcore
03:11:24 <CakeProphet> yes we are clearly masters of our craft.
03:11:28 <CakeProphet> also
03:11:36 <CakeProphet> you know this means we totally need to write something for Haskell.
03:11:45 <elliott> We're like Delia Derbyshire, if Delia Derbyshire was a talentless hack
03:12:32 <CakeProphet> so that you can combine things like this, sequence them, insert certain parameters for a number of measures and then switch to different parameters, etc.
03:12:43 <elliott> Why would you want to tarnish the beautiful purity
03:12:53 <CakeProphet> for science!
03:13:16 <CakeProphet> I didn't realize bitshift was pure and floating point hacks was pure.
03:13:36 <CakeProphet> dfgodfieo49w4oi4j4to4to94t9otuw94ut9wu4tuuuuuuuuu9tw9utwu9twutwu9tw
03:13:49 <elliott> Would Reddit be better off without r/jailbait, r/picsofdeadbabies, etc? What do you honestly think? (self.AskReddit)
03:13:52 <elliott> CakeProphet: what
03:14:07 <CakeProphet> a dead baby is fine.
03:14:29 <CakeProphet> jailbait is fine.
03:14:33 <CakeProphet> both good things for the world.
03:14:38 <CakeProphet> thus good enough for reddit.
03:15:04 <CakeProphet> http://www.anencephalie-info.org/e/advice.php
03:15:09 <CakeProphet> advice on taking dead baby pics.
03:15:36 <CakeProphet> A picture can even be the only tangible memory of what your baby looked like. For siblings who weren’t been born or were too young at the moment of the baby’s death, it’s important to be able to show them a picture saying : "this was your brother, your sister."
03:15:47 -!- hagb4rd has quit (Ping timeout: 248 seconds).
03:16:01 <CakeProphet> "this was your brother as his entire body shut down from <insert horrible fate>"
03:16:11 <CakeProphet> good family moments.
03:16:57 <elliott> "It is with this in mind that we have made the choice to share the stories of the brief, but wonderful lives of babies with anencephaly."
03:16:58 <elliott> ah.
03:17:09 <CakeProphet> If your baby is stillborn
03:17:10 <CakeProphet> Take pictures nevertheless !
03:17:17 <CakeProphet> good advice
03:17:27 <CakeProphet> excellent material for r/picsofdeadbabies
03:21:45 <CakeProphet> it seems that no what you do with random()
03:21:49 <CakeProphet> it just introduces noise.
03:22:06 <CakeProphet> even as a conditional
03:25:48 <elliott> CakeProphet: well the important thing to remember is that it changes every t
03:29:05 <elliott> yay i think mchost can get multiplayer support soon
03:29:12 <elliott> CakeProphet: Patashu: CONTRACTUALLY OBLIGATED CLAPPING PLS
03:30:10 <CakeProphet> elliott: clap clap clap t*(Math.round(sin(t/45))?Math.exp(sin((t>>63)/4000), 2):(t>>3)>>(t>>9))
03:30:18 <CakeProphet> best clap
03:30:38 <elliott> i was expecting clap noises
03:31:00 <CakeProphet> nope
03:31:05 <CakeProphet> you get psychedelic clapping
03:31:14 <CakeProphet> it's similar but more like acid.
03:33:40 -!- tiffany has joined.
03:36:56 -!- SgeoN1 has quit (Read error: Connection reset by peer).
03:36:59 -!- SgeoN2 has joined.
03:46:39 <CakeProphet> guess the song: wobwobwobWOBWOBWOBwobwobwobWOBWOBWOBW
03:47:33 <elliott> theme from titanic
03:47:47 <CakeProphet> close
03:48:13 <elliott> thriller?
03:48:52 <CakeProphet> thrieller DUBSTEP REMIX.
03:49:39 <CakeProphet> I remember when only cool kids knew about dubstep.
03:49:43 <elliott> http://www.youtube.com/watch?v=YhjnKnFp1Cs
03:49:44 <elliott> art.
03:49:46 <CakeProphet> like me.
03:50:12 <CakeProphet> I enjoy the song Genesis by Justice
03:50:14 <CakeProphet> set to Thriller
03:50:14 <elliott> http://www.youtube.com/watch?v=IWuPd0fHdyc
03:50:16 <CakeProphet> there's a video of such
03:50:17 <elliott> omg this is so bad.
03:50:31 <elliott> YOU KNOW IT'S KNOW IT'S KNOW IT'S KNOW IT'S KNOW IT'S KNOW IT'S THRILLER NIGHT
03:50:37 <elliott> this is impressively bad
03:50:49 <CakeProphet> this definitely isn't dubstep style as the person claims.
03:50:58 <elliott> dubstep, n. anything bad
03:51:01 <CakeProphet> okay now it is.
03:52:31 <CakeProphet> Noisia's new stuff is an example of something that dubstep-influenced but also not shit.
03:52:36 <CakeProphet> *this is
03:53:31 <CakeProphet> also Pretty Lights
03:56:21 -!- Patashu has quit (Ping timeout: 244 seconds).
03:57:17 <CakeProphet> http://www.youtube.com/watch?v=GTG7TPlvpMI
03:57:24 <CakeProphet> listen to ze dubstep-esqueness in the middle
04:02:51 -!- Patashu has joined.
04:05:41 <CakeProphet> sup
04:08:23 <elliott> hello
04:12:00 <zzo38> I can figure out things about relation between list monad and barrier monad when using collect to convert from barrier monad to list monad. Such as, (x : y) corresponds to (yield x >> y) and (=<<) corresponds to (rebind) and (map) corresponds to (flip convert id)
04:14:26 <zzo38> And (join . repeat) corresponds to (many) although the former runs faster (at least in GHCi)
04:15:36 <zzo38> Do you understand that? What are these things would be in the mathematical point of view?
04:20:12 <zzo38> What would they be called in mathematics?
04:26:22 <CakeProphet> homomorphisms? probably not.
04:27:38 <CakeProphet> isomorphisms?
04:28:08 -!- tiffany has quit (Remote host closed the connection).
04:28:39 <zzo38> It is not really isomorphic because of some differences such as the working of the return type of barrier monads. While the collect operation does not use the return type, it can still be used in other operations.
04:29:39 <zzo38> But it work if you never care about the return type, I guess. You could have uncollect to do the reverse operation too, I think; but still these things are missing, so, I think that means it is forgetful operations
04:31:44 <zzo38> Is that it?
04:32:16 <CakeProphet> maybe you have a monomorphism from lists to barriers then.
04:32:25 <CakeProphet> injective but not bijective.
04:32:43 <zzo38> OK.
04:33:24 <zzo38> And they are both monads. Does that also called something else specific in mathematics?
04:35:00 <CakeProphet> no clue.
04:36:37 <zzo38> Instead of (or as well as) saying (x : y) to (yield x >> y) you could also say (return) to (yield) and (++) to (>>)
04:36:45 <CakeProphet> http://en.wikipedia.org/wiki/Natural_transformation
04:36:47 <CakeProphet> this looks relevant.
04:37:05 <zzo38> The barrier monad program is a literate program, so it is also a report about it. That mean, I should also have these kind of things about the mathematics mentioned in the report!
04:39:34 <CakeProphet> you more or less have a morphism from an endofunctor to another endofunctor.
04:40:26 <CakeProphet> wait why am I pretending to know anything about category theory.
04:41:34 <zzo38> Is the eta described there the same as or related to the eta for monads?
04:42:12 <CakeProphet> no I don't think it's the exact same thing.
04:42:31 <CakeProphet> it's just that the eta for monads is a natural transformation.
04:42:45 <zzo38> Yes that is what I thought.
04:43:33 <zzo38> I suppose I can even include commutative diagrams in the report; the TeXbook does describe how to make them.
04:43:43 <zzo38> (That is, would I need commutative diagrams.)
04:43:45 <CakeProphet> everything in category theory seems really simple
04:43:54 <CakeProphet> it's just that there's a lot of terminology.
04:45:15 <zzo38> That is probably because there is a lot of things that can be done with category theory.
04:47:36 -!- itidus20 has left ("Leaving").
04:48:20 <zzo38> Is that why?
04:50:02 <CakeProphet> no clue.
04:50:24 <CakeProphet> the only thing I know of that's been "done" with category theory is Haskell.
04:50:31 <elliott> ...
04:50:35 <CakeProphet> elliott: :)
04:51:09 <CakeProphet> it's interesting to note
04:51:14 <CakeProphet> that I am not actually aware of all things.
04:51:22 <CakeProphet> this may be surprising.
05:19:56 <oerjan> http://oerjan.nvg.org/esoteric/GeomTM.hs
05:20:09 <oerjan> not _really_ tested
05:21:36 -!- zzo38 has quit (Remote host closed the connection).
05:32:45 -!- augur has quit (Remote host closed the connection).
05:33:00 <oerjan> now linked from wiki
05:34:54 <monqy> It's sad when languages' power don't even come from their gimmicks :(
05:35:01 <monqy> but rather something boring
05:35:02 -!- aloril has quit (Ping timeout: 276 seconds).
05:35:18 <oerjan> oh
05:35:45 <monqy> :'(
05:36:55 <oerjan> well it is _possible_ you could use the geometric points more usefully. unfortunately i don't quite understand that part of the spec, there seems to be parts missing.
05:38:59 <oerjan> and besides the floating point scares me away a bit :P
05:48:47 -!- aloril has joined.
05:50:06 <elliott> oerjan: redundant dollar sign
05:50:13 <elliott> swapBlocks m n = unwords $ [cmd ++ show i |
05:50:41 <elliott> also, one day I will figure out how you decide when to put a type signature or not, and if so how many blank lines go between the signature and the definition :D
05:51:50 <elliott> oerjan: this is me appreciating your code btw
05:55:25 <elliott> oerjan: IM APEICEAITNG
05:57:31 <elliott> monqy: tell oerjan rude not talk
05:59:53 <monqy> oerjan: rude not talk
06:00:02 <oerjan> elliott: oh right, that $ got left over from a more pointless version :P
06:00:09 <elliott> monqy: wow it work
06:00:16 <oerjan> i was making food
06:00:17 -!- derrik has joined.
06:00:19 <elliott> no
06:00:22 <elliott> it was definitely monqy
06:00:43 <elliott> but seriously, <elliott> also, one day I will figure out how you decide when to put a type signature or not, and if so how many blank lines go between the signature and the definition :D
06:00:45 <elliott> how do you do it :P
06:00:50 <elliott> pls. don't say it's just arbitrary
06:00:52 <elliott> i would sads
06:01:32 <oerjan> i guess there are occasions when silence is better.
06:01:52 <elliott> oh no
06:02:18 <elliott> ?undo f m n = unwords [if i == m then "t" else "nil" | i <- [1 .. n-1]]
06:02:19 <lambdabot> f m n = unwords concatMap (\ i -> [if i == m then "t" else "nil"]) [1 .. n - 1]
06:02:24 <elliott> lambdabot...
06:02:41 <elliott> ?pl f m n = unwords (map (\ i -> if i == m then "t" else "nil") [1 .. n - 1])
06:02:41 <lambdabot> f = (unwords .) . (. (enumFromTo 1 . subtract 1)) . map . flip flip "nil" . flip flip "t" . (if' .) . (==)
06:02:42 <oerjan> i guess i just forgot outOf, and the final tests were later and i don't think they need any
06:02:46 <elliott> ?pl f m n = map (\ i -> if i == m then "t" else "nil") [1 .. n - 1]
06:02:46 <lambdabot> f = (. (enumFromTo 1 . subtract 1)) . map . flip flip "nil" . flip flip "t" . (if' .) . (==)
06:02:50 <elliott> ?pl f n m = map (\ i -> if i == m then "t" else "nil") [1 .. n - 1]
06:02:51 <lambdabot> f = flip (map . flip flip "nil" . flip flip "t" . (if' .) . (==)) . enumFromTo 1 . subtract 1
06:03:09 <elliott> ?pl f n m = map (== m) [1 .. n - 1]
06:03:09 <lambdabot> f = flip (map . (==)) . enumFromTo 1 . subtract 1
06:03:10 <oerjan> and i got so involved in how much space to put around _comments_ that i forgot about the signatures.
06:04:01 <elliott> m `outOf` n
06:04:01 <elliott> | m >= 0 && m < n = unwords . map (bool "t" "nil" . (== m)) $ [1 .. n-1]
06:04:01 <elliott> | otherwise = error "Bit position out of range"
06:04:02 <elliott> oerjan: hth :P
06:05:03 <oerjan> elliott: also it was never _quite_ that pointless :P
06:05:16 <elliott> oerjan: I was improving an entirely different function >:(
06:05:23 <elliott> bool really needs to be in Data.Bool
06:05:46 <oerjan> i actually decided not to make it too advanced
06:06:27 <elliott> oerjan: i am not being serious :P
06:06:33 <elliott> list comprehensions are really nice tbh
06:06:45 <elliott> I keep meaning to try and use an idiom I saw in Glasgow source in my code
06:06:56 <elliott> which is using case on list comprehensions to do various searches and the like
06:07:30 <elliott> case [x | x <- xs, x > 4, x `mod` m == 0] of [x] -> ...; [x,y] -> ...; _ -> error ...
06:08:35 <oerjan> elliott: i changed a few things :P
06:08:52 <elliott> oerjan: in-place? without keeping a copy of the old one available? :(
06:08:55 <elliott> WAIT IT IS ON MY HARD DRIVE
06:08:59 <elliott> ANYONE WHO WANTS THE "REAL SHIT" ...
06:09:00 <elliott> CONTACT ME ; )
06:09:04 <elliott> (i am referring to drug)
06:10:16 <elliott> oerjan: too old-school for branch patterns, I see
06:10:17 <oerjan> yeah that vcs stuff never got a hold on me
06:10:26 <oerjan> branch patterns?
06:10:28 <elliott> erm
06:10:29 <elliott> bang patterns
06:10:34 <elliott> the function was named branch :'(
06:10:36 <elliott> im tire
06:10:39 -!- augur has joined.
06:10:41 <oerjan> heh
06:10:42 <elliott> (im a slep son)
06:10:52 <oerjan> i didn't want to add any extensions
06:11:05 <elliott> hey oerjan
06:11:06 <elliott> encodeTM table initialState runOffLeftEnd paddingValue input
06:11:06 <elliott> = unlines $ [
06:11:21 <elliott> [oerjan's blood boils, becomes soup; soup is fed to children, tastes delightful]
06:11:58 <oerjan> argh that $ was introduced when i tried to find out how to avoid a double newline before right_end
06:12:39 <oerjan> gefixt
06:13:03 <elliott> oh you use null here..........i want to eliminate this call to null....
06:13:06 <elliott> death to booleans
06:13:34 <oerjan> i'm afraid that may not make it any nicer inside a lambda
06:13:46 <elliott> oerjan: i don't mean just turning it into the obvious pattern match
06:13:54 <elliott> I mean making it so that you don't have to specifically check for the null case :P
06:14:21 <oerjan> but i _added_ the null case in order not to have to pass a halting_states parameter
06:14:28 <elliott> heh
06:14:30 <elliott> ok then :P
06:15:01 <elliott> i note that you inconsistently use camelcase and _s (it isn't the glasgow globalName and local_name)
06:15:09 <elliott> (believe it or not, i like this code)
06:15:36 <oerjan> i thought i used camelcase for the haskell and _ for the Geom
06:15:49 <elliott> well ok
06:15:56 <elliott> i guess that is a convention of sorts :P
06:16:28 <oerjan> the first two program lines are snatched from another Geom program on the wiki
06:16:47 <elliott> heh
06:17:18 <oerjan> since i didn't understand the geometry part, i needed neq as an easy way to get a nil :P
06:18:13 <oerjan> and the drop was useful otherwise as well
06:20:00 * oerjan adds a comment about that
06:21:59 <oerjan> oh right, i used _ for the haskell functions which defined geom commands of the same name
06:21:59 <elliott> heh http://www.haskell.org/ghc/survey2005-summary
06:22:06 <elliott> oerjan: that's what I interpreted your sentence as
06:22:14 <elliott> "Until now, we considered GHC's error messages to be rather good"
06:22:15 <elliott> r u srs
06:22:36 <elliott> I think GHC might have the worst error reporting of any "mainstream" language
06:22:42 <elliott> 's main implementation
06:22:54 <monqy> "mainstream"
06:23:18 <elliott> well Haskell is not really mainstream mainsteram.
06:23:22 <elliott> mainstream
06:23:31 <elliott> but it's certainly popular.
06:23:33 <monqy> g++ compile errors are bad right? it's been a long time since I've seen them though
06:23:41 <elliott> oh, that's true
06:23:49 <elliott> that's mostly the STL's fault though :P
06:24:11 <elliott> Gregor: Resident D Expert (Sufferer): Why the hell is D so high on TIOBE? I know TIOBE is complete bullshit, but nobody fucking uses D.
06:24:31 <elliott> I guess it IS behind RPG and Ada though :P
06:26:24 <elliott> monqy: oerjan: have you ever looked at the ghc source btw, i did yesterday and it's utterly terrifying
06:26:40 <elliott> they have their own string type implemented with ForeignPtr that stores a hash of itself so equality is fast... so weird...
06:27:01 <monqy> I kind of did yesterday but not really at all
06:27:36 <oerjan> i think the closest i've been was some ghc api modules
06:27:49 <elliott> I like how they have their own mini-mtl
06:28:02 <elliott> well ok it's just ID and MonadIO but still
06:28:16 <elliott> ooh they have their own generic exception monad typeclass
06:28:21 <elliott> ~fancy~
06:28:51 <elliott> oh my good lord
06:28:58 <elliott> monqy: oerjan: ok no wait FastString isn't the worst
06:28:59 <elliott> they have
06:29:00 <elliott> wait for it
06:29:02 <elliott> FastBool
06:29:09 <elliott> type FastBool = Int#
06:29:09 <elliott> fastBool True = 1#
06:29:09 <elliott> fastBool False = 0#
06:29:10 <oerjan> O_o
06:29:16 <elliott> isFastTrue 1# = True
06:29:16 <elliott> isFastTrue 0# = False
06:29:16 <elliott> isFastTrue _ = panic "FastTypes: isFastTrue"
06:29:36 <elliott> the literal fastest boolean type
06:29:37 <monqy> what
06:29:47 <oerjan> the fastest boolean type in the west
06:29:54 <elliott> type FastInt = Int#
06:29:58 <elliott> OMG GUYS STOP THIS IS SILLY
06:30:01 <monqy> how does this work
06:30:07 <elliott> monqy: how does what work
06:30:08 <elliott> FastBool?
06:30:11 <monqy> yes
06:30:11 <elliott> it's just an unboxed int
06:30:14 <elliott> used like C booleans
06:30:41 <monqy> and fastBool and isFastTrue are used where
06:30:52 <elliott> in code that uses FastBool
06:30:53 <elliott> one presumes
06:30:55 <monqy> inlined?
06:31:07 <elliott> FastFunctions -- i was hoping this would be an unboxed function type
06:31:20 <elliott> but it's just a bunch of terrifying functions
06:31:48 <elliott> oh my good fuck
06:31:54 <elliott> data FastMutInt = FastMutInt (MutableByteArray# RealWorld)
06:31:54 <elliott> newFastMutInt = IO $ \s ->
06:31:54 <elliott> case newByteArray# size s of { (# s, arr #) ->
06:31:54 <elliott> (# s, FastMutInt arr #) }
06:31:54 <elliott> where !(I# size) = SIZEOF_HSINT
06:32:02 <elliott> it burns
06:32:19 <monqy> -- hey, no harm inlining it, :-P
06:32:19 <monqy> {-# INLINE inlinePerformIO #-}
06:32:19 <monqy> inlinePerformIO :: IO a -> a
06:32:19 <monqy> inlinePerformIO = unsafePerformIO
06:32:20 <monqy> good
06:32:27 <elliott> that's in the non-ghc section
06:32:32 <monqy> oh
06:32:33 <elliott> (thus explaining the comment)
06:32:38 <elliott> instance Monad (IOEnv m) where
06:32:38 <elliott> (>>=) = thenM
06:32:38 <elliott> (>>) = thenM_
06:32:38 <elliott> return = returnM
06:32:38 <elliott> fail _ = failM -- Ignore the string
06:32:42 <elliott> DUDE IT'S A TRANSFORMER OVER IO
06:32:45 <elliott> WHY WOULD YOU MAKE FAIL USELESS
06:33:08 <elliott> im secretly trying to find the parts that have their own monads
06:33:39 -!- oerjan has quit (Quit: Good night).
06:33:56 <elliott> oerjan
06:33:57 <elliott> run away
06:33:58 <elliott> from
06:34:00 <elliott> the hakel
06:34:19 <elliott> ./main/CmdLineParser.hs:-- EwM (short for "errors and warnings monad") is a
06:34:19 <elliott> ew
06:34:20 <elliott> (m)
06:34:31 <monqy> checkeng out GhcMonad.hs now
06:34:57 <elliott> oh no
06:36:09 <elliott> utils/Bag.lhs... hepl...
06:36:39 <elliott> -- This module implements intervals over the integer line and sets of
06:36:39 <elliott> -- disjoint intervals.
06:36:42 <elliott> sure is compiler code
06:36:49 <elliott> augh
06:36:56 <elliott> monqy: dont look at utils/State.hs
06:37:03 <monqy> now i want to......
06:37:09 <elliott> do
06:37:10 <elliott> nt
06:37:21 <monqy> {- XXX hack -}
06:37:32 <monqy> a Good Start
06:38:06 <monqy> so much unboxed tuples
06:38:39 <monqy> whats in MonadUtils.....
06:38:43 <elliott> Relative to John's original paper, there are the following new features:
06:38:43 <elliott> 1. There's an empty document, "empty". It's a left and right unit for
06:38:43 <elliott> both <> and $$, and anywhere in the argument list for
06:38:43 <elliott> sep, hcat, hsep, vcat, fcat etc.
06:38:43 <elliott> It is Really Useful in practice.
06:38:44 <elliott> Really Useful
06:38:50 <elliott> monqy: its mini mtl "the baby version"
06:39:03 <monqy> liftIO4 = (((.).(.)).((.).(.))) liftIO
06:39:04 <monqy> Good
06:39:40 <elliott> wow is that
06:39:41 <elliott> wow
06:40:17 <monqy> all these monads functions
06:40:27 <elliott> more like
06:40:28 <elliott> GONADS,
06:40:32 <monqy> snap!!
06:40:50 <elliott> waht
06:40:59 <monqy> oh,
06:41:07 <elliott> ??????//////
06:41:09 <monqy> i wonder where they use
06:41:13 <elliott> waht
06:41:13 <monqy> mapAndUnzip4M
06:41:14 <elliott> snap???
06:41:16 <monqy> oh
06:41:22 <elliott> waht is sanp
06:41:26 <monqy> as in oh snap but without the oh................................
06:41:28 <monqy> thats a
06:41:30 <monqy> thing
06:41:31 <monqy> right
06:41:32 <elliott> oh.......................
06:41:39 <elliott> ..........but.....snap means "i asaid that,
06:41:41 <elliott> at the same time,
06:41:43 <elliott> you said the same thing,"
06:41:44 <monqy> oh
06:41:47 <elliott> it am like
06:41:54 <elliott> <oerjan> o i am write cod
06:41:55 <monqy> i was not, aaware it was thas sepcific
06:41:58 <elliott> <monqy> ha ha cod is fish
06:42:02 <elliott> <elliott> cod? isnt that a FUSH
06:42:09 <elliott> <monqy> snap!!!!!!!!! snep
06:42:13 <elliott> <elliott> snorp...........
06:42:19 <elliott> <monqy> now we are all wizards........
06:42:27 <monqy> wizards are good
06:42:34 <elliott> <monqy> ........of death
06:42:39 <monqy> death wiazards
06:42:45 <elliott> eadjieatnaeti wiazskrjzlrds
06:42:50 <elliott> wow it polish wizardry
06:42:59 <elliott> take that.... jk "just kidding" rowling
06:43:03 <monqy> infixl 3 `snocBag`
06:43:13 <elliott> (alias "j r r" "just rolling rabbits" tolkein)
06:43:34 <monqy> wow all of these bag functions
06:43:40 <elliott> bunctions
06:43:41 <monqy> mapAccumBagLM
06:43:47 <monqy> flatMapBagPairM
06:44:07 <elliott> im a flat map bag pair
06:44:46 <elliott> -- This is how gcc does it, so it can't be that bad:
06:44:46 <elliott> let
06:44:46 <elliott> const | FF32 <- sz = CmmInt 0x80000000 W32
06:44:46 <elliott> | otherwise = CmmInt 0x8000000000000000 W64
06:45:55 <elliott> oh god
06:45:56 <elliott> "const"
06:45:56 <elliott> nice
06:45:58 <elliott> shadwowing
06:46:53 <elliott> monqy: osmeone needs to.... make ghc...not horible to read
06:47:21 -!- elliott has left ("Leaving").
06:47:25 -!- elliott has joined.
06:47:30 <elliott> monqy: there is only one place left to hide...
06:48:08 <monqy> wher,e,,
06:48:16 <monqy> is the other compilers...better
06:48:19 <monqy> to read
06:48:21 <elliott> monqy: we must
06:48:25 <elliott> delve into
06:48:26 <elliott> http://repetae.net/dist/jhc-0.7.7.tar.gz
06:48:52 <monqy> hopeing for good
06:49:27 <monqy> check out Util/RWS.hs
06:49:47 <elliott> :')
06:49:48 <elliott> god bless
06:49:56 <elliott> i dont relaly get RWS
06:49:57 <elliott> like
06:49:57 <elliott> ok
06:49:59 <elliott> reader and state
06:50:00 <elliott> thats reasonable
06:50:02 <elliott> read only state
06:50:03 <elliott> and rw state
06:50:05 <elliott> but writer is like
06:50:08 <elliott> kinda orthogonal to those
06:50:15 <elliott> i can't imagine that much fits the writer part of it??
06:50:21 <elliott> like a compiler isn't going to be just linearly outputting
06:50:23 <elliott> i dunno
06:50:46 <monqy> ooh a Perhaps Monoid
06:51:00 <elliott> haha nice
06:51:17 <elliott> -- this point of this module is not only to share the 'size' syntax, but to
06:51:17 <elliott> -- provide optimally lazy versions of size comparasin functions when dealing
06:51:17 <elliott> -- with lazy structures. This is especially useful when having to compare the
06:51:17 <elliott> -- size of possibly long lists.
06:51:17 <elliott> -- it is up to each instance to decide what 'size' means
06:51:25 <elliott> a personal voyage of discovery to find out what size means
06:51:39 <elliott> this reminds me I should put something up on hackage for efficient length comparisons sometime
06:51:55 <elliott> monqy: Util/GMap.hs... MODERN...
06:52:02 <monqy> gmap
06:52:04 <derrik> ize is a measurement of surface, no?
06:52:10 <monqy> hi derrik
06:52:26 <derrik> hi monqy
06:52:29 <derrik> *size
06:52:52 <elliott> I personally find the size/wheelchair distinction quite arbitrary.
06:53:11 <monqy> you don't say
06:53:27 <elliott> jhc is disappointingly low on ohrrifying right now
06:53:30 <elliott> readHFile :: FilePath -> IO (FilePath,HoHeader,forall a . Binary a => ChunkType -> a)
06:53:32 <elliott> what
06:53:43 <monqy> promising
06:53:56 <derrik> normally people think that location is a dot, but in reality it never is
06:54:03 <derrik> it's a surface
06:54:12 <monqy> what
06:54:12 <derrik> or an amount of space
06:54:16 <elliott> what
06:54:32 <elliott> monqy: I like how Name/Prim.hs has do not edit warnings on every single type
06:54:44 <monqy> aaaaaaaaaa
06:54:48 <elliott> waht
06:54:56 <monqy> this file
06:55:12 <monqy> noinline / do not edit / ACTUAL LINE OF CODE / ...repeat....
06:55:47 <elliott> monqy: wellat least it is genrated
06:55:59 <monqy> yes...
06:56:47 <monqy> i like how ther'es RWS and also a ReaderWriter
06:57:30 -!- derrik has left.
06:57:34 <monqy> bye derrik
06:57:48 <elliott> did
06:57:50 <elliott> did it work...
06:58:20 <monqy> perhAps>..
06:59:02 <elliott> im going to a slep in wonder of jhc code
06:59:07 <monqy> whoa C/Generate.hs las a hong esxport list...
06:59:10 <elliott> makes me want to write a compiler...
06:59:19 <elliott> monqy: oh that reminds me of
06:59:20 <elliott> one of my files
06:59:38 <elliott> monqy: https://github.com/ehird/mchost/blob/master/MC/Protocol/Types.hs
06:59:43 <elliott> monqy: behold exprot list...
06:59:54 <monqy> mmmm, export list
07:00:31 <elliott> farewell young girafes...
07:00:36 <monqy> bye..........
07:00:40 <elliott> and glodsped.......
07:00:52 <monqy> are gerafes fast
07:01:27 <elliott> i
07:01:29 <elliott> cry
07:01:30 <elliott> hepl
07:01:39 <elliott> https://github.com/ghc/ghc/commit/7bfc28d4a1c7c20714bfc11acc072e2f16927d80
07:01:40 <elliott> so cish
07:02:10 <monqy> cish
07:07:14 -!- elliott has quit (Ping timeout: 258 seconds).
07:15:16 -!- Sgeo|web has joined.
07:15:23 <Sgeo|web> There exists something called OfficeIRC
07:15:34 <Sgeo|web> IRCX server + XMPP gateway and some other stuff
07:15:47 <Sgeo|web> What IRCX is, I'm not entirely sure
07:36:29 <Sgeo|web> It's Microsoft's own IRC protocol!
07:36:51 <Sgeo|web> Actually, it looks pretty cool
08:05:26 <pikhq> There's also Comic Chat. :)
08:13:00 -!- Phantom_Hoover has joined.
08:22:55 -!- copumpkin has quit (Ping timeout: 260 seconds).
08:23:19 -!- copumpkin has joined.
08:51:57 <cheater> who here knew japanese?
08:52:01 -!- monqy has quit (Quit: hello).
08:52:32 <cheater> i'm reading a haskell tutorial in that language, i understand everything but not if the author states copyright
08:52:40 <cheater> this one: http://d.hatena.ne.jp/itchyny/20110902/1314965062
09:47:23 -!- hagb4rd has joined.
09:59:53 -!- sebbu2 has joined.
09:59:53 -!- sebbu2 has quit (Changing host).
09:59:53 -!- sebbu2 has joined.
10:01:08 -!- sebbu has quit (Ping timeout: 248 seconds).
10:01:13 -!- Ngevd has joined.
10:03:36 <Ngevd> Hello!
10:07:01 <Patashu> I can't decide between playing DDR and having a nap
10:07:02 <Patashu> Woe is me
10:08:38 <fizzie> The official Microsoft solution nowadays is that Microsoft Lync (formerly Office Communicator) thing, which is built on SIP and can do federation stuff to speak with any external XMPP nets.
10:12:32 <fizzie> (Actually, if you happen to know about this stuff: I have a person who'd like to have me in Office Communicator to avoid running the silly Messenger thing; they have federation for MSN/Live activated on the server, and we were able to get it working if I ran the real Live Messenger too, but if I use some more reasonable client (tried bitlbee, Telepathy, Pidgin) the connection-from-Lync (it shows "Network: Microsoft Lync" instead of "Network: Microsoft Live" in
10:12:32 <fizzie> the real messenger) doesn't appear on contact lists at all. It is listed in the web-messenger thing, but there's no "send IM" option for it, only email.)
10:13:48 <fizzie> (Googling has mostly found me people who'd like to connect to an actual Office Communicator -ish environment with other clients, which doesn't really help.)
10:21:37 -!- aloril has quit (Ping timeout: 240 seconds).
10:24:17 -!- aloril has joined.
10:25:18 -!- sebbu2 has changed nick to sebbu.
10:38:57 -!- Ngevd has quit (Ping timeout: 252 seconds).
10:43:58 -!- derdon has joined.
10:53:13 -!- pikhq has quit (Ping timeout: 240 seconds).
10:53:27 -!- pikhq has joined.
11:31:32 -!- copumpkin has quit (Ping timeout: 244 seconds).
11:31:57 -!- copumpkin has joined.
11:33:19 -!- MSleep has changed nick to MDude.
11:34:04 <MDude> Well cool, I got somrthing that doens't sound noisy.
11:34:05 -!- derdon has quit (Remote host closed the connection).
11:34:05 <MDude> ((sin(t>>12)) * t) % 16
11:37:18 <fizzie> This reminds me of.
11:37:20 <fizzie> Just a moment.
11:37:25 <Patashu> someone on a different forum posted this: ((t>>8|t>>4)+sin(t)|t+cos(t*0.7)|t)&240
11:37:56 <MDude> It mostly reminded me of the example program you make int he Chuck tutorial.
11:39:16 <fizzie> C-oneliner music: http://p.zem.fi/o3r6
11:39:38 <Patashu> Oh, fizzie
11:39:42 <Patashu> You weren't here when we played around with http://www.bemmu.com/music/index.html
11:40:11 <fizzie> Well, no; the above came from another #channel.
11:40:50 <Patashu> We came up with some sick beats
11:40:57 <fizzie> Given that it links to "viznut's video", seems like it's the same people to blame.
11:41:07 <Patashu> Yep
11:41:19 <Patashu> Me elliot and CakeProphet came up with these (I posted them on the tasvideos forums) http://tasvideos.org/forum/viewtopic.php?p=289101
11:41:24 <fizzie> Aways for nows.
12:01:58 <Phantom_Hoover> Patashu, you were playing with the music thing without me?
12:02:08 <Patashu> You weren't on
12:02:14 <Phantom_Hoover> :(
12:02:24 <Patashu> elliott started btw
12:12:05 <Phantom_Hoover> DAMN HIM
12:17:51 -!- Ngevd has joined.
12:18:05 <Ngevd> Hello!
12:23:57 -!- Vorpal has joined.
12:24:39 -!- Ngevd has quit (Remote host closed the connection).
12:29:25 -!- Ngevd has joined.
12:29:25 -!- Ngevd has quit (Read error: Connection reset by peer).
13:08:06 <Patashu> typeracer thinks I'm pro
13:08:07 <Patashu> Speed:168 wpm
13:08:07 <Patashu> Accuracy:100%
13:08:07 <Patashu> Congratulations! You are now certified as able to type 168 wpm!
13:09:55 -!- tiffany has joined.
13:35:01 <CakeProphet> Patashu: didn't we start playing with it a lot after I showed something?
13:35:13 <CakeProphet> also 168 is insane u used h4x
13:36:37 <Patashu> oh
13:36:38 <Patashu> it might have been you
13:36:40 <CakeProphet> Phantom_Hoover: in any case, you may blame me.
13:36:41 <Patashu> also
13:36:48 <Patashu> I got 168 once and 166 once in about a half hour sesson
13:36:52 <CakeProphet> Cake "the WORST" Prophet
13:36:58 <Patashu> 168 is my 'absolutely no errors' speed
13:37:01 <CakeProphet> Patashu: isn't that kind of approaching the world record?
13:37:07 <Patashu> I'm sure it's not
13:37:08 <Patashu> let me check
13:38:05 <Patashu> keep in mind 168 is my PEAK not my average
13:38:38 <Patashu> http://rcranger.mysite.syr.edu/famhist/blackburn.htm
13:39:04 <Patashu> oh
13:40:31 <CakeProphet> Patashu: yeah it is.
13:40:32 <Patashu> this guy is pretty cool http://www.youtube.com/watch?v=M9lpqG9ZvGY&feature=related
13:40:51 <Patashu> it's like brrt brrt brrt
13:40:53 <CakeProphet> you are roughly tied with a former record folter.
13:41:04 <Patashu> nope sorry
13:41:05 <CakeProphet> so that puts you at "close" to the current record sort of.
13:41:10 <Patashu> the record is for 150 for 50 minutes sustained
13:41:14 <Patashu> sustained I can only get 125ish
13:41:39 <CakeProphet> Patashu: these jokes are so bad.
13:41:43 <Patashu> yep
13:42:17 <CakeProphet> he doesn't even look like he's typing anything.
13:43:07 <CakeProphet> that's weird that they type numbers.
13:43:23 <Patashu> well it makes sense to me
13:43:26 -!- azaq23 has joined.
13:43:33 <Patashu> wpm is very dependent on what type of text you're typing
13:43:37 <Patashu> numbers, not so much
13:48:10 -!- DH____ has quit (Read error: Connection reset by peer).
14:07:29 -!- oklopol has joined.
14:07:42 <oklopol> so did you hear the news
14:07:54 <Phantom_Hoover> Is Finland at war.
14:07:55 <oklopol> \N doesn't exist
14:08:03 <oklopol> and
14:08:05 <oklopol> by
14:08:07 <oklopol> \N
14:08:10 <oklopol> i mean naturals
14:08:27 <Phantom_Hoover> Oh also elliott tells me he told you about that gravity thing but couldn't find the link because he is stupid and weak.
14:08:41 <oklopol> right, i'd still like to see that
14:08:56 <oklopol> anyway this guy proved peano axioms are inconsistent
14:09:03 <Phantom_Hoover> Ask and ye shall receive: matthen.com/javascript/gravity.html
14:09:07 <Phantom_Hoover> oklopol, um really?
14:09:10 <oklopol> we scrapped all our articles and i'm going to
14:09:14 <oklopol> become like a
14:09:18 <oklopol> i dunno waiter maybe
14:09:37 <oklopol> 404
14:09:37 <Phantom_Hoover> I am highly... not sceptical; oklosceptical, perhaps.
14:09:44 <oklopol> oops
14:09:53 <oklopol> i did errored copypaste
14:10:47 <cheater> if you rearrange the letters you get klop loo
14:10:54 <cheater> and both mean toilet!
14:11:06 <CakeProphet> Crowding of teeth is recognized as an affliction that stems in part from a modern western lifestyle.[citation needed] It is unknown whether it is due to the consistency of western diets,[citation needed] a result of mouthbreathing;[citation needed] or the result of an early loss of deciduous (milk, baby) teeth[citation needed] due to decay.
14:11:07 <oklopol> these look like orbits to me! sorcery.
14:11:11 <CakeProphet> lolwat
14:11:15 <oklopol> can i see multiple planets tho
14:11:22 <CakeProphet> how does mouthbreathing make your teeth crowded.
14:11:49 <cheater> CakeProphet: what is teeth crowding?
14:11:51 <Phantom_Hoover> CakeProphet, I doubt it does, what with {{fact}} every other word.
14:12:06 <cheater> is that when wisdom teeth push your teeth together?
14:12:08 <CakeProphet> cheater: exactly what it sounds like.
14:12:11 <CakeProphet> no
14:12:15 <CakeProphet> it occurs when you lose your baby teeth.
14:12:19 <cheater> ok
14:12:35 <CakeProphet> and the permanent ones erupt but don't have enough room because of other teeth in the way etc
14:12:39 <CakeProphet> results in crooked teeth.
14:12:41 <cheater> ah ok that
14:13:29 <cheater> mouth breathing means your teeth are mostly apart rather than pushing against each other
14:13:38 <oklopol> also Phantom_Hoover yes really, but i doubt it has passed peer review of any kind
14:13:41 <cheater> so they might be more prone to going wrong places
14:13:48 <Phantom_Hoover> oklopol, ah.
14:13:48 <oklopol> but it doesn't look completely crackpotty
14:14:05 <cheater> writing a curses tutorial for haskell
14:14:07 <cheater> who wants
14:14:12 <Phantom_Hoover> (I thought Peano was pretty solid as far as inconsistency goes anyway.)
14:14:24 <oklopol> it's basically a list of 1000 or so simple little things he proves, and the punch line is BOOM math is gone
14:14:50 <cheater> i think i may have heard of it
14:14:53 <cheater> who is that oklopol
14:14:58 <oklopol> well actually he also proves you can still do pretty much everything you were able to do before
14:15:25 <oklopol> with another set of axioms that replaces induction with every number has a successor
14:15:32 <oklopol> except 0
14:16:02 <oklopol> cheater: don't remember
14:16:38 <cheater> damn you
14:17:06 <cheater> also why would 0 not have a successor
14:21:36 <Phantom_Hoover> His wife never bore him a son, duh.
14:22:23 <CakeProphet> is inconsistent being used in the sense of "does not contain a contradiction" here?
14:24:31 <oklopol> http://www.freak-search.com/en/thread/889644/peanos_axioms_are_inconsistent -- heheehe
14:24:34 <oklopol> not that one :DS
14:24:43 <oklopol> cheater: sorry i meant predecessor
14:24:59 <CakeProphet> http://en.wikipedia.org/wiki/Jaffa_Cakes#Cake_or_biscuit.3F
14:25:04 <oklopol> CakeProphet: no, in the sense "contains a contradiction"
14:25:17 <CakeProphet> McVities defended its classification of Jaffa Cakes as cakes in court, producing a 12" (30 cm) Jaffa Cake to illustrate that its Jaffa Cakes were simply miniature cakes. McVities argued that a distinction between cakes and biscuits is, among other things, that biscuits would normally be expected to go soft when stale, whereas cakes would normally be expected to go hard.
14:25:26 <CakeProphet> Sounds like an enthralling case.
14:25:29 <CakeProphet> oklopol: er, right.
14:25:52 <CakeProphet> oklopol: so what was the punchline with Peano (aka the contradiction)
14:26:08 <oklopol> that they are inconsistent
14:26:13 <oklopol> oh
14:26:15 <CakeProphet> ..
14:26:17 <CakeProphet> lol
14:26:20 <oklopol> i have no idea, it's hundreds of pages
14:26:34 <CakeProphet> ah okay
14:26:34 <oklopol> well 120 something
14:26:51 <CakeProphet> that's still hundreds
14:26:53 <CakeProphet> one hundred to be exact.
14:26:56 <Phantom_Hoover> CakeProphet, I assume it was being fought for tax reasons.
14:26:59 <oklopol> and it's just a list of lemmas, more than 10 a page
14:27:04 <CakeProphet> Phantom_Hoover: yes that's what the article explains.
14:27:34 <cheater> oklopol: ok that's better
14:27:41 <CakeProphet> just imagine someone in court, presenting a Jaffa Cake in court and arguing for its cakeness.
14:28:18 <oklopol> :D
14:29:13 <Patashu> peano arithmetic is inconsistent when you lose your baby teeth.
14:29:29 <Patashu> presenting a Jaffa Cake in court and arguing that peano arithmetic is inconsistent
14:29:34 * Patashu is a markov chain bot
14:31:51 <Phantom_Hoover> Losing your baby teeth to a Jaffa Cake.
14:32:01 <Phantom_Hoover> Or Tel Aviv Cakes as they're known nowadays.
14:32:25 -!- pikhq_ has joined.
14:32:36 -!- pikhq has quit (Ping timeout: 248 seconds).
14:32:50 <CakeProphet> I think the best way to determine if a Jaffa Cake is indeed a cake
14:33:02 <CakeProphet> is to ask: would you use it as a birthday cake?
14:33:27 <Phantom_Hoover> You might use a big one.
14:33:34 <oklopol> i don't celebrate birthdays
14:33:48 <Patashu> hey guys I have a keyboard idea
14:33:51 <CakeProphet> of course now I must look up birthday cakes, and learn about their history.
14:34:08 <Patashu> shift keys that turn themselves off if you press two letters in a row
14:34:13 <Patashu> (just before you press the second)
14:34:16 <CakeProphet> GEnius
14:34:29 <Patashu> it'll only slow you down for entirely capitalized words which are rare
14:34:31 <oklopol> oh you mean like windows lets you do since 1930
14:34:35 <CakeProphet> how about a keyboard with a huge array of common words?
14:34:39 <Patashu> oklopol: really? damn
14:34:40 <Patashu> where?
14:34:46 <oklopol> i don't recall, i don't use it
14:34:47 <Patashu> cakeprophet: woah woah now
14:34:53 <oklopol> but you can switch that on
14:35:20 <CakeProphet> I NEVER HOLD SHIFT WHILE TYPING
14:35:22 <CakeProphet> NOT EVERY
14:35:25 <CakeProphet> -Y
14:35:35 <CakeProphet> CAPS LOCK IS FOR CHUMPOS
14:35:54 <Patashu> oklopol, I just checked the obvious spot (keyboard and accessibility) and don't see such a setting
14:36:05 <oklopol> huh.
14:36:19 <Patashu> also, I just realized how awkward typing full capitalized words would be
14:36:22 <Patashu> try the motion
14:36:25 <oklopol> it's called sticky keys
14:36:29 <Patashu> it's like shift letter release all shift letter release all
14:36:30 <oklopol> press shift 5 times
14:36:49 <CakeProphet> Patashu: it's not awkward when you type like I do
14:36:55 <CakeProphet> (read: completely non-standard)
14:37:06 <Patashu> Stickykeys doesn't do what I said
14:37:08 <Patashu> SEE?
14:37:13 <oklopol> one finger for letters, penis smash for space
14:37:17 <Patashu> I CAN TYPE HOLDING DOWN SHIFT AND IT STILL CAPITALIZES EVERYTHING.
14:37:23 <oklopol> oh.
14:37:28 <oklopol> that's what you meant
14:37:38 <oklopol> i don't see what additional use yours would be
14:37:47 <Patashu> typing faster without making mistakes
14:37:52 <Patashu> I was on typeracer earlier
14:37:54 <oklopol> eh
14:37:56 <CakeProphet> Well I occasionally do ACcidentally CApitalize words.
14:37:56 <Patashu> a common mistake was capitalizing two letters
14:38:02 <Patashu> which typeracer considers an error I have to backspace and fix
14:38:04 <Patashu> breaks your flow
14:38:05 <oklopol> sticky keys would get rid of that
14:38:16 <oklopol> because you cannot accidentally hold it too long
14:38:25 <CakeProphet> Patashu: so wait you're on windows?
14:38:29 <CakeProphet> what's wrong with you
14:38:29 <Patashu> yep
14:38:44 <Patashu> oo
14:38:46 <Patashu> I see what it does
14:38:47 <Patashu> let me try that
14:39:08 <Patashu> Terminator
14:39:08 <Patashu> wow
14:39:10 <Patashu> that's pretty cool
14:39:57 <CakeProphet> in CakeFuck there are no lexemes. All components of CakeFuck grammar are composed of blasphemes.
14:39:57 <Patashu> I don't think it would help though
14:40:11 <Patashu> since if you're still holding shift stickykeys doesn't lift it up
14:40:16 <Patashu> it's STICKY keys after all
14:42:23 <oklopol> why would you hold it
14:43:08 <Patashu> I don't hold it
14:43:15 <Patashu> it just remains held for a fraction of a second longer than it needs to be
14:43:23 <Patashu> because of how my hands happen to move
14:44:14 <oklopol> well dunno i don't use capitals much so never even tried sticky keys
14:44:30 <Patashu> you need to use capitals if you type on typeracer
14:44:34 <Patashu> it considers ANY error a typo
14:44:38 <oklopol> also i hate them before even trying them because five shift hits brings them up
14:44:38 <Patashu> and won't let you move on until you fix it
14:44:49 <Patashu> you can turn that off btw
14:45:00 <oklopol> yeah but this computer is somewhat newish
14:45:38 <Patashu> doesn't stop you from turning it off...............
14:46:12 <oklopol> no, but certainly stops me from having turned them off
14:46:15 <CakeProphet> Capitals are the Best
14:46:21 <CakeProphet> I love to use Capital Letters.
14:46:36 <Patashu> Me Too
14:46:44 <CakeProphet> aaaaAAAAAAAAAAAAAAAAAAaaaaaaaaaAAAAAAAAAAAaaaaaAAaaaAAAaaaaAAAaaaaaaaaaAAAAAAAAAAAAAAAaaaaaaaaAAAAAAAAAAAAAaaaaaaaAAaaaAAAaaaaAAAaaaAAAaaaaAAAAaaa
14:46:56 <CakeProphet> holding down and then press shift on and off is fun.
14:47:00 <CakeProphet> *down a
14:47:49 <Patashu> doesn't work for me
14:47:55 <Patashu> the repeat stops when I press anything even shift
14:47:58 <CakeProphet> that's because Windows is evil.
14:48:02 <oklopol> doesn't work on my cupboard either
14:48:19 <CakeProphet> huh, weird.
14:48:29 <CakeProphet> are you also unsing vindoes?
14:48:37 <Patashu> he must be
14:48:39 <oklopol> yes, of course
14:48:40 <Patashu> he complained about stickykeys
14:48:49 <oklopol> i never use anything else
14:48:59 <CakeProphet> fuckin' veirdoes
14:49:08 <tiffany> if I made my own programming language it would look like this: http://aperture.physibots.info/p/2c
14:49:09 <oklopol> well i've used ubuntu briefly but this is so much better
14:50:17 <CakeProphet> shameful.
14:50:35 <tiffany> hehe
14:50:38 <tiffany> sticky keys on windows
14:51:03 <tiffany> it's especially annoying when you're playing a game like spore that crashes when you defullscreen it :p
14:51:38 <CakeProphet> I wonder what a Victorian era person would think about the phrase "sticky keys on windows"
14:51:43 <oklopol> :D
14:51:50 <Patashu> lol
14:52:03 <oklopol> tiffany: i hear you can turn that shit off
14:52:16 <tiffany> I tried it once on xp and it didn't
14:52:17 <CakeProphet> yes there's this magical checkbox
14:52:34 <CakeProphet> when it asks to make your keys sticky (awwww yeah)
14:52:39 <Phantom_Hoover> tiffany, the correct response is to stop playing Spore already.
14:52:50 <tiffany> I don't play spore anymore, or use windows
14:52:50 <tiffany> :s
14:52:52 <CakeProphet> but Spore is so good.
14:52:55 <CakeProphet> oh okay.
14:53:08 <oklopol> okay one thing about windows that almost made me switch to ubuntu foreverly is that 3am restarts. you can turn them off but just the fact they made that is so incredibly idiotic i just want to burn everyone who ever worked at microsoft.
14:53:20 <tiffany> heh
14:53:21 <Phantom_Hoover> tiffany, I note also that you have committed the cardinal sin of building a language around syntax.
14:53:28 <Phantom_Hoover> CakeProphet, excuse me no it isn't.
14:53:30 <CakeProphet> 3am.... restart?
14:53:30 <CakeProphet> wat?
14:53:36 <Phantom_Hoover> It's the shadow of a game that would have been good.
14:53:44 <CakeProphet> is Windows intolerant of nocturnal people? ignorant of their ways?
14:53:47 <tiffany> windows is a microkernel and should never need to restart
14:53:55 <tiffany> linux is a monolithic kernel and should need to restart all the time
14:54:04 <CakeProphet> wat
14:54:08 <CakeProphet> Windows isn't a microkernal.
14:54:15 <tiffany> I have been lied to then :I
14:54:17 <tiffany> anyway
14:54:21 <tiffany> windows reboots for the smallest of things
14:54:31 <oklopol> CakeProphet: updates need restarts, and the default is that it automatically restarts at 3am
14:54:34 <oklopol> every night
14:54:39 <CakeProphet> oklopol: oh right.
14:54:41 <tiffany> and then you never reboot unless kernel updates on linux, and even then you can get around it
14:54:42 <tiffany> http://funcorner.eu/wp-content/uploads/2011/03/computer_update.jpg
14:54:42 <CakeProphet> yes that was always annoying.
14:55:02 <CakeProphet> I do have to reboot occasionally as my computer tends to freeze when coming out of sleep.
14:55:05 <oklopol> so everyone who has used windows has probably lost a few hours of unsaved work because of that
14:55:12 <CakeProphet> but I'll go weeks at a time without turning off my laptop.
14:55:18 <tiffany> I save compulsively
14:55:25 <Phantom_Hoover> What is even with university websites being designed around the principle that nobody will try to use them when applying.
14:55:28 <tiffany> that little asterisk next to unsaved files is the bane of my existence
14:55:33 <oklopol> i don't save running programs though
14:56:01 <tiffany> sometimes I hit ctrl+s faster than gedit can write the file to disk
14:56:16 <Phantom_Hoover> gedit?
14:56:24 <tiffany> tiny little editor that I use for things
14:56:40 <Phantom_Hoover> I know; the name is short for "get a proper text editor".
14:56:47 <tiffany> :|
14:56:48 <CakeProphet> I'm almost positive Phantom_Hoover kno-- okay good.
14:56:50 <tiffany> I have code::blocks
14:56:52 <tiffany> and emacs
14:57:06 <tiffany> I use code::blocks for C/C++ and don't really like emacs
14:57:13 <Patashu> lol oh man
14:57:16 <CakeProphet> I used gedit a lot until I switched to emacs.
14:57:17 <oklopol> tiffany: yeah i rape ctrl+s all the time as well, but older browsers would lose your open pages, then there's running games, searches you're running, etc
14:57:22 <Patashu> I want to read more finitism/constructivism crackpottery
14:57:23 <Patashu> I must have more
14:57:24 <Patashu> give me more
14:57:28 <tiffany> "older browsers"
14:57:34 * CakeProphet rapes C-x C-s
14:57:38 <tiffany> firefox doesn't save tabs unless you hunt down that stupid option
14:57:39 <Phantom_Hoover> Patashu, read everything Zeilberger has ever written.
14:58:35 * tiffany resists complaining about such a major hop (6.0.2 -> 7.0.0) had very little feature updates...
15:02:12 -!- Ngevd has joined.
15:02:18 -!- Ngevd_ has joined.
15:02:27 -!- Ngevd_ has left.
15:06:58 <oklopol> "<tiffany> firefox doesn't save tabs unless you hunt down that stupid option" --- i only use ie and chrome
15:07:18 <tiffany> last I checked chrome doesn't save my tabs :s
15:07:25 <oklopol> it does
15:07:29 -!- ais523 has joined.
15:07:36 <oklopol> maybe it doesn't like you
15:08:06 <tiffany> I don't think any of my browsers like me
15:08:09 <tiffany> they all crash regularly
15:08:20 <tiffany> opera, firefox, chromium, midori :|
15:08:55 <Ngevd> Chrome saves your tabs but you have to open them manually
15:08:55 -!- SgeoN2 has quit (Read error: Connection reset by peer).
15:09:13 <Ngevd> You click "6 new tabs" or whatever at the bottom of the new tab page
15:09:14 -!- SgeoN1 has joined.
15:11:21 <oklopol> why don't you use ie, that's the best browser
15:11:53 * tiffany drops oklopol into a sea of trojans
15:12:06 <tiffany> heh
15:12:19 <oklopol> ie is unsafe?
15:12:26 <oklopol> that's not what i've heard
15:12:27 <tiffany> one of my friends found this thing called 99 000 trojans, it installs 99 000 trojans on any windows/mac OS
15:14:03 <Patashu> 99,000 unique trojans?
15:14:07 <oklopol> i thought trojans and viruses were extinct
15:14:18 <Patashu> trojans by definition can't become extinct
15:14:28 <tiffany> ^
15:14:34 <tiffany> sort of not
15:14:44 <Phantom_Hoover> Well, anyone with a decent classical education knows that the Trojans were wiped out in the Trojan War, although a small band of them purportedly became the Romans.
15:14:58 <tiffany> but as long as there are people with computers, there will be malware
15:15:06 <tiffany> actually
15:15:15 <tiffany> probably as longa s there are antivirus companies
15:15:20 <Patashu> lOL
15:15:32 <Patashu> hospitals don't want to cure your cancer, man!
15:15:34 <Patashu> end the fed!
15:15:41 <Patashu> no autism vacinnes!
15:16:23 <Patashu> everyone just needs to use common sense!
15:16:45 <tiffany> common sense - so rare it's a superpower
15:17:09 <Patashu> protip: just because you start your argument with 'it's common sense that' doesn't make it right
15:17:21 <Patashu> the lesser known fact is that common sense is often not sense
15:18:06 <Phantom_Hoover> <tiffany> but as long as there are people with computers, there will be malware
15:18:19 <Patashu> not once @ comes along
15:18:22 <Patashu> :shades:
15:18:24 <Phantom_Hoover> inb4 <future elliott> Not with @!
15:18:28 <Phantom_Hoover> Patashu, damn you!
15:18:30 <tiffany> o.o
15:18:44 <Phantom_Hoover> No, @.@
15:21:18 <Phantom_Hoover> Madoka-Kaname, ^ note feature request.
15:22:25 * tiffany clings to madoka-kaname
15:30:44 -!- hagb4rd has quit (Ping timeout: 248 seconds).
15:32:36 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .).
15:34:44 -!- Ngevd has quit (Remote host closed the connection).
15:35:23 -!- Ngevd has joined.
15:40:53 * Madoka-Kaname snuggles tiffany ^^
15:44:14 -!- Ngevd has quit (Remote host closed the connection).
15:51:48 * tiffany snuggles ^^
16:23:37 <ais523> IBM have just overtaken Microsoft in market cap? that's surprising
16:28:06 <tiffany> I think I like ibm more than microsoft
16:28:43 -!- plycke has joined.
16:28:48 <tiffany> https://www.ibm.com/developerworks/ ~
16:28:50 -!- plycke has quit (Excess Flood).
16:31:38 -!- monqy has joined.
16:50:16 -!- azaq23 has quit (Ping timeout: 258 seconds).
17:07:23 -!- elliott has joined.
17:10:23 <elliott> 11:34:05: <MDude> ((sin(t>>12)) * t) % 16
17:10:23 <elliott> heh
17:10:32 <elliott> 11:39:16: <fizzie> C-oneliner music: http://p.zem.fi/o3r6
17:10:39 <elliott> fizzie: those are from http://www.youtube.com/watch?v=GtQdIYUtAHg
17:10:42 <elliott> linked from http://www.bemmu.com/music/index.html
17:10:50 <elliott> 11:40:57: <fizzie> Given that it links to "viznut's video", seems like it's the same people to blame.
17:10:51 <elliott> right
17:11:43 <elliott> 11:41:19: <Patashu> Me elliot and CakeProphet came up with these (I posted them on the tasvideos forums) http://tasvideos.org/forum/viewtopic.php?p=289101
17:11:51 <elliott> I can't recognise which one is my masterpiece X-D
17:12:44 <elliott> oh, it's
17:12:45 <elliott> 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
17:15:55 <oklopol> can you hear those somewhere
17:16:12 <elliott> oklopol: http://www.bemmu.com/music/index.html
17:16:22 <elliott> 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024))
17:16:22 <elliott> and
17:16:23 <elliott> 100*sin(Math.sqrt(t)^Math.sqrt(10*(t%1024))<<(t/1024))
17:16:28 <elliott> are pretty good ones made by me
17:16:28 <elliott> well
17:16:30 <elliott> at least mostly by me
17:16:33 <elliott> it was kind of incestuous
17:17:01 <oklopol> wo - fucking w that's awesome :D
17:17:11 <elliott> i like patashu's 50*sin(Math.sqrt(100*(t%1024))+(t/768))+((t%8192)>4096?50*sin(Math.sqrt(100*(t%1024)<<(t/2048))):0)
17:17:32 <elliott> oklopol: that first one was basically complete luck so don't go worshipping me :P
17:18:02 <oklopol> yeeah right
17:18:04 <elliott> 14:08:56: <oklopol> anyway this guy proved peano axioms are inconsistent
17:18:04 <elliott> 14:09:07: <Phantom_Hoover> oklopol, um really?
17:18:08 <elliott> Phantom_Hoover: Dude we discussed this in-channel.
17:18:22 <Phantom_Hoover> I DIDN'T SEE
17:18:26 <elliott> Yes, you did.
17:18:29 <elliott> It's the Nelson guy.
17:18:30 <oklopol> i like the farts in patashu's
17:19:04 <elliott> t*(t>>8&t>>12) is still great
17:19:29 <oklopol> :O
17:20:21 <elliott> 08:51:57: <cheater> who here knew japanese?
17:20:21 <elliott> 08:52:32: <cheater> i'm reading a haskell tutorial in that language, i understand everything but not if the author states copyright
17:20:21 <elliott> 08:52:40: <cheater> this one: http://d.hatena.ne.jp/itchyny/20110902/1314965062
17:20:21 <elliott> 14:14:05: <cheater> writing a curses tutorial for haskell
17:20:22 <elliott> 14:14:07: <cheater> who wants
17:20:24 <elliott> hmm, cheater sure has been pioneering the form of "get information entirely from other people then restate it to create my very own blogspam"
17:20:27 <elliott> lately
17:20:40 <oklopol> it certainly makes sense that bitshifts awesome it up, but this is just ridiculously great
17:21:47 <elliott> 14:31:51: <Phantom_Hoover> Losing your baby teeth to a Jaffa Cake.
17:21:47 <elliott> 14:32:01: <Phantom_Hoover> Or Tel Aviv Cakes as they're known nowadays.
17:21:48 <elliott> Phantom_Hoover: :DDD
17:22:07 <elliott> 14:32:50: <CakeProphet> I think the best way to determine if a Jaffa Cake is indeed a cake
17:22:07 <elliott> 14:33:02: <CakeProphet> is to ask: would you use it as a birthday cake?
17:22:07 <elliott> As a fan of Tel Aviv cakes I can confirm that I wouldn't eat a cake-sized one.
17:22:35 <oklopol> i would so
17:23:13 <Phantom_Hoover> Sorry no Tel Aviv Cakes are the worst.
17:24:08 <elliott> -- Phantom_Hoover, worst person
17:24:38 <Phantom_Hoover> How can I be worst, I don't like Tel Aviv Cakes.
17:25:13 <elliott> 14:53:47: <tiffany> windows is a microkernel and should never need to restart
17:25:13 <elliott> 14:53:55: <tiffany> linux is a monolithic kernel and should need to restart all the time
17:25:17 <elliott> tiffany: ............................................
17:25:22 <tiffany> :s
17:25:46 <oklopol> tiffany: u a girl right
17:25:50 <elliott> 14:54:04: <CakeProphet> wat
17:25:50 <elliott> 14:54:08: <CakeProphet> Windows isn't a microkernal.
17:25:50 <elliott> NT is a pseudo-microkernel.
17:25:54 <elliott> But that has nothing to do with restarts.
17:26:14 <cheater> elliott: why don't you find someone else to be pesky to?
17:26:23 <tiffany> everything says that by design it's harder to update a running monolithic kernel than a microkernel
17:26:32 <tiffany> except for elliotts
17:27:20 <elliott> cheater: Do you intentionally use ridiculous stereotypically-British terms when firing out that stock phrase?
17:27:47 <elliott> But seriously, no, I'm impressed; while directly copying a Japanese tutorial is not very difficult, I would have bet against anyone being able to rope #haskell into writing a tutorial for them over the course of a whole day.
17:29:01 <elliott> Also I didn't actually address you at all in that message, so I'm hardly being pesky to you; it's not my fault if your IRC client bugs you whenever anyone talks /about/ you.
17:29:20 <elliott> 14:56:16: <Phantom_Hoover> gedit?
17:29:21 <elliott> 14:56:40: <Phantom_Hoover> I know; the name is short for "get a proper text editor".
17:29:23 <cheater> you're talking shit about me
17:29:24 <elliott> Phantom_Hoover: I use gedit sometimes.
17:29:48 <elliott> cheater: Did I say anything untrue?
17:29:48 <oklopol> cheater: only behind your back
17:29:52 <cheater> yes.
17:29:54 <oklopol> so what are you complaining about
17:29:58 <elliott> cheater: What, then?
17:30:05 <elliott> I can hardly rectify it if I don't know what I said.
17:30:16 <cheater> riiiight
17:30:26 <cheater> who is supposed to buy you playing dumb?
17:30:39 <ais523> hey, you two, calm down, this conversation isn't going anywhere
17:30:41 <cheater> maybe only you believe someone will actually go for this idiotic performance
17:31:02 <cheater> ais523: hopefully it will go in the direction of elliott leaving me alone
17:31:03 <oklopol> while it's true it's annoying when elliott plays dumb, i can assure you it's more annoying when he tries to play smart
17:31:26 <elliott> ais523: I'm perfectly calm, cheater is loudly accusing me of lying and I'm asking him to tell me what I did. But really I don't care.
17:31:48 <ais523> well, OK, but you're rather inciting the conversation
17:31:55 <ais523> if you think cheater is a troll, you might want to stop feeding him
17:31:58 <cheater> lying is one thing, libel is another
17:32:00 <ais523> and if you don't, why are you responding like that?
17:32:16 <oklopol> ais523: having incite is a GOOD quality
17:32:25 <elliott> ais523: Are you seriously saying asking for clarification is something you'd only do to a troll??
17:32:50 <ais523> no; but asking for clarification the way you are looks like goading
17:32:58 <ais523> oklopol: you aren't oerjan, stop making puns that bad
17:33:11 <oklopol> mwahaha
17:33:15 <oklopol> where's oerjan
17:33:17 <elliott> ais523: Shrug, I tend to like to know what someone is referring to when they apparently accuse me of libel
17:34:00 <cheater> as if anyone is buying that you don't know
17:34:18 <cheater> you could at least not insult the intelligence of other people in here
17:34:30 <cheater> but apparently you don't give a shit about that either
17:34:41 <elliott> Well, I'm certainly buying it. But I won't respond any further, if you're just going to refuse to answer because it's "obvious".
17:34:58 * Phantom_Hoover pops some popcorn.
17:35:34 <cheater> the only obvious thing here is that you've yet again denigrated me, got called out on it, and are pretending you didn't make the stink
17:36:31 <cheater> maybe you aren't experienced enough to realize people don't fall for this sort of thing, but you're definitely not dumb enough not to know when you insult someone.
17:36:52 <Phantom_Hoover> cheater, I'm dumb enough to fall for it.
17:37:05 <cheater> well done, blog about it
17:37:17 <cheater> now, back to what i was doing
17:37:34 <oklopol> i wonder how many eyes i could eat before realizing that's not what eyes are for
17:38:04 <cheater> oklopol: at least this many ꙮ
17:38:11 <oklopol> sorry i can't read that
17:38:14 <oklopol> what is it
17:38:21 <cheater> it's the Multiocular O.
17:38:27 <oklopol> wow.
17:38:47 <cheater> the glyph is a drawing of 7 eyes
17:39:09 <oklopol> :o
17:41:32 <fizzie> You can see an image of it at http://www.fileformat.info/info/unicode/char/a66e/index.htm -- and of course at the code chart, but those are unwieldy.
17:41:52 <oklopol> that's incredibly cute and beautiful and awesome
17:41:57 <oklopol> wow.
17:41:58 <cheater> i think the wikipedia page had a graphical image
17:42:08 -!- sllide has joined.
17:42:10 <cheater> ꙮklꙮpꙮl
17:42:26 <oklopol> :(
17:42:34 <ais523> o
17:42:42 <cheater> it's funny because ok- is a prefix from the word that means "eye"
17:42:47 <cheater> or "eyes"
17:42:53 <cheater> so it kinda fits.
17:43:15 <cheater> your nick is a tarpit of inspiration, oklopol
17:43:41 <oklopol> yes!
17:43:47 <oklopol> i did not come up with it.
17:43:53 <cheater> who has?
17:44:21 <oklopol> this dude from #vjn
17:44:57 <cheater> what is that place about?
17:45:30 <oklopol> let me show you the last three lines
17:45:34 <oklopol> [20:22:01] <@oklofok> o
17:45:34 <oklopol> [20:22:01] <@oklofok> o
17:45:34 <oklopol> [20:22:01] <@oklofok> o
17:45:57 <Vorpal> I played some Trauma.... Wtf.
17:45:59 <Vorpal> so strange
17:46:14 <cheater> oklopol: sounds interesting
17:46:26 <cheater> oklopol: what does vjn stand for? :D
17:46:52 <oklopol> well you don't know finnish so
17:47:06 <cheater> o
17:47:13 <oklopol> it's a scouting term, i used to be a scout
17:47:15 <cheater> how do you guess :|
17:47:24 * Phantom_Hoover ponders a topological language.
17:47:26 <cheater> maybe i DO know finnish
17:47:29 <oklopol> maybe
17:47:32 <oklopol> who knows
17:47:35 <cheater> Just
17:47:40 <elliott> Phantom_Hoover: Topolanguage?
17:47:42 <Phantom_Hoover> Like, it's a fungoid, and the only control structure is setting the wrapping behaviour.
17:47:53 <elliott> Phantom_Hoover: That reminds me of eodeodmeomdoeeroermdrome in a way.
17:47:59 <elliott> Like, if the actual space is fixed.
17:48:03 <elliott> But you just control the wrapping.
17:48:11 <elliott> Space as in the contents, instructions whatever.
17:48:42 <cheater> Phantom_Hoover: more interesting if you can control the size of the field too
17:49:21 <cheater> i wonder if SpaceChem is a fungoid
17:49:46 <elliott> pikhq_: I miiiiiiiiight end up working on Kitten again.
17:51:53 <Phantom_Hoover> Topological kitten.
17:52:05 <elliott> Topitten.
17:52:09 <elliott> Kittological.
17:52:12 <elliott> Wow this doesn't work.
17:52:19 <oklopol> you are not by any change talking about mathematical topologies
17:52:30 <Deewiant> Topolitten
17:52:54 <elliott> oklopol: By any change?
17:52:59 <oklopol> :DD
17:53:02 <oklopol> chance
17:53:06 <elliott> Deewiant: Verily
17:53:37 <fizzie> Kipologitten.
17:54:27 <oklopol> topology is beautiful
17:55:13 <oklopol> so i kind of feel like punching through a wall
17:55:15 <oklopol> is that normal
17:57:01 <Phantom_Hoover> oklopol, what is the topology of a kitten.
17:57:26 <elliott> Phantom_Hoover: Beautiful.
17:58:18 <elliott> Gregor: Oh man, the Node guy is having an existential crisis for inflicting it on the world.
18:00:04 <monqy> oh??
18:00:15 <elliott> https://plus.google.com/115094562986465477143/posts/Di6RwCNKCrf
18:00:19 <elliott> a poem:
18:00:20 <elliott> my tears
18:00:22 <elliott> are red
18:00:23 <elliott> like blood
18:00:25 <elliott> i forced
18:00:26 <elliott> the world
18:00:28 <elliott> to write
18:00:30 <elliott> network code
18:00:33 <elliott> in continuation passing style
18:00:36 <elliott> fuck life
18:01:17 <elliott> "The entire system is broken - all the languages and all the operating systems. It will all need to be replaced."
18:01:22 <elliott> he is going to produce something much much worse than @
18:05:18 <oklopol> he's right at least, everything is shit
18:12:30 <pikhq_> Some things more so than others.
18:12:51 <pikhq_> I think initialisation from the BIOS is the most shitty thing.
18:13:37 <Madoka-Kaname> elliott, so he's arguing for the removal of abstractaion?
18:13:40 <Madoka-Kaname> abstractation*
18:13:41 <Madoka-Kaname> w/e
18:13:51 <Madoka-Kaname> For... the user's sake?
18:13:57 <Madoka-Kaname> What?
18:14:28 <pikhq_> Believe you me, you *want* to abstract some things.
18:15:15 <Madoka-Kaname> > text $ reverse "...sgniht fo tol a rO"
18:15:16 <lambdabot> Or a lot of things...
18:15:32 <pikhq_> Repeat after me: modern hardware is the only thing that sucks worse than modern software.
18:15:51 <Madoka-Kaname> Well, software can kinda patch over the hardware problem, so...
18:16:07 <pikhq_> It doesn't make the hardware suck less.
18:16:14 <pikhq_> It just increases the software suck a bit.
18:16:17 <Madoka-Kaname> =p
18:16:39 <Vorpal> an
18:16:53 <Vorpal> anyone* understand what the game Trauma is about, really
18:17:18 <elliott> You're presuming it's about anything.
18:17:26 <Vorpal> obviously extremely pretentious artsy. I mean, compared to this Braid doesn't seem pretentious at all…
18:17:37 <elliott> You're presuming it's about anything.
18:17:46 <pikhq_> For an example of something that sucks: SSDs. Now, yes, they're pretty sweet and all, but is there any *reason* to have a disk controller in there to let everything else pretend that it's a spinning disk?
18:17:56 <elliott> "More an experimental piece of interactive storytelling than a game, Trauma involves a young woman who wakes up in hospital having survived a car crash that killed both her parents. The player assumes the role of a psychologist, exploring four separate dreams constructed from real-world photographs mixed with strange, mildly hallucinatory images."
18:17:58 <pikhq_> Instead of a particular form of RAM, that is.
18:18:02 <elliott> That's about as detailed as you're gonna get.
18:18:30 <Vorpal> pikhq_, backward compatibility
18:18:42 <pikhq_> Vorpal: Is the bane of good design.
18:18:56 <MDude> Obviously, it's about convinving the girl to take the death of her parents as a sign that she needs to be a superhero.
18:18:56 <Vorpal> pikhq_, you said reason, not justification
18:19:04 <pikhq_> See: Win32, UNIX.
18:19:27 <elliott> MDude: obviousl
18:19:28 <elliott> y
18:19:55 <Vorpal> pikhq_, I agree. But it still is the reason. Oh and it is block oriented because of erase block size. Impractical to make it on anything but block level
18:20:35 <elliott> SSDs should probably expose themselves as write-once interfaces.
18:20:37 <elliott> Not RAM.
18:20:45 <pikhq_> Vorpal: ATA is still the *wrong* interface.
18:20:50 <Vorpal> pikhq_, that is true
18:21:07 <Vorpal> pikhq_, I never claimed it was the right interface. I was just trying to come up with a reason. NOT with a justification
18:21:13 <pikhq_> Vorpal: True, true.
18:23:10 <oklopol> why don't i own a basketball?!?!?!?!?
18:23:14 <oklopol> fuck i'm leaving
18:23:30 <Vorpal> pikhq_, I think too many people confuse reason and justification, sure they are related but they are different
18:25:41 <oklopol> lojban has 4 words for "because"
18:25:48 <pikhq_> Also, fuck BIOS. Just fuck BIOS.
18:31:23 <MDude> \
18:33:51 <elliott> pikhq_: I wonder if I could use a pointer-bumping RAM-allocator for @
18:34:01 <elliott> I don't think so, because that would basically require a copying GC for RAM
18:34:31 <elliott> Hmm
18:34:35 <elliott> I could do a compacting algorithm
18:38:18 <elliott> pikhq_: THX FOUR HELP
18:39:28 <Sgeo|web> Either galculator only deals with reals, or its definition of abs() is wrong
18:39:47 <Sgeo|web> It tells me that the square root of -1 is -nan, so I'll go with the former
18:39:58 <elliott> Galculator can compute with the entire reals? Wow.
18:40:46 <Sgeo|web> "Only dealing with reals" does not imply that it deals with all reals.
18:40:56 <Sgeo|web> Sgeo|web, joke killer.
18:42:03 <elliott> I have this calculator here; it can work with the numbers zero or one. So, sure, it only deals with arbitrary sets, but...
18:44:03 -!- zzo38 has joined.
18:45:30 <zzo38> Do you know that?
18:45:40 <monqy> no
18:45:53 <zzo38> Do you know if there are drivers for FreeDOS to access USB printers?
18:46:34 <zzo38> Do you know if there are drivers for BBL/Abundance to print on fax machines?
18:47:27 <elliott> hi
18:47:43 <elliott> monqy: did you find...scary... in jhc...
18:48:11 <monqy> ih havent been loiiingk
18:48:14 <monqy> lookgin
18:48:16 <monqy> look ing
18:48:21 <elliott> lsgoidkfnj
18:48:24 <ais523> elliott: what's your opinion on what happened to http://esolangs.org/wiki/Brainlove?
18:48:33 <ais523> as in, it was renamed to [[Elog]] which is a completely different language
18:48:37 <ais523> and the page content just replaced
18:48:42 <ais523> it's sort-of the opposite of a copy-and-paste
18:48:43 <elliott> http://esolangs.org/w/index.php?title=Brainlove&action=history
18:48:44 <pikhq_> elliott: Well, copying GC *is* a compacting algorithm... :)
18:48:46 <elliott> umm, where are the previous revisions?
18:48:48 <elliott> oh, moved
18:48:54 <elliott> ais523: I think we should revert it
18:48:56 <ais523> it's a move-and-replace delete, I think
18:49:06 <elliott> move Elog back to Brainlove, copy-and-paste-move the actual Elog language to [[Elog]]
18:49:16 <ais523> nah, it should be a history split
18:49:17 <elliott> and add a note to Brainlove about the creator considering Elog the successor, or something
18:49:21 <ais523> I haven't done one of these in /years/
18:49:22 <ais523> let me try
18:49:25 <elliott> ais523: I was thinking in terms of something a non-admin could do, but yes
18:49:48 <elliott> wow, it really is completely differen
18:49:48 <elliott> t
18:49:59 <elliott> ais523: hmm... wait
18:50:07 <elliott> this might be our one chance at destroying a BF derivative
18:50:10 <elliott> I suggest we do nothing :P
18:50:15 <ais523> bah
18:50:19 <ais523> *nah
18:50:22 <ais523> although "bah" also fits
18:52:10 <elliott> ais523: http://esolangs.org/wiki/Talk:Elog
18:52:12 <elliott> not quite...
18:52:20 <ais523> elliott: I'm still doing the split
18:52:22 <elliott> oh :P
18:52:33 * elliott reverts the latest change to [[Talk:Brainlove]], anyway
18:52:37 <elliott> which is unrelated to the split
18:52:51 <elliott> oh, too late
18:52:55 <elliott> ais523: YOU ARE TOO FAST
18:53:09 <elliott> that was the noisiest recent changes action I've ever seen
18:53:37 <ais523> I've never done one of those ever, I think, except once in my own userspace in Wikipedia for practice
18:53:45 <Sgeo|web> Did Elog have any real history of its own?
18:53:50 <ais523> they don't come up very often, and normally are used to revert mistaken history merges
18:53:55 <ais523> Sgeo|web: it did have a bit
18:53:59 <ais523> two revisions
18:54:16 <elliott> you might want to tell Aptennap why you did it before they see it and get upset :P
18:54:38 <ais523> [[Elog]] needs categorisation, anyway
18:55:15 <Sgeo|web> If Brainlove was moved to Elog, how is that even possible, if Elog had stuff there?
18:55:16 <elliott> done, at least partially
18:55:44 <Sgeo|web> And in recent changes, I don't see any revisions after the move
18:55:48 * Sgeo|web may be a bit confused
18:56:38 <ais523> you know, I have no idea what a history split looks like in recent changes
18:56:41 <ais523> this may be a rare opportunity to see
18:56:47 <ais523> (you can't really in Wikipedia because recent changes moves too fast)
18:57:33 <elliott> oh dear, a git problem that sg doesn't inherently avoid
18:57:37 <elliott> ais523: Like I said: noisy
18:58:18 <elliott> "You're doing it wrong. You shouldn't pull to merge; or rather, you should commit before you pull. Then you can't lose anything - because all your changes are committed."
18:58:19 <elliott> Yawn
18:58:31 <zzo38> They don't even have a printer yet, but I would like to know about these kind of driver for FreeDOS and BBL/Abundance and that stuff, so that I can know what to tell them.
18:58:32 <elliott> hmm, git pull should stash before pulling, and then try and pop the stash
19:01:27 <ais523> I think that's a VCS workflow problem in general
19:02:00 <ais523> at least darcs can pull with working version changes, though
19:02:22 <Vorpal> so can svn but then it is not a dvcs
19:02:34 <ais523> and its behaviour is pretty much equivalent to stash/pull/stash, with conflicts just leaving the repo in a conflicted state and the next commit on the conflicted files counting as resolving the conflict
19:02:49 <ais523> Vorpal: distributedness shouldn't matter for this issue
19:02:55 <Vorpal> indeed
19:03:08 <Vorpal> but it means it is same as up with changed files
19:03:46 <elliott> I'm occasionally overcome by a desire to switch to a really oddball VCS
19:03:57 <elliott> Monotone or arch or Fossil or something
19:04:01 <elliott> It usually passes pretty quickly though
19:04:16 <Sgeo|web> You should be using ais523's VCS
19:04:29 <ais523> Sgeo|web: hey, elliott's actually been developing that
19:04:46 <Sgeo|web> Huh, cool
19:04:49 <elliott> ais523: well, ostensibly
19:04:51 <ais523> oddball VCSes wouldn't be "because it's better" but "because I'm being weird for no good reason"
19:05:06 <Sgeo|web> Ah
19:05:08 <ais523> hmm, there should be a POSIX standard VCS that nobody ever actually uses
19:05:17 <elliott> Monotone is kind of interesting, but I can't shake the feeling it was designed in an alternative universe where development is totally different.
19:05:21 <ais523> that works vaguely like CVS but is incompatible for no obvious reason
19:05:23 <Vorpal> ais523, rcs maybe?
19:05:24 <pikhq_> ais523: svnhgit?
19:05:30 <elliott> I guess it's because it's really old -- it only postdates darcs by a year
19:05:38 <elliott> But it's still alien
19:05:44 <ais523> darcs is really old?
19:05:50 <elliott> ais523: 2002
19:05:54 <elliott> ais523: one of the first open-source DVCSes
19:05:59 <ais523> that's not really old
19:05:59 <elliott> (the first was arch, 2001)
19:06:06 <elliott> ais523: yes it is, in terms of DVCSes
19:06:10 <Vorpal> ais523, in this context it is old
19:06:14 <ais523> well, OK, but not in terms of VCSes in general
19:06:30 <Vorpal> but then that wasn't the context either
19:06:42 <elliott> TeamWare (1990s) → Code Co-op (1997) → BitKeeper (1998) → arch (2001) → darcs (2002)
19:06:55 <pikhq_> ais523: Things predating DVCSes are just eeew, though.
19:06:55 <elliott> it took until 2005 for anyone to actually start caring, with git and mercurial
19:07:01 <Vorpal> never heard of teamware
19:07:06 <elliott> Vorpal: it's some sun crap
19:07:11 <Vorpal> ah
19:07:13 <elliott> but it inspired bitkeeper apparently
19:07:14 <ais523> when does VSS date from?
19:07:20 * Vorpal forces elliott to use Visual SorceSafe
19:07:21 <elliott> ais523: 1994
19:07:30 <ais523> hmm, not as bad as I'd thought
19:07:32 -!- zzo38 has left.
19:07:35 <Vorpal> ais523, VSS?
19:07:39 <ais523> it'd have been hilarious if it was 2006 or something
19:07:39 <elliott> wow, VCSes were very stagnant to start with
19:07:41 <Vorpal> which one is that
19:07:42 <elliott> Vorpal: * Vorpal forces elliott to use Visual SorceSafe
19:07:43 <pikhq_> Visual SourceSafe.
19:07:46 <elliott> SCCS was 1972
19:07:47 <Vorpal> ah
19:07:50 <elliott> and then
19:07:51 <ais523> Vorpal: that's the most amazing failure to expand an acronym I've seen
19:07:53 <elliott> there was no other VCS
19:07:56 <ais523> given that you used its expansion a few lines ago
19:07:56 <elliott> until RCS in 1982
19:08:04 <elliott> well... there was "CA Software Change Manager"
19:08:04 <Vorpal> heh
19:08:12 <elliott> "CCC was designed to manage all the components that went into an aircraft engine, and seeing as the same engine was used by both the U.S. Air Force and U.S. Navy (for the F-14 Tomcat and F-15 Eagle) it required robust and reliable parallel development."
19:08:15 <pikhq_> VSS also makes RCS look decent.
19:08:32 <pikhq_> At least RCS didn't pretend to handle multiple users.
19:08:56 <pikhq_> Though, CVS did. :(
19:09:04 <elliott> oh, wow, does anyone remember when that guy had to quit developing Mercurial because he used BitKeeper at work?
19:09:12 <elliott> it was Bryan O'Sullivan (of Haskell fame)
19:09:44 <ais523> pikhq_: RCS is better at what it claims to do than VSS is at what /it/ claims to do, though
19:09:58 <ais523> at least RCS actually works when used for its intended purpose
19:10:02 <elliott> RCS is fairly decent, really
19:10:07 <Vorpal> <elliott> oh, wow, does anyone remember when that guy had to quit developing Mercurial because he used BitKeeper at work? <-- sounds familiar
19:10:09 <elliott> it's even sort of distributed
19:10:14 <elliott> in that, there's only one repository, but it's kept with the files
19:10:28 <elliott> well
19:10:28 <elliott> file
19:10:34 <elliott> I think you can actually use RCS distributed
19:10:37 <elliott> if you really wanted to
19:10:43 <Vorpal> sounds like a horrible idea
19:10:53 <pikhq_> It's a bit issue-filled, but sure, RCS does what it damned well claims.
19:10:54 <elliott> Vorpal: better than svn
19:11:12 <pikhq_> It stores the history of a file. Nice and simple.
19:11:32 <elliott> really, darcs is quite astonishing, history-wise
19:11:49 <elliott> for being one of the first DVCSes ever, it resembles the current user-interfaces of DVCSes
19:11:49 <elliott> like
19:11:55 <elliott> arch, darcs, monotone, svk
19:12:05 <elliott> all have wildly different, mostly extremely weird interfaces
19:12:08 <ais523> its interface is better than most current DVCSes by default, IMO
19:12:13 <Vorpal> elliott, yeah only VSS is worse than svn really
19:12:14 <elliott> ais523: indeed, but my point is like
19:12:18 <elliott> if you renamed record to commit
19:12:21 <elliott> and whatsnew to log or whatever
19:12:32 <elliott> you'd have something surprisingly close to "current" DVCSes
19:12:40 <ais523> most old DVCSes had really silly interfaces, whereas darcs' is not amazingly difficult from hg/git/bzr?
19:12:43 <elliott> somehow they got it pretty right first time
19:12:48 <elliott> ais523: yeah
19:12:50 <Vorpal> elliott, oh god, wasn't svk some thing on top of svn?
19:12:55 <pikhq_> Vorpal: Yes.
19:12:58 <elliott> Vorpal: yes, it's great :D
19:13:01 <Vorpal> ugh
19:13:26 <elliott> poll time: you have to use CVS or svn; which
19:13:51 <pikhq_> I make tarballs on a regular basis.
19:14:03 <elliott> that's not using CVS or svn
19:14:08 <pikhq_> Precisely.
19:14:20 <Vorpal> elliott, svn because with cvs if someone is committing while you are pulling you can get a inconsistent checkout.
19:14:32 <Vorpal> neither is good
19:14:33 <elliott> Vorpal: how high-traffic is your repository?
19:14:44 <elliott> that's like not using git because of the patch-ordering consistency issue
19:14:45 <Vorpal> elliott, assume something like freebsd ports
19:14:54 <elliott> like, is that really the best objection you can come up with
19:14:58 <elliott> Vorpal: you work on freebsd ports?
19:15:06 <elliott> cfunge: "freebsd ports"
19:15:09 <Vorpal> elliott, no, but in your scenario I am
19:15:10 <Vorpal> :P
19:15:24 <elliott> speaking of ports
19:15:30 <elliott> CVSup is a really weird piece of software
19:15:30 <pikhq_> CVS has a *lot* of really, really bad ideas that even SVN doesn't follow.
19:15:31 <CakeProphet> Lapro V. is sekret man.
19:15:37 <Vorpal> elliott, well yes
19:15:37 <elliott> it's written in fucking Modula-3
19:15:40 <elliott> MOUDLA-3
19:15:41 <Vorpal> is it!?
19:15:43 <Vorpal> why
19:15:53 <elliott> BECAUSE THE GUY LIKES MODULA-3???
19:15:54 <elliott> it even has its like
19:15:54 <CakeProphet> Modula is the best.
19:15:57 <Vorpal> elliott, I forgot what cvsup actually does
19:15:57 <CakeProphet> modules.
19:15:59 <elliott> own bindings to all the system interfaces it needs
19:16:03 <elliott> written in Modula-3
19:16:05 <elliott> and
19:16:08 <elliott> Vorpal: this is the best part
19:16:16 <pikhq_> For instance, a CVS tag does not have to correspond to a single changeset, because CVS doesn't know what a "changeset" is.
19:16:16 <elliott> Vorpal: the guy wrote his own Modula-3 for it
19:16:20 <Vorpal> lol
19:16:22 <elliott> because nobody could find a working Modula-3 compiler to compile it with
19:16:26 <elliott> so he wrote his own
19:16:28 <Vorpal> pikhq_, yes
19:16:35 <CakeProphet> elliott: wow
19:16:45 <pikhq_> Really, CVS not knowing what a "changeset" is is itself a major dealbreaker.
19:16:46 <Vorpal> elliott, what did cvsup do?
19:16:48 <Vorpal> I forgot
19:16:56 <elliott> Vorpal: rsync
19:17:02 <Vorpal> elliott, oh but with cvs?
19:17:12 <elliott> Vorpal: I don't think it even uses CVS
19:17:20 <Vorpal> elliott, so the name?
19:17:21 <elliott> oh
19:17:22 <elliott> "CVSup, when it recognizes a CVS file, will adapt its algorithm to take advantage of this and reduce the amount of data transferred."
19:17:28 <elliott> Vorpal: well it was intended to keep cvs repos in sync
19:17:28 <Vorpal> ah
19:17:33 <Vorpal> right
19:18:15 <Vorpal> anyway, yes cvsup on ports was always faster than emerge --sync (which used rsync)
19:18:27 <Vorpal> mostly due to not needing to read all the local files to compare
19:18:35 <Vorpal> I think
19:22:08 <elliott> I really hate how git makes me say something as scary as "git reset HEAD foo"
19:22:10 <elliott> just to unstage something
19:22:53 <pikhq_> There's a serious mismatch between the git UI and everything else.
19:23:02 <pikhq_> Just... Bleh.
19:23:59 <Sgeo|web> Am I an evil person for overhearing a conversation about where to find hg hosting and mentioning bitbucket?
19:24:22 <elliott> YES
19:24:24 <elliott> SO EVIIIIIIIIIIL
19:24:55 <Sgeo|web> I mean, I've heard people here say bad things about BitBucket before, but I have 0 experience with BitBucket, so don't know either way
19:25:18 <elliott> bleh, where the hell should I put this showConcatMap function?
19:25:30 <elliott> I suppose I could just inline it where I use it
19:25:41 <CakeProphet> doesn't Google Code host hg?
19:25:46 <elliott> google code is an abomination
19:25:50 <CakeProphet> well, right.
19:26:02 <elliott> I have heard exactly one person in my entire life say they like Google Code's UI, and they were terrible :P
19:27:09 <elliott> ?hoogle (a -> ShowS) -> [a] -> ShowS
19:27:09 <lambdabot> Text.Show showListWith :: (a -> ShowS) -> [a] -> ShowS
19:27:09 <lambdabot> Numeric showSigned :: Real a => (a -> ShowS) -> Int -> a -> ShowS
19:27:20 <elliott> ?hoogle (a -> b -> b) -> [a] -> b -> b
19:27:21 <lambdabot> Prelude foldr :: (a -> b -> b) -> b -> [a] -> b
19:27:21 <lambdabot> Data.List foldr :: (a -> b -> b) -> b -> [a] -> b
19:27:21 <lambdabot> Prelude scanr :: (a -> b -> b) -> b -> [a] -> [b]
19:27:24 <elliott> <lambdabot> Text.Show showListWith :: (a -> ShowS) -> [a] -> ShowS
19:27:24 <elliott> oh
19:27:25 <elliott> :DDD
19:27:31 <fizzie> I knew a BitBucket guy, he wanted (and got) us to use it in our group project on some course.
19:27:54 <fizzie> Here "BitBucket guy" just means "likes it", not "is officially involved it in any way".
19:37:00 -!- oerjan has joined.
19:39:04 <Vorpal> fizzie, surely s/any/some/ there?
19:39:20 <Vorpal> brb
19:41:19 <oerjan> any and some, the great scandinavian shibboleths
19:42:56 <Phantom_Hoover> Vorpal, what?
19:43:02 <Phantom_Hoover> He didn't say 'any'...
19:43:40 <elliott> <fizzie> Here "BitBucket guy" just means "likes it", not "is officially involved it in any way".
19:44:03 <Phantom_Hoover> Oh.
19:46:53 <Vorpal> is there a haskell package for doing matrix multiplication in efficient ways?
19:47:05 <Vorpal> for large matrices
19:47:13 <Vorpal> say, > 100x100
19:47:30 <oerjan> there's a binding to ...lapack, iirc
19:47:53 <Vorpal> oerjan, ah. I forgot, what was blas relation to lapack? An implementation?
19:48:50 <oerjan> i don't know, it's just lapack is what istr people mentioning as a frequently used linear algebra package (in C i think?)
19:49:00 <oerjan> (it
19:49:04 <Vorpal> fortran too
19:49:07 <oerjan> 's in the acronym of course)
19:49:11 <elliott> Vorpal: hmatrix
19:49:16 <oerjan> yeah it _would_ be one of those two :P
19:49:18 <Vorpal> elliott, thanks
19:49:21 <elliott> Vorpal: repa may interest you, it can automatically parallelise this stuff
19:49:23 <elliott> and is more hip than hmatrix
19:49:34 <Vorpal> hm okay
19:49:42 <elliott> Vorpal: and there's http://hackage.haskell.org/package/repa-algorithms
19:49:50 <elliott> http://hackage.haskell.org/packages/archive/repa-algorithms/2.2.0.1/doc/html/Data-Array-Repa-Algorithms-Matrix.html is matrix-matrix multiplication
19:49:59 <elliott> but it's definitely not lapack fast :P
19:50:07 <elliott> hm that thing recommends looking at hvector
19:50:23 <elliott> oh but there is no hvector
19:50:25 <elliott> so i guess it means hmatrix
19:50:40 <Vorpal> elliott, lapack fast is kind of what I need
19:50:49 <Vorpal> so hmatrix it is then
19:51:09 <elliott> Vorpal: what are you doing
19:51:11 <Vorpal> oerjan, I think lapack is both for fortran and C. That was my point
19:51:18 <Vorpal> elliott, my own secret project.
19:51:29 <elliott> Vorpal: you are not interesting like ais523, you don't get to have secrets
19:52:05 <Vorpal> elliott, whatever
19:53:05 <Vorpal> elliott, hm does hmatrix support parallelism too?
19:53:18 <Vorpal> because lapack with parallelism would be ideal here
19:53:22 <elliott> i'll tell you if you tell me what you are doing :p
19:54:18 <elliott> Vorpal: HMPH
19:54:35 <elliott> Vorpal: The answer is yes and no, anyway.
19:54:58 <Vorpal> oh thanks, I was writing out a short desc as you answered, guess I wouldn't have needed that
19:55:16 <elliott> Vorpal: I'll answer properly if you give that. :p
19:55:17 <Vorpal> you saved me the work of writing out the whole thing, for that I'm grateful.
19:55:23 <elliott> Helpfully, even!
19:55:37 <oerjan> elliott: Vorpal could have a secret project to conquer the world with dictatorial mundaneness
19:56:14 <Vorpal> elliott, sure, optimisation problem on physical measurements using least squares. There. Boring.
19:56:30 <Vorpal> elliott, no answer helpfully
19:56:37 <elliott> ok, I won't
19:56:41 <elliott> since you asked so kindly
19:56:47 <elliott> I will no answer helpfully
19:56:49 <Vorpal> ...
19:57:01 <Vorpal> elliott, come on. I guess I'll just use fortran otherwise.
19:57:05 <Vorpal> XD
19:57:22 <elliott> Vorpal: the answer is that no, to my knowledge hmatrix does no automatic parallelisation, though I guess your lapack, blas, gsl libraries could do so internally
19:57:28 <elliott> but you can always use the parallel package
19:57:31 <Vorpal> hm right
19:57:37 <Vorpal> fairly easy still
19:57:41 <elliott> (GHC's concurrency support is irrelevant, because your matrix computations are almost certainly pure)
19:57:41 <Vorpal> probably
19:57:50 <elliott> which part is probably
19:57:57 <elliott> if you have a tight loop that does IO, you don't have a tight loop
19:57:58 <Vorpal> elliott, "fairly easily"
19:58:00 <elliott> oh
19:58:28 <Vorpal> I just need to read in the hundreds of measurements from a file, they are already measured.
19:58:28 -!- sllide has quit (Ping timeout: 248 seconds).
19:58:41 <elliott> Vorpal: you will want to read http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/ and the documentation at http://hackage.haskell.org/packages/archive/parallel/3.1.0.1/doc/html/Control-Parallel-Strategies.html for parallel information
19:58:51 <Vorpal> hm
19:59:00 <Vorpal> thanks
20:01:50 <elliott> :t showListWith
20:01:51 <lambdabot> Not in scope: `showListWith'
20:01:58 <elliott> :t Text.Show.showListWith
20:01:59 <lambdabot> forall a. (a -> ShowS) -> [a] -> String -> String
20:02:01 <elliott> oerjan: I blame y- oh
20:02:07 <elliott> > Text.Show.showListWith shows [9,0,9] ""
20:02:08 <lambdabot> Not in scope: `Text.Show.showListWith'
20:02:11 <elliott> .........
20:02:52 <elliott> ais523: pikhq_: gah, how do I undo "git commit"?
20:04:33 <Deewiant> elliott: git reset --soft
20:04:43 <Deewiant> elliott: git reset --soft 'HEAD^'
20:05:11 <ais523> I think that's about right
20:05:39 <elliott> Deewiant: Thanks
20:05:48 <elliott> Now I just need to figure out where to put showConcatMap = foldr . flip
20:08:37 <Vorpal> elliott, hm given the amount of data I have doing this on the GPU might be more efficient, in which case C + opencl is probably less headache inducing than doing it from haskell
20:09:05 <elliott> Vorpal: I invite ais523 to shatter your illusions
20:09:22 <Vorpal> elliott, oh? I thought matrix multiplication on GPU was fairly efficient
20:09:25 <ais523> it is
20:09:32 <elliott> It probably is, but I'm sure there's some catch to your problem
20:09:34 <ais523> but the GPU toolchain takes a bit of getting used to
20:09:36 <Vorpal> then what is elliott talking about
20:09:45 <ais523> elliott: matrix multiplication, GPUs are pretty much perfect for
20:09:54 <ais523> computer graphics is mostly matrix multiplication, among other things
20:10:00 <elliott> ais523: I'm sure Vorpal is doing something more than just multiplying a billion matrices and doing nothing else
20:10:09 <Vorpal> elliott, I'm transposing them too
20:10:14 <CakeProphet> t*(t>>6&t>>(7*sin(t/4000)))
20:10:17 <CakeProphet> this one is really cool.
20:10:18 <elliott> Vorpal: Anyway, the time it'll take you to deal with the OpenCL API's unforgivable terribleness is not worth it IMO
20:10:28 <Vorpal> elliott, possibly
20:10:34 <elliott> Vorpal: Unless it'll save you over two days of computation time, I'd stick to hmatrix
20:10:42 <elliott> Because it'll definitely cost you two days of coding time :P
20:10:47 <Vorpal> *or*, I could just shove it into mathematica and wait a few days.
20:11:02 <elliott> ais523: haha, look at Vorpal, he thinks Mathematica would complete his problem in days
20:11:08 <Vorpal> elliott, no
20:11:12 <elliott> he must not have heard of the hip new unit of time, decades
20:11:16 <Vorpal> elliott, months would be more like it
20:11:20 <Vorpal> maybe decades. Maybe
20:11:50 <Vorpal> elliott, anyway I have about 200 GB data.
20:12:17 <Vorpal> I guess I'll try hmatrix on a subset and extrapolate the time it would take on the whole.
20:13:27 <elliott> Vorpal: You'll probably fuck up the Haskell and cause it to take about fifteen times longer than it should. (I would. Most people would.)
20:13:37 <Vorpal> elliott, true...
20:13:42 <Vorpal> elliott, so then, C?
20:13:53 <elliott> Vorpal: No, just don't give up on Haskell before you've proved it's not your own fault.
20:13:53 <Vorpal> and then add opencl if it takes forever
20:14:06 <Vorpal> elliott, I don't have a lot of time to waste on this.
20:14:25 <elliott> Vorpal: You're considering using C for the problem. You're considering using C with OpenCL for the problem.
20:14:29 <elliott> You definitely have enough time to waste.
20:15:08 <Vorpal> elliott, anyway this is quite trivial in C with lapack. The APIs don't seem too insane for it
20:15:34 <elliott> Shrug, hurt yourself if you wish
20:15:59 <CakeProphet> numpy is probably your best choice.
20:16:06 <Vorpal> elliott, it suffers the general numerical C function explosion though
20:16:11 <Vorpal> elliott, same as gmp
20:16:20 <oerjan> <elliott> Now I just need to figure out where to put showConcatMap = foldr . flip <-- istr flip . foldr, also maybe composeMap would be a more generic name?
20:17:22 <elliott> Er yes, flip . foldr
20:17:25 <elliott> And possibly
20:17:26 <elliott> Hmm
20:17:41 <elliott> It's (ala Endo foldMap . map f), isn't it?
20:17:49 <elliott> Where (ala Endo foldMap) is what mconcat SHOULD be on functions :)
20:17:55 <elliott> Hmm
20:18:04 <elliott> I guess it can't be because that'd leave out (a -> b) for a ~/~ b
20:18:37 <CakeProphet> do modern machines have a circular bitshift operation?
20:18:48 <Vorpal> CakeProphet, why numpy? Python is slow...
20:18:58 <CakeProphet> Vorpal: dude but it's eeregunt
20:19:00 <elliott> Vorpal: numpy is written in C.
20:19:06 <Vorpal> elliott, "eeregunt"?
20:19:08 <Vorpal> errr
20:19:09 <elliott> It's obviously not your best choice, because it'd involve coding Python.
20:19:09 <Vorpal> CakeProphet, ^
20:19:12 <Vorpal> wtf is "eeregunt"
20:19:14 <elliott> But numpy is certainly fast.
20:19:18 <elliott> By virtue of being written in C.
20:19:19 <Vorpal> elliott, hm
20:19:22 <Vorpal> right
20:19:27 <elliott> (Hint: You don't write loops with numpy, you call pre-existing loops.)
20:19:32 <Deewiant> Vorpal: "elegant"
20:19:44 <Vorpal> Deewiant, maaaybe
20:19:50 <Vorpal> a bit too typoed for that
20:19:54 <CakeProphet> I think Vorpal was taking my suggestion as serious advice.
20:20:06 <elliott> Vorpal: Deewiant is right.
20:20:07 <Deewiant> I do believe it was intentional, not a typo
20:20:09 <Vorpal> CakeProphet, you were joking? okay
20:20:15 <elliott> I am the expert in interpreting people.
20:20:26 <CakeProphet> yes elliott is our people person
20:20:31 <CakeProphet> otherwise we are all daft fools.
20:20:32 <elliott> Not even remotely the same thing.
20:20:46 <CakeProphet> "people person" in the sense of understanding people.
20:20:49 <elliott> I used to get really irritated at PEOPLE ON THE INTERNET for not being able to get what a completely incoherent rambler was trying to say. :p
20:20:52 <oerjan> :t flip . foldr
20:20:53 <lambdabot> forall b a. (a -> b -> b) -> [a] -> b -> b
20:20:54 <elliott> ~~SOCIAL SKILLS~~
20:20:56 <CakeProphet> not as in "la de da de da I love oscialising"
20:21:02 <elliott> I love oscialising.
20:21:22 <elliott> hm oh dear
20:21:29 -!- pikhq has joined.
20:21:33 <elliott> I bet oerjan knows if there's a way to log thread creation and destruction with GHC
20:21:37 -!- pikhq_ has quit (Ping timeout: 256 seconds).
20:21:38 * CakeProphet is an expert in incoherent rambling.
20:21:38 <elliott> If not him then DEFINITELY Deewiant
20:21:43 <CakeProphet> TOGETHER WE CREATE A CONVERSATION.
20:22:15 <CakeProphet> elliott: er, thread creation? couldn't you just track that yourself? Or are you talking about parallel?
20:22:18 <oerjan> elliott: istr one uses MVars or so to communicate from threads that want to tell about it...
20:22:27 <elliott> Destruction is more important than creation
20:22:29 -!- Ngevd has joined.
20:22:31 <elliott> And I'm talking about forkIO threads
20:22:32 <CakeProphet> ah yes
20:22:49 <Ngevd> Hello!
20:22:49 <elliott> Basically the problem is:
20:22:50 <CakeProphet> well you /could/ put a putStr at the end of the thread, but that's probably not, uh, fool-proof.
20:22:56 <elliott> My logging things kept logging empty data lists coming in
20:22:58 <elliott> Even after disconnect
20:23:03 <elliott> And I'm like
20:23:04 <elliott> okay
20:23:05 <elliott> but it's at EOF
20:23:07 <elliott> so why are you still running
20:23:12 <elliott> I switched data0I → dataI
20:23:17 <elliott> so now it throws an exception on EOF like it should
20:23:23 <elliott> and the iterIO library SHOULD exit
20:23:27 <elliott> and the thread SHOULD therefore die
20:23:30 <elliott> but I want to make sure it actually is dying
20:23:37 <elliott> otherwise I have like, a thread leak
20:23:48 <CakeProphet> you could catch the exception and print, right?
20:23:56 <CakeProphet> >_>
20:24:07 <CakeProphet> definitely too easy because you would have though of that.
20:24:07 <elliott> iterIO exceptions are not exceptions in that sense.
20:24:11 <elliott> Well, they are, but no, Iter.run catches EOF.
20:24:13 <CakeProphet> ah okay.
20:24:32 <elliott> Throwing an EOF exception is expected termination behaviour in iterIO.
20:25:06 <CakeProphet> 16:18 < CakeProphet> do modern machines have a circular bitshift operation?
20:25:23 <CakeProphet> is there a circular bitshift anywhere?
20:25:48 <CakeProphet> y = (x >> shift) | (x << (32 - shift));
20:25:48 * oerjan vaguely recalls the 6502 ROT
20:25:54 <CakeProphet> oh look I found a circular bitshift idiom in C
20:25:59 <CakeProphet> hurray Wikipedia.
20:26:22 <CakeProphet> ....wow that's really obvious.
20:26:26 <Vorpal> CakeProphet, you mean roll?
20:26:34 <CakeProphet> uh, maybe?
20:26:36 <Deewiant> So many extra parens
20:26:50 <elliott> Deewiant: Thank god
20:26:56 <Vorpal> CakeProphet, if you mean the top bit is put in the bottom bit
20:26:58 <elliott> Nobody uses bitwise operations, nobody knows what precedence bitwise operations are :P
20:27:00 <Vorpal> then there is rol I guess
20:27:01 <CakeProphet> some people are afraid of bitwise operator precedence.
20:27:04 <Vorpal> on x86
20:27:05 <CakeProphet> such as myself.
20:27:15 <CakeProphet> Vorpal: its a bitshift
20:27:17 <CakeProphet> and its circular
20:27:21 <CakeProphet> pretty self-explanitory.
20:27:32 <oerjan> an operator precedence bitwised my sister
20:27:38 <Vorpal> CakeProphet, you mean moving top bit to bottom bit or vice versa?
20:27:47 <CakeProphet> ....
20:27:53 <CakeProphet> not just top and bottom I assume.
20:28:06 <Vorpal> CakeProphet, more than one bit at once? Sure
20:28:22 <CakeProphet> I would think that's opssible, yes.
20:28:39 -!- zzo38 has joined.
20:29:10 <CakeProphet> also for a 64-bit system 32 would most likely need to be 64 in the above expression.
20:29:29 <Vorpal> CakeProphet, yeah use stdint.h and int32_t or int64_t
20:29:40 <CakeProphet> ah didn't know that was a thing.
20:29:42 * CakeProphet is a C noob.
20:29:50 <Vorpal> CakeProphet, it is C99
20:29:57 <elliott> CakeProphet: What are you doing?
20:30:07 <CakeProphet> elliott: ...reading Wikipedia and being curious. :P
20:30:12 <Vorpal> CakeProphet, won't work in C++ nor C89
20:30:31 <CakeProphet> well if I ever time travel into the past that might be an issue.
20:30:57 <CakeProphet> on the plus side I get to invent CakeScript and revolutionize computing or something.
20:31:03 <CakeProphet> probably not.
20:31:22 <Vorpal> probably not indeed
20:31:23 <CakeProphet> unless I go back a really long time.
20:31:32 <Vorpal> like the 1950s?
20:31:49 <CakeProphet> and then I can spend like 20 years making what is essentially a Perl/Haskell hybrid, back when Algo is still around.
20:31:52 <CakeProphet> yes.
20:31:56 <CakeProphet> +l
20:32:31 <Vorpal> CakeProphet, problem with perl/haskell: won't run on the computers back then
20:32:36 <CakeProphet> that's fine
20:32:46 <CakeProphet> I'll just develop it, publish it, and then wait for it to catch on.
20:32:48 <CakeProphet> >_>
20:32:54 <Vorpal> CakeProphet, -_-
20:33:16 <CakeProphet> or maybe I'll make C but with more Haskell.
20:33:21 <CakeProphet> and MAKE COMPUTING BETTER FOREVER.
20:33:34 <elliott> Vorpal: I'm sure a Haskell compiler would have been practical as soon as Algol was
20:33:34 <Ngevd> Why not just make Haskell?
20:33:53 <elliott> Ngevd: He's trying to ruin computing, not save it.
20:33:53 <Vorpal> elliott, maybe but the GC and so on
20:33:59 <Vorpal> not really realistic back then
20:34:00 <elliott> Vorpal: Region inference
20:34:08 <elliott> Incremental GC
20:34:10 <oerjan> then someone named iverson will investigate it and extract its essence into a language called apl
20:34:20 <Vorpal> elliott, not sure the code for those could fit on the computers back then
20:34:31 <elliott> Vorpal: Executable packers? :p
20:35:04 <Vorpal> elliott, I meant in ram
20:35:17 <CakeProphet> well "make Haskell" would actually require that I know something about compilers
20:35:21 <elliott> just compress the program and decompress the gc every gc cycle
20:35:23 <Vorpal> elliott, or core memory rather
20:35:25 <CakeProphet> I suppose making computing better also would.
20:35:26 <elliott> and vice versa
20:35:29 <Vorpal> elliott, remember. CORE MEMORY
20:35:33 <Vorpal> if you were LUCKY
20:35:42 <elliott> I am: joking.
20:35:47 <Vorpal> right
20:35:56 <Vorpal> you forgot the indicator
20:35:58 <CakeProphet> :P
20:36:31 <CakeProphet> :P is either "I'm joking" or "haha fuck off"
20:36:51 <oerjan> best not to collapse that wavefunction
20:36:55 <Vorpal> your best bet would be to bet on horses instead, put it in a number bank account overseas
20:37:18 <CakeProphet> is a number where you go to deposit and withdraw numbers?
20:37:22 <CakeProphet> *number bank
20:37:28 <oerjan> core memory should be perfect for ghc core, right
20:37:35 <CakeProphet> do they accept irrational numbers?
20:37:39 <Vorpal> CakeProphet, should be parsed as "number (bank account)"
20:37:47 <Vorpal> CakeProphet, like they don't know who you are
20:37:54 <Vorpal> you just have a number to access the account
20:38:22 <Vorpal> traditionally Swiss accounts
20:38:38 <CakeProphet> Vorpal: ah so a Swedish bank, as it would be referred to in the states.
20:38:49 <Vorpal> CakeProphet, Swiss
20:38:50 <CakeProphet> er, yes Sqiss
20:38:51 <Vorpal> not Swedish
20:38:52 <CakeProphet> lol
20:39:05 <CakeProphet> I forget who has awesome banks.
20:39:19 <oerjan> huh godel's lost letter is making a post on that claimed peano inconsistency proof
20:40:09 <elliott> swedish bank
20:40:11 <oerjan> no, laptop, this is not the right time to start thrashing
20:40:12 <CakeProphet> Sqitzerland is the best.
20:40:15 <Vorpal> oerjan, "gödel's lost letter", what is that
20:40:24 <CakeProphet> swedish banks are neutral on the matter of secrecy.
20:40:41 <oerjan> Vorpal: a blog, one of the best, about theoretical computer science, in particular complexity theory
20:41:22 <oerjan> the full title is "Gödel's lost letter and P = NP"
20:41:37 <CakeProphet> I love prestigious blags.
20:41:49 <CakeProphet> good for the world.
20:42:19 <oerjan> http://rjlipton.wordpress.com/2011/10/01/what-if-peano-is-inconsistent/ although i am just starting to read it myself
20:45:55 <elliott> Re: The Inconsistency of Arithmetic
20:45:56 <elliott> You are quite right, and my original response was wrong. Thank you for spotting my error.
20:45:56 <elliott> I withdraw my claim.
20:45:56 <elliott> Posted by: Edward Nelson on October 1, 2011 1:39 PM | Permalink | Reply to this
20:46:08 <elliott> that seems a bit, um, sudden, if the guy is writing a book about it
20:46:45 <oerjan> at least it's up front :P
20:46:59 <elliott> I'm wondering if he means some sub-claim or something
20:47:05 <CakeProphet> yes I think so
20:47:25 <CakeProphet> I believe he's talking about a specific point in a discussion
20:47:32 <CakeProphet> ...points I don't understand..
20:47:51 <CakeProphet> I agree with all your comments up to (3). But I don’t use (3). I use the Chaitin machine, or proof verifier, for the fixed theory Q_0^*
20:47:55 <CakeProphet> weird emoticin.
20:47:59 <CakeProphet> *o
20:48:45 <Madoka-Kaname> :t text
20:48:46 <lambdabot> String -> Doc
20:48:55 <elliott> Madoka-Kaname: http://hackage.haskell.org/packages/archive/pretty/1.1.0.0/doc/html/Text-PrettyPrint-HughesPJ.html
20:49:19 <Madoka-Kaname> > text $ fix ("]["++)
20:49:27 -!- augur has quit (Remote host closed the connection).
20:49:32 <Madoka-Kaname> > text $ take 1000 $ fix ("]["++)
20:49:34 <lambdabot> ][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]...
20:49:34 <lambdabot> thread killed
20:49:43 <Madoka-Kaname> text isn't lazy. :(
20:50:34 -!- ive has joined.
20:50:45 -!- derdon has joined.
20:51:20 <lifthrasiir> -rw-r--r-- 1 lifthrasiir staff 131183666 10 2 05:46 lostkng.b.wrl
20:51:21 <lifthrasiir> -rw-r--r-- 1 lifthrasiir staff 176209 10 2 05:46 lostkng.b.wrl.bz2
20:51:23 <elliott> text s = case length s of {sl -> textBeside_ (Str s) sl Empty}
20:51:23 <lifthrasiir> low entropy!
20:51:32 <elliott> lifthrasiir: LostKng is full of lots of noise
20:51:38 <elliott> if you ran it through a BF optimiser that might help
20:51:45 <CakeProphet> I don't know it's kind of ambiguous as to which claim he is withdrawing.
20:51:47 <elliott> but it's still essentially repetitive thanks to the bad compiler
20:51:47 <CakeProphet> maybe if I knew more maths.
20:52:00 <elliott> hm wait
20:52:01 <oerjan> :t val
20:52:01 <lambdabot> forall a. Dif a -> a
20:52:03 <elliott> oerjan: text s = case length s of {sl -> textBeside_ (Str s) sl Empty}
20:52:04 <oerjan> :t var
20:52:05 <lambdabot> forall a. String -> Sym a
20:52:07 <lifthrasiir> elliott: well, but it has ran through bf2whirl so it has even more noise
20:52:08 <elliott> that doesn't necessarily force length s right?
20:52:11 <elliott> lifthrasiir: haha
20:52:20 <oerjan> > var $ fix ("]["++)
20:52:22 <lambdabot> ][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]...
20:52:26 <oerjan> Madoka-Kaname: that one is
20:52:29 <elliott> textBeside_ :: TextDetails -> Int -> RDoc -> RDoc
20:52:29 <elliott> textBeside_ s sl p = TextBeside s sl p
20:52:37 <elliott> oerjan: I guess something forces the length on output, then
20:52:39 <lifthrasiir> anyway it would be the biggest ever Whirl program (131MB)
20:52:53 <elliott> yeah
20:52:55 <lifthrasiir> even esotope chokes while using lots of memory
20:53:03 <elliott> lifthrasiir: yikes
20:53:13 <lifthrasiir> (even though it uses compressed format to reduce memory! :S)
20:53:18 <elliott> oerjan: anyway re:
20:53:18 <elliott> <oerjan> <elliott> Now I just need to figure out where to put showConcatMap = foldr . flip <-- istr flip . foldr, also maybe composeMap would be a more generic name?
20:53:25 <elliott> the genericity doesn't help, I still have no idea where to put it :D
20:53:31 <elliott> MC.Protocol does /not/ seem the place
20:53:48 <elliott> lifthrasiir: Has esotope-bfc been updated to the new system?
20:53:55 <lifthrasiir> in progress.
20:54:43 <elliott> cool
20:54:50 <oerjan> <elliott> that doesn't necessarily force length s right? <-- i wouldn't think so, probably textBeside_ does then
20:54:59 <elliott> oerjan: it's just a constructor, so no
20:55:02 <elliott> it's the rendering function that forces it
20:55:06 <elliott> because of line width etc.
20:56:18 <oerjan> <elliott> the genericity doesn't help, I still have no idea where to put it :D <-- Data.Function or Data.List?
20:56:29 <elliott> oerjan: I don't own the base package :P
20:57:31 <oerjan> no, but if people keep reinventing it...
20:57:44 <oerjan> :t compose
20:57:45 <lambdabot> Not in scope: `compose'
20:57:49 <oerjan> @hoogle compose
20:57:49 <lambdabot> No results found
20:58:13 <oerjan> it would seem natural in relation to things like max/maximum
20:58:23 <CakeProphet> elliott: the problem with these bitshift DSP things is that there's no apparently sane way to compose them together..
20:58:36 <CakeProphet> maybe if you actually understood what was going on..? then you could sync times?
20:58:58 <oerjan> @hoogle [a b b] -> a b b
20:58:58 <lambdabot> Data.Map unions :: Ord k => [Map k a] -> Map k a
20:58:58 <lambdabot> Data.Graph.Inductive.Internal.Heap mergeAll :: Ord a => [Heap a b] -> Heap a b
20:58:58 <lambdabot> Data.Graph.Inductive.Basic grev :: DynGraph gr => gr a b -> gr a b
20:59:15 <oerjan> @hoogle [b -> b] -> b -> b
20:59:16 <lambdabot> Data.Generics.Schemes everywhere :: (a -> a) -> a -> a
20:59:16 <lambdabot> Data.Generics.Schemes everywhere' :: (a -> a) -> a -> a
20:59:16 <lambdabot> Prelude until :: (a -> Bool) -> (a -> a) -> a -> a
20:59:38 <oerjan> i guess we've done that search before
21:00:25 <elliott> yeah :P
21:00:25 <CakeProphet> also, I made THE REAL poop machine: t*(t>>6&t>>(1000*sin(t/4000)))
21:00:47 <elliott> oerjan: meanwhile, I am inventing The Best Sequence Structure
21:01:55 <Madoka-Kaname> :t foldl ($)
21:01:56 <lambdabot> Occurs check: cannot construct the infinite type: b = b1 -> b
21:01:56 <lambdabot> Probable cause: `$' is applied to too many arguments
21:01:56 <lambdabot> In the first argument of `foldl', namely `($)'
21:02:10 <Madoka-Kaname> :t flip foldl $ ($)
21:02:11 <lambdabot> forall b a b1. (((a -> b1) -> a -> b1) -> b -> (a -> b1) -> a -> b1) -> [b] -> (a -> b1) -> a -> b1
21:02:17 <Madoka-Kaname> :t foldl
21:02:17 <lambdabot> forall a b. (a -> b -> a) -> a -> [b] -> a
21:02:34 <Madoka-Kaname> :t ($)
21:02:35 <lambdabot> forall a b. (a -> b) -> a -> b
21:03:05 <zzo38> I want to see if I can understand contravariant. Are barrier monads contravariant with respect to the back types? Since we have convert :: (f -> f') -> (b' -> b) -> Barrier f b t -> Barrier f' b' t; I looked up something about contravariant and this function seem similar with back type but I am unsure I don't know much about it, really
21:03:06 <Madoka-Kaname> :t (.)
21:03:07 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
21:03:28 <Deewiant> @ty flip foldl $ flip ($)
21:03:29 <lambdabot> forall b a b1. ((a -> (a -> b1) -> b1) -> b -> a -> (a -> b1) -> b1) -> [b] -> a -> (a -> b1) -> b1
21:03:34 <Madoka-Kaname> :t flip $ foldl (.)
21:03:35 <lambdabot> forall a b. [a -> a] -> (a -> b) -> a -> b
21:03:59 <fizzie> Vorpal: In case this wasn't answered, BLAS is the thing that does Basic Linear Algebra Somethings; vector-vector, vector-matrix and matrix-matrix operations, mostly. And then LAPACK builds on top of those to do more complicated linear algebra things.
21:04:06 <Madoka-Kaname> :t (flip $ foldl (.)) id
21:04:06 <lambdabot> Couldn't match expected type `[a -> a]'
21:04:07 <lambdabot> against inferred type `a1 -> a1'
21:04:07 <lambdabot> In the first argument of `(flip $ foldl (.))', namely `id'
21:04:14 <Madoka-Kaname> :t foldl (.) id
21:04:15 <lambdabot> forall a. [a -> a] -> a -> a
21:04:36 <Madoka-Kaname> :t foldl (.) id [+1,+2,+3,+4,+5) 0
21:04:37 <lambdabot> parse error on input `)'
21:04:38 <Madoka-Kaname> :t foldl (.) id [+1,+2,+3,+4,+5] 0
21:04:39 <lambdabot> A section must be enclosed in parentheses thus: (+ 1)
21:04:40 <lambdabot> A section must be enclosed in parentheses thus: (+ 2)
21:04:40 <lambdabot> A section must be enclosed in parentheses thus: (+ 3)
21:04:52 <Madoka-Kaname> :t foldl (.) id [(+1),(+2),(+3),(+4),(+5)] 0
21:04:52 <lambdabot> forall a. (Num a) => a
21:04:57 <Madoka-Kaname> > foldl (.) id [(+1),(+2),(+3),(+4),(+5)] 0
21:04:58 <lambdabot> 15
21:05:05 * Madoka-Kaname pokes oerjan
21:05:25 <Phantom_Hoover> Poerjan.
21:07:37 <elliott> Madoka-Kaname: that's the obvious implementation, yes
21:08:37 <oerjan> <zzo38> [...] Are barrier monads contravariant with respect to the back types? [...] <-- i think so yes
21:09:00 <Madoka-Kaname> :t wee l a = wee (tail l) $ head l $ a
21:09:01 <lambdabot> parse error on input `='
21:09:06 * Madoka-Kaname hides
21:09:24 <Madoka-Kaname> @pl wee l a = wee (tail l) $ head l $ a
21:09:25 <lambdabot> wee = fix ((`ap` head) . ((.) .) . (. tail))
21:09:31 <elliott> oerjan: oh no, my perfect structure is not so perfect
21:09:40 <Sgeo|web> AIM spambots are amusing
21:09:43 <Madoka-Kaname> :t fix ((`ap`head).((.).).(.tail))
21:09:44 <lambdabot> forall a b. [a -> a] -> a -> b
21:09:51 <Madoka-Kaname> Kyu?
21:10:07 <Madoka-Kaname> @pl wee l a = wee (tail l) $ (head l) a
21:10:07 <lambdabot> wee = fix ((`ap` head) . ((.) .) . (. tail))
21:10:23 <elliott> oerjan: head... is O(n)...
21:10:29 <Sgeo|web> Kyuubey?
21:10:29 <oerjan> fancy.
21:11:08 <elliott> oerjan: :'(
21:11:14 <elliott> oerjan: do you want to know what it was...................................
21:11:27 <oerjan> Madoka-Kaname: why foldl? i think it's going to be worse than foldr there in practice.
21:11:40 <Madoka-Kaname> @pl wee l a = if' (length l == 0) a (wee (tail l) $ (head l) a)
21:11:40 <lambdabot> wee = fix (ap (ap . if' . (0 ==) . length) . (`ap` head) . ((.) .) . (. tail))
21:11:42 <oerjan> > (flip . foldr) [(+1),(+2),(+3),(+4),(+5)] 0
21:11:42 <lambdabot> Couldn't match expected type `a -> b -> b'
21:11:42 <lambdabot> against inferred type `[...
21:11:58 <oerjan> wat
21:12:04 <Madoka-Kaname> :t fix(ap(ap.if'.(0==).length).(`ap`head).((.).).(.tail))
21:12:05 <lambdabot> Not in scope: `if''
21:12:06 <oerjan> oh right
21:12:12 <elliott> oerjan: :'(
21:12:12 <Madoka-Kaname> :t fix(ap(ap.if' .(0==).length).(`ap`head).((.).).(.tail))
21:12:13 <lambdabot> Not in scope: `if''
21:12:15 <oerjan> > (flip . foldr) id [(+1),(+2),(+3),(+4),(+5)] 0
21:12:17 <lambdabot> 15
21:12:35 <Madoka-Kaname> :t foldr
21:12:36 <lambdabot> forall a b. (a -> b -> b) -> b -> [a] -> b
21:12:45 <elliott> monqy: tell oerjan not nice not talk
21:13:03 <Sgeo|web> Madoka-Kaname: /人◕ ‿‿ ◕人\ Contract?
21:13:10 <Madoka-Kaname> Sgeo|web, nthx
21:13:16 <Madoka-Kaname> Try again tomorrow
21:13:16 <monqy> what happened
21:13:21 <monqy> is oerjan not niceing
21:13:25 <elliott> monqy: oerjan not talking
21:13:32 <oerjan> elliott: do you want to tell about it
21:13:43 <elliott> oerjan: if only.. to provide laughter...of how...
21:13:45 <elliott> dumbi was :'(
21:13:59 <monqy> :'(
21:14:26 <elliott> oerjan: it was...
21:14:28 <elliott> oerjan: a difference list zipper
21:14:37 <Madoka-Kaname> @pl wee l a = if (length l == 0) then a else (wee (tail l) $ (head l) a)
21:14:37 <lambdabot> wee = fix (ap (ap . if' . (0 ==) . length) . (`ap` head) . ((.) .) . (. tail))
21:14:40 -!- augur has joined.
21:14:44 <elliott> i was thinking that since zippers were basically functional doubly linked lists... and difference lists had O(one) append...
21:14:47 <elliott> combine... to get perfect structure?
21:14:53 <Madoka-Kaname> :t if'
21:14:54 <lambdabot> Not in scope: `if''
21:15:30 <oerjan> Madoka-Kaname: length is a very good way of ruining any chance of working on infinite lists
21:15:53 <oerjan> i.e., please use pattern matching.
21:16:00 <elliott> oh no use of head and tail and length
21:16:02 <elliott> and even
21:16:05 <elliott> length l == 0 instead of null l
21:16:06 <elliott> but even then
21:16:07 <elliott> no
21:16:08 <elliott> adbad
21:16:10 <elliott> person :(
21:16:19 <oerjan> well you could use null. but still, use pattern matching instead.
21:16:23 <Madoka-Kaname> oerjan, an infinite list of functions is never going to return anyways.
21:16:24 <Madoka-Kaname> =p
21:16:31 <elliott> um
21:16:36 <oerjan> @_@
21:16:40 <elliott> methinks Madoka-Kaname is not very experienced with lazy evaluation.
21:16:52 <monqy> :t if'
21:16:53 <Sgeo|web> > take 5 $ [1..]
21:16:53 <lambdabot> Not in scope: `if''
21:16:54 <lambdabot> [1,2,3,4,5]
21:16:56 <elliott> > foldr (.) id (cycle [(0:),(9:)]) []
21:16:57 <lambdabot> [0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,...
21:16:59 <elliott> Madoka-Kaname: behold
21:17:06 <Madoka-Kaname> Uh.
21:17:07 <monqy> what is this if' thing in the @pl output
21:17:08 <elliott> > length (cycle [(0:),(9:)])
21:17:09 <Madoka-Kaname> ^^;
21:17:16 <Madoka-Kaname> Okey, you win.
21:17:23 <elliott> okey spelled with e
21:17:24 <lambdabot> thread killed
21:17:30 <Madoka-Kaname> > foldr (.) id [id..] 0
21:17:31 <lambdabot> No instance for (GHC.Enum.Enum (b -> b))
21:17:31 <lambdabot> arising from a use of `e_10' at...
21:17:32 <Phantom_Hoover> lambdabot is suitably mortified.
21:17:39 <Madoka-Kaname> > foldr (.) id (repeat id) 0
21:17:42 <lambdabot> mueval-core: Time limit exceeded
21:17:42 <oerjan> monqy: it's just for @pl's internal use for if then else. if' b t e = if b then t else e
21:17:52 <Sgeo|web> why did i put a $ there
21:17:56 <Sgeo|web> > take 5 [1..]
21:17:57 <lambdabot> [1,2,3,4,5]
21:18:10 <monqy> if onley: points fre patren matcheing
21:19:17 -!- augur has quit (Remote host closed the connection).
21:19:46 <CakeProphet> (t*((t>>16|t>>8)+(t>>23)&63&t>>(3+3*sin(t/10000)))*4)
21:19:47 <CakeProphet> bahahahaha
21:19:49 <CakeProphet> insane.
21:19:56 <Madoka-Kaname> What does that do
21:20:07 <CakeProphet> http://www.bemmu.com/music/index.html
21:20:45 <elliott> CakeProphet: this is not very listenable
21:20:52 <CakeProphet> .....oh, it's not?
21:20:58 <oerjan> Madoka-Kaname: the difference here is that (0:) and (9:) are lazy functions while id is a strict function. this means that composing an infinite list of the former can still give a useful function, since they don't need to always look at their argument, while id does.
21:20:59 <elliott> well
21:21:02 <elliott> don't get me wrong
21:21:03 <elliott> it's genius
21:21:07 <elliott> just not very tuneful :D
21:21:14 * CakeProphet listens to noise music.
21:21:21 <CakeProphet> maybe I'm just desensitized to that.
21:21:33 <elliott> i like it, i'm just saying 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024)) is way better.
21:21:33 <elliott> :|
21:21:58 <elliott> CakeProphet: the beat in yours is interesting though.
21:22:22 <CakeProphet> I've noticed that changing the multiplier there (the *4 in this case) tends to decrease the intensity
21:22:23 <oerjan> Madoka-Kaname: basically foldr (.) id (repeat f) whatever = fix f
21:22:30 <CakeProphet> I've basically been playing with this one expression but plugging in different parameters.
21:24:18 -!- pikhq_ has joined.
21:25:06 <CakeProphet> it's based off the original one I posted to this channel: (t*((t>>8|t>>9)+(t>>10)&27)*100)
21:25:37 <CakeProphet> so then I made a similar one but with more distortion: (t*((t>>9|t>>8)+(t>>10)&27&t>>4)*100)
21:25:40 <elliott> yeah I recognised it as an obvious remix :P
21:25:43 <CakeProphet> and now I've gotten to this craziness.
21:26:22 <CakeProphet> changing the 4 to a 3 also yields interesting results.
21:26:28 <CakeProphet> actually this pattern is awesome and does all sorts of shit.
21:27:01 -!- pikhq has quit (Ping timeout: 248 seconds).
21:28:17 <elliott> CakeProphet: 100*sin(Math.log(t%9)^Math.sqrt((9+(t>>8))*(t%1024))<<(t/1024))
21:28:19 <CakeProphet> elliott: 100*sin(Math.log(10*(t%9))^Math.sqrt(10*(t%1024))<<(t/1024)) is pretty awesome...
21:28:23 <CakeProphet> not going to lie
21:28:35 <elliott> BUT NOW I AM EVOLVING IT
21:28:40 <CakeProphet> this one has LASER SOUNDS
21:28:41 <CakeProphet> nice.
21:28:57 <elliott> it has long-term evolution which is nice
21:29:03 <CakeProphet> still a small but committed fanbase will prefer my more avant garde style. :P
21:29:25 <CakeProphet> I like to add really low frequency oscillators to evolve things. I'm not really sure where this one evolves.
21:29:29 <elliott> t*Math.random() <-- avant garde
21:29:30 <CakeProphet> sqrt?
21:29:43 <Madoka-Kaname> CakeProphet, what does that function return?
21:29:49 <CakeProphet> ...sqrt? or?
21:29:55 <Madoka-Kaname> The input.
21:29:58 <CakeProphet> t?
21:30:05 <CakeProphet> what are you talking about.
21:30:19 <Madoka-Kaname> What are those equations supposed to be outputting.
21:30:23 <elliott> pcm samples
21:30:24 <CakeProphet> numbers
21:30:28 <CakeProphet> yes that.
21:30:34 <CakeProphet> also numbers.
21:30:35 <elliott> eight-bit ones.
21:30:37 <CakeProphet> floating point
21:30:39 <CakeProphet> er
21:30:43 <CakeProphet> floating point as well right?
21:30:44 <elliott> eight thousand of them per second
21:30:51 <elliott> CakeProphet: well, yes, but that'll get rounded off when converting to audio i think
21:30:56 <CakeProphet> ah okay.
21:30:58 <elliott> var sample = (f(t)) & 0xff;
21:30:59 <elliott> sample *= 256;
21:30:59 <elliott> if (sample < 0) sample = 0;
21:30:59 <elliott> if (sample > 65535) sample = 65535;
21:30:59 <elliott> yeah
21:31:07 <elliott> fsvo rounded off, bitmasked :P
21:31:07 <CakeProphet> that's why it's so deliciously 8-bit
21:31:12 <CakeProphet> all of this stuff would sound weird with a higher sample rate.
21:31:37 <CakeProphet> not that it doesn't already sound weird.
21:31:50 <CakeProphet> Madoka-Kaname: are you familiar with how signal processing at all?
21:31:58 <Madoka-Kaname> Kinda not really.
21:31:58 <CakeProphet> or, like, sinusoids, or pcm or....
21:32:34 <elliott> CakeProphet: http://wurstcaptures.untergrund.net/music/?oneliner=100*sin(Math.log(10*(t%259))%5EMath.sqrt(10*(t%251024))%3C%3C(t%2F1024))&rate=22050
21:32:38 <elliott> case in point re: sample rate :P
21:32:55 <CakeProphet> yeah I tried using that site with different sample rates. doesn't sound the same.
21:33:14 <elliott> oh man
21:33:17 <elliott> CakeProphet: http://wurstcaptures.untergrund.net/music/?oneliner=100*sin(Math.log(10*((t%2F5.5125)%259))%5EMath.sqrt(10*((t%2F5.5125)%251024))%3C%3C((t%2F5.5125)%2F1024))&rate=22050
21:33:17 <CakeProphet> the 8-bit deliciousness is important.
21:33:20 <CakeProphet> to the deliciousness.
21:33:20 <elliott> that scales for the difference in sample rate
21:33:25 <elliott> in my original amazing masterpiece
21:33:39 <elliott> it actually sounds pretty cool
21:33:43 <elliott> it's amazing how fleshed out the beat is
21:33:51 <CakeProphet> elliott: it's all like... high resolution though.
21:33:56 <elliott> yeah but still :P
21:34:05 <elliott> oh wait i got the sample rate wrong
21:34:13 <elliott> omg
21:34:15 <elliott> CakeProphet: http://wurstcaptures.untergrund.net/music/?oneliner=100*sin(Math.log(10*((t%2F5.5125)%259))%5EMath.sqrt(10*((t%2F5.5125)%251024))%3C%3C((t%2F5.5125)%2F1024))&rate=44100
21:34:26 <elliott> it just sounds like a CD version of my original masterpiece :D
21:34:29 <CakeProphet> oh yeah 44.1k is much better
21:34:40 <elliott> yeah i just got the sample rate wrong for the scale factor
21:34:44 <CakeProphet> and also standard sample rate of a lot of things.
21:35:26 <fizzie> 48k has claimed quite a lot of market share from 44.1k lately.
21:35:37 <elliott> FSVO quite a lot
21:35:45 <CakeProphet> http://wurstcaptures.untergrund.net/music/?oneliner=(t*((t%3E%3E8%7Ct%3E%3E9)%2B(t%3E%3E10)%2627)*100)&rate=44100
21:35:48 <CakeProphet> my original masterpiece
21:35:57 <CakeProphet> now sounds like a purring glass machine gun.
21:36:28 <elliott> http://wurstcaptures.untergrund.net/music/?oneliner=100*sin(Math.sqrt(t%2F5.5125)%5EMath.sqrt(10*((t%2F5.5125)%251024))%3C%3C((t%2F5.5125)%2F1024))&rate=44100
21:36:31 <elliott> this is also pretty cool
21:36:36 <elliott> CakeProphet: just change t → t/5.5125
21:36:38 <elliott> to upsample it
21:36:50 <CakeProphet> ....I wonder if I can reassign it.
21:36:59 <CakeProphet> to be lazy
21:37:03 <elliott> probably
21:37:05 <elliott> t=foo,expr
21:37:09 <elliott> it still sounds like shit though
21:37:36 <CakeProphet> ((t/=5.5125)*((t>>8|t>>9)+(t>>10)&27)*100)
21:37:39 <CakeProphet> loses its 8-bit charm. :P
21:37:58 <elliott> i prefer the eight bit version on the whole but my two masterpieces sound pretty good in CD hz :P
21:38:03 <CakeProphet> lol
21:39:10 <elliott> 100*sin(Math.log(t)^Math.sqrt((9+(t>>8))*(t%1024))<<(t/1024))
21:39:17 <elliott> oh
21:39:19 <elliott> i prefer
21:39:19 <elliott> 109*sin(Math.log(t)^Math.sqrt((9+(t>>8))*(t%1024))<<(t/1024))
21:39:22 <tiffany> o_o
21:40:22 <CakeProphet> Madoka-Kaname: okay so the most basic kind of signal would be like A*sin(f*t + p) where A = amplitude, f = frequency (usually constant but doesn't need to be (for example with frequency modultion)), t = time (just think of some infinitely rising number in seconds) p = phase
21:40:33 <elliott> CakeProphet: Dude.
21:40:37 <fizzie> The values of "quite a lot" that include most DVD and digital TV streams, I believe. (And with 96k, blu-ray. 48k, 96k and 192k are the only things allowed for the primary soundtrack on Blü-ray.)
21:40:41 <CakeProphet> Madoka-Kaname: sin or cos, only difference is the phase. These are the "purest" tones in that all other can be composed of a series of sinusoids.
21:40:41 <elliott> You don't need to know any of that shit to produce TUNEZ on this. :p
21:40:45 <elliott> fizzie: But almost no music.
21:40:50 <CakeProphet> elliott: it certainly helps.
21:41:07 <elliott> CakeProphet: I know almost no signal processing, and I am sooooo good at this.
21:41:27 <CakeProphet> just that tiny bit of information helps for example, if you want to apply a LFO into your signal.
21:41:30 <CakeProphet> to modulate some parameter.
21:41:37 <CakeProphet> to create a slowly evolving melody.
21:41:49 <fizzie> elliott: Well, uh... DVD-audio. Anyway, quite a lot of sound is associated with a picture.
21:41:59 <elliott> fizzie: YouTube. :p
21:42:07 <elliott> CakeProphet: 109*sin(Math.log(t)^Math.sqrt((t>>9)*(t%1029))<<(t/1024))
21:42:33 <elliott> oh man
21:42:33 <elliott> 109*sin(Math.log(t>>4)^Math.sqrt((t>>9)*(t%1029))<<(t/1024))
21:42:34 <elliott> this is better
21:42:42 <CakeProphet> I wish I could manipulate these signals in the frequency domain. needs moar fft
21:43:23 <CakeProphet> elliott: oh that's nice. what are you adjusting to get the gradual evolution?
21:43:29 <CakeProphet> is it the sqrt?
21:43:34 <elliott> I think it's the <<
21:43:39 <CakeProphet> ahhhh
21:43:46 <CakeProphet> yes that would do it.
21:43:47 <elliott> It's still limited because the whole thing is in a sin call though, I think I'll try doing some stuff outside it
21:44:00 <CakeProphet> it's interesting that it actually doesn't limit it that much.
21:44:20 <CakeProphet> basically what you're doing is very very complex frequency modulation.
21:44:27 <CakeProphet> well... that's what you would be doing if you added a t* to the beginning.
21:44:34 <elliott> fsvo very complex
21:44:49 <CakeProphet> ...yes
21:45:28 <CakeProphet> actually I should try some frequency modulation
21:45:32 <CakeProphet> lets see if I remember anything.
21:45:46 <CakeProphet> should be possible to emulate vocal sounds.
21:46:06 * CakeProphet needs to find His Notes(tm)
21:46:53 <elliott> http://wurstcaptures.untergrund.net/music/?oneliner=t%2F%3D5.5125%2C(109*sin(Math.log(t%3E%3E4)%5EMath.sqrt((t%3E%3E9)*(t%251029))%3C%3C(t%2F1024)))&rate=44100
21:46:57 <elliott> and you call yourself the avant garde one :P
21:47:49 <CakeProphet> this is lame pop bullshit bra
21:48:43 <elliott> oerjan: he;lp where do i put showconcatmap
21:48:53 <elliott> I don't want to have an MC.Utils so soon :(
21:51:00 <CakeProphet> elliott: sin(t/20)*((t>>8|t>>9)|(t>>10|t>>9))+(t>>4)*100
21:51:05 <CakeProphet> bam suddenyl I am noise music master.
21:51:43 <elliott> CakeProphet: Well, it certainly does sound like noise.
21:52:33 <CakeProphet> yes that's the goal.
21:53:27 <fizzie> You could do "old-fashioned" vocal sounds with a cascade of a few placed-at-the-formants IIR resonators (and e.g. half-wave-rectified sine or something for the voiced source), but that oneliner format doesn't let you refer to previous samples.
21:53:27 <elliott> I hear oerjan whispering... just make an MC.Utils...
21:53:53 <elliott> fizzie: Yes it does.
21:53:56 <elliott> It's just JS code.
21:54:00 <elliott> It would be cheating though.
21:54:56 <fizzie> Well, okay; "does not really have a simple way for it", then.
21:54:57 <CakeProphet> referring to old sample values would allow you to write things like delays.
21:55:24 <elliott> fizzie: Just transform x into hist[t]=x.
21:55:34 <elliott> I guess you might need an "if hist is undef hist=[]" before that.
21:55:36 <Sgeo|web> Absolutely not expecting something to use <audio> o.O
21:55:48 -!- SgeoN1 has quit (Ping timeout: 248 seconds).
21:55:52 <CakeProphet> as a delay essentially refers to a previous element at t-(some constant) in a "delay buffer"
21:56:01 <CakeProphet> or delay line
21:56:09 <CakeProphet> and then +'s that to your signal
21:56:20 <CakeProphet> well, that's optional
21:56:30 <elliott> Sgeo|web: What?
21:56:53 <CakeProphet> more noise music: sin(t/20)*((t>>4|t>>13)&(t>>4|t>>12))+(t>>12)*100
21:56:54 <Sgeo|web> elliott: when I clicked that, I did not expect sound to start immediately playing.
21:56:54 <CakeProphet> so good.
21:56:55 <Sgeo|web> I thought that it would use Flash or something
21:56:58 <fizzie> That's what a delay line would do if you fed the output into it; it's not what a delay inherently is.
21:57:11 * CakeProphet has been restraining his urge to produce complete chaos.
21:57:15 <CakeProphet> until now.
21:57:19 <elliott> fizzie: I was just saying re: access to previous samples.
21:57:21 <Sgeo|web> My Nexus One is now in safe mode
21:57:24 <Sgeo|web> For some reason
21:57:47 <fizzie> If you want delayed copies of some function, just duplicate the function with s/t/t-42/.
21:57:59 <CakeProphet> fizzie: right
21:58:53 <oerjan> <elliott> oerjan: he;lp where do i put showconcatmap <-- "i dunno"
21:59:47 <fizzie> Incidentally, I haven't looked; what does that web-thing use for audio output? The funky audio data API thing?
22:00:32 <elliott> <audio ...="data:wav.........>">l,ew;la,q;we
22:00:58 <fizzie> Aw, how old-fashioned.
22:01:13 <fizzie> Okay, it has the positive side of actually working.
22:01:16 <fizzie> But still.
22:01:42 <Sgeo|web> .wavs actually are sane to construct by ... well, it's not by hand, but it's ... well, of course it's possible, but..
22:01:48 <Sgeo|web> Is it simple to do?
22:01:55 <fizzie> It's non-trivial to do that for indefinitely long audio without nasty gaps.
22:02:13 <elliott> fizzie: <audio> is old-fashioned?
22:02:55 <Sgeo|web> October 2nd, 2011 is old-fashioned.
22:03:04 <fizzie> Yes, compared to the completely nonstandard Audio Data API. :p
22:03:46 <elliott> fizzie: Fair enough :P
22:03:47 <fizzie> Anyway, with that thing you don't need to pre-generate a fixed-length snippet.
22:04:19 <fizzie> Er, except in the sense that you need to fill a buffer. But still!
22:04:58 <fizzie> (At least it then plays back the buffers without breaks.)
22:05:09 <Sgeo|web> I know nothing about .wav
22:05:23 <fizzie> It's a not too complicated header to write.
22:05:30 <elliott> Sgeo|web: http://www.bemmu.com/music/magic.js
22:06:00 <fizzie> It would be non-trivial to read all possible things you can find in a .wav, but to write one isn't hard.
22:06:24 -!- augur has joined.
22:06:28 <Sgeo|web> There's no cookies on that site that need to be kept private, right?
22:06:55 <elliott> what
22:07:13 <Sgeo|web> Arbitrary Javascript, easy to give someone a link which will do stuff
22:07:27 <elliott> no its not
22:07:33 <elliott> it doesnt take oneliners via urls
22:07:46 <Sgeo|web> Oh
22:07:49 <elliott> also do you ever think about anything except trivial security jesus
22:07:54 <elliott> well that or namespace collisions
22:08:08 * Sgeo|web wants to learn non-trivial security
22:08:31 <CakeProphet> elliott: the real underground scene: sin(t/5)*(((t>>4|t>>13)&(t>>4|t>>12))&(t>>12))*50
22:08:58 <elliott> Sure does sound like shit.
22:09:05 <elliott> Ooh, nice layering though
22:09:25 <CakeProphet> elliott: you just don't know how to appreciate good noise.
22:10:25 <CakeProphet> incidentally lowering the divided sin(t/5) does soften it up a bit.
22:10:31 <CakeProphet> +in
22:10:55 <CakeProphet> it's essentially a modulation of the amplitude on the sin tone at the beginning.
22:11:00 <CakeProphet> of the line.
22:14:24 <CakeProphet> so using higher frequencies will create the psychoacoustic effect of consolidating some of the slow tonal changes into faster oscillating single tones
22:14:40 <elliott> "wow" . com
22:15:05 <CakeProphet> but it mainly just raises the pitch..
22:15:16 <CakeProphet> psychoacoustics is neat though.
22:15:51 <elliott> props to the first mpthree decoder written for this thing
22:18:02 <elliott> I bet monqy knows the perfect place to put my function :'( :'( :'(
22:18:23 <monqy> what function
22:18:38 <elliott> showConcatMap
22:18:39 <fizzie> Wasn't there a JavaScript one? That jsmad thing?
22:18:44 <elliott> :: (a -> ShowS) -> [a] -> ShowS
22:18:49 <elliott> = flip . foldr
22:18:53 <elliott> fizzie: Yes but, as a oneliner. :p
22:19:06 <elliott> You can assume a no-header version I GUESS.
22:19:12 <elliott> And it can be very bad. :p
22:19:47 <monqy> I do not know where to put this function ;_;
22:19:55 <monqy> are there any good places
22:20:01 <Phantom_Hoover> Put it in a little function house.
22:20:08 <elliott> Phantom_Hoover: awwwwwww
22:20:22 <elliott> monqy: well I guess something like Text.Show.List or maybe Data.List if I generalise it from ShowS but.......
22:20:28 <elliott> i want to stay in the MC... namespace...
22:20:38 <Phantom_Hoover> Give it a little loop and feed it on values.
22:21:22 <monqy> MC.Util.Text.Show.List a good module
22:21:29 <elliott> no
22:21:34 <Phantom_Hoover> MC
22:21:37 <monqy> thats the joke
22:22:07 <monqy> i never know what to do with utility functions :(
22:22:19 * Phantom_Hoover considers getting a gaming PC and not putting Windows on it.
22:22:25 <CakeProphet> I should compile these things in C so that I can hear them continue to play beyond the time limit on the site.
22:22:43 <CakeProphet> but really I should be writing an incident report for my technical writing class.
22:22:51 <CakeProphet> I wonder what kind of incident I should write about.
22:25:02 <CakeProphet> by the way all of my music is copyright. No one may use those expressions again without my consent
22:25:33 <CakeProphet> (in a loop where i increases to some number or infinitely)
22:25:37 <CakeProphet> s/i/t/
22:28:19 <CakeProphet> elliott: are you working on a masterpiece to trump "layered atonal shit machine" or are you unable to one-up my artistic superiority?
22:30:48 <elliott> I'm working on mchost
22:30:55 <elliott> * Phantom_Hoover considers getting a gaming PC and not putting Windows on it.
22:30:57 <elliott> Phantom_Hoover: useful
22:33:23 <CakeProphet> well, wine would still be functional for a number of games.
22:33:36 <CakeProphet> though unless it's a high-end machine you'll probably experience some stuttering
22:33:42 <elliott> Um, no.
22:33:45 <elliott> WINE is not an emulator.
22:33:50 <Phantom_Hoover> elliott, thatsthejoke.jpg
22:34:09 <elliott> The only stuttering could be caused by WINE's implementations of the Windows API being less efficient than Windows' itself, and really I expect hardware to be a far greater factor than that.
22:34:18 <CakeProphet> elliott: it can still play a lot of Windows games, whatever you want to call that...
22:34:25 <CakeProphet> ah
22:34:31 <CakeProphet> I see.
22:34:34 <elliott> CakeProphet: I am saying that "though unless it's a high-end machine you'll probably experience some stuttering" doesn't really make much sense.
22:34:42 <CakeProphet> right right I understand now.
22:34:46 <elliott> I mean, there's an additional layer to a Windows machine, in that WINE translates to X calls, but Gtk has that same layer ;P
22:34:48 * Sgeo|web should see if AW works in WINE
22:34:50 <elliott> s/;P/:P/
22:34:50 <CakeProphet> I didn't know how Wine worked exactly.
22:34:52 <tiffany> I imagine there's some overhead converting all the directX calls to opengl
22:35:04 <elliott> CakeProphet: It's basically just a loader for PE executables + a WinAPI implementation
22:35:04 <tiffany> aren't there like 17 000 functions in directx :|
22:35:23 <elliott> tiffany: I bet there's graphics drivers that convert directx to opengl :)
22:35:30 <Sgeo|web> Does WINE automatically call mono if needed?
22:35:39 <tiffany> I've never gotten mono to work in wine
22:35:43 <elliott> Sgeo|web: WINE and mono are orthogonal.
22:35:48 <elliott> You can install .NET in WINE.
22:35:54 <Sgeo|web> mono without WINE seems to work fine for my project
22:36:01 <Sgeo|web> Erm, for my professor's project
22:36:02 <CakeProphet> mono doesn't even need wine
22:36:07 <CakeProphet> that makes no sense to talk about them together.
22:36:10 <Sgeo|web> CakeProphet: I noticed.
22:36:10 <elliott> Then it doesn't define any native code things or use too recent C-sharp stuff.
22:36:22 <Sgeo|web> Well, it supports .NET 4.0 now
22:36:52 <CakeProphet> how would one run mono in wine even?
22:36:56 <tiffany> wait so
22:37:03 <elliott> CakeProphet: Mono runs on Windows.
22:37:06 <tiffany> mono can run the .net executables?
22:37:08 <elliott> Thus Mono runs on Wine.
22:37:15 <elliott> tiffany: Yes, assuming they don't have any native code stuff in them.
22:37:23 <elliott> CLI .exes are not really full of native code.
22:37:30 <elliott> They're a wrapper around a bunch of, well, CLI bytecode.
22:37:40 <elliott> (CLI being Common Language Infrastructure, i.e. .NET)
22:37:50 <elliott> "mono foo.exe" should work.
22:37:54 <tiffany> :o~
22:37:57 <elliott> You may need to install additional packages for Winforms stuff.
22:38:29 <Sgeo|web> elliott: it does. For me for this one thing, anyway
22:38:34 <CakeProphet> if I recall winforms is not very well supported.
22:38:37 <elliott> Sgeo|web: What does?
22:38:43 <Sgeo|web> mono foo.exe
22:38:43 <Phantom_Hoover> It's like Java but less obvious!
22:38:49 <elliott> Sgeo|web: I was talking to tiffany
22:38:53 <Sgeo|web> Oh
22:38:53 <elliott> CakeProphet: On what, Windows or Mono?
22:38:58 <CakeProphet> mono
22:38:59 <elliott> The few winforms things I've tried on Mono have worked for me.
22:39:17 <CakeProphet> I don't recall specific I just recall needing to avoid that in some stuff I was working on earlier.
22:39:29 <CakeProphet> resulting in my discover that there is absolutely no good webkit binding in mono.
22:39:33 <CakeProphet> *discovery
22:39:41 <tiffany> I don't have directx installed in mono ;P
22:40:23 <CakeProphet> anyways, C# is for chumps
22:40:28 <CakeProphet> or people who are hired by chumps.
22:41:13 <CakeProphet> thus it is questionable if the person being hired is a chump for being hired by chumps. highly circumstantial but there's evidence in favor of being a chump.
22:41:25 <CakeProphet> I often think about the calculus of chumps.
22:41:50 * CakeProphet might be a chump.
22:42:41 <elliott> I can confirm that you're definitely a chump.
22:46:31 <CakeProphet> oh look a second viznut video that was made yesterday: http://www.youtube.com/watch?v=qlrs2Vorw2Y
22:46:43 <elliott> yes we saw that.
22:46:48 <CakeProphet> oh.
22:46:52 <fizzie> There's the whole "emulate DirectX using OpenGL/GLSL", I'm pretty sure there's some amount of overhead there since the architectures are somewhat different.
22:46:56 <Sgeo|web> What language should I use where I might otherwise choose C#
22:47:06 <elliott> Sgeo|web: haskell
22:47:06 <zzo38> C
22:47:14 <zzo38> C-flat
22:47:17 <Sgeo|web> AW actually gives a choice between using OpenGL and using DirectX
22:47:17 <elliott> enhanced cweb
22:47:45 <zzo38> Enhanced CWEB
22:47:57 <zzo38> Or, Enhanced CWEB Sharp (which, as far as I know, does not exist)
22:48:08 <CakeProphet> wow these are really good.
22:48:58 <CakeProphet> (t|(t>>9|t>>7))*t&(t>>11|t>>9) in particular
22:49:20 <CakeProphet> and now the one after that is good. THEY ARE ALL GOOD
22:49:49 -!- derdon has quit (Remote host closed the connection).
22:50:26 <CakeProphet> that one is actually very similar to one I made.
22:50:42 <CakeProphet> but way better.
22:54:10 <Madoka-Kaname> You have full Javascript functionality available, right?
22:54:23 <elliott> Yes.
22:55:09 <CakeProphet> (t|(t>>9|t>>7))*t&(t>>11|t>>9);alert("Test");
22:55:10 <CakeProphet> works
22:55:13 <CakeProphet> but with no alert
22:58:25 <CakeProphet> ah everything after a semicolon is ignored.
22:58:37 -!- Ngevd has quit (Read error: Connection reset by peer).
22:58:55 <CakeProphet> good song: document.writeln(t)
23:00:21 <tiffany> o.o
23:01:12 <tiffany> javascript: and data: URIs typed or pasted in the address bar are disabled to prevent social engineering attacks.
23:01:13 <tiffany> Developers can enable them for testing purposes by toggling the "noscript.allowURLBarJS" preference.
23:01:15 <tiffany> =_=
23:02:14 <CakeProphet> "social engineering attacks"
23:02:19 <CakeProphet> they make it sound disciplined.
23:03:42 <CakeProphet> tiffany: what is =_= supposed to be? &_&
23:03:47 <CakeProphet> cool kid glasses?
23:03:57 <tiffany> idk
23:04:04 <tiffany> I guess a -_- except with bags
23:04:20 <CakeProphet> %_% I see.
23:04:29 <monqy> social engineering attacks
23:04:46 <zzo38> I think javascript: and data: URIs are useful in address bar, they shouldn't be disabled.
23:04:54 <CakeProphet> +_+ aka "hey click on this URL for dislike button javascript://"
23:05:00 <CakeProphet> zzo38: that's why you can enable them.
23:05:11 <monqy> cakeprophet but that's not in the address bar........................
23:05:17 <monqy> if you're clikcing it
23:05:20 <tiffany> firefox should ask you how intelligent you are
23:05:27 <tiffany> and say "be honest" above the checkboxes
23:05:32 <CakeProphet> monqy: er I mean "copy and paste this into address bar"
23:05:34 <CakeProphet> my bad.
23:05:39 <tiffany> and for each checkbox, you get stupidity protection settings to match
23:05:47 <CakeProphet> I doubt facebook allows javascript URLs to be clickable.
23:05:48 <zzo38> But it seems a stupid idea to disable them, even "social engineering attacks"
23:06:12 <CakeProphet> zzo38: you are relying on your average web browser user to know what a javascript URL might do.
23:06:31 <zzo38> People that use a computer at all ought to understand how.
23:06:47 <CakeProphet> ought is different from reality though.
23:06:52 <CakeProphet> obviously.
23:07:06 <tiffany> facebook doesn't let anything except http urls be clicked I think
23:07:29 <CakeProphet> I recall a javascript URL that could turn any page into a katamari.
23:07:35 <tiffany> cakeprophet: I thought average web browser user thought that everything code-looking was automatically hax
23:07:51 <CakeProphet> tiffany: maybe..
23:08:03 <CakeProphet> http://kathack.com/
23:08:04 <CakeProphet> fun times.
23:08:05 <fizzie> Not if they're being told it's "hax" that gives you $DESIRABLE_OUTCOME.
23:08:09 -!- Ngevd has joined.
23:08:22 <fizzie> Or, rather, they'll run it anyhow in that case.
23:08:31 <Phantom_Hoover> CakeProphet, dude, websplat.
23:08:57 <zzo38> HTTP URLs are not even the only URLs you would use, and even then, some HTTP URLs can be danger too, in some cases
23:08:58 <CakeProphet> rolling facebook into a katamari is awesome.
23:09:00 <tiffany> once upon a time I prime number generator in lua at school and got in trouble
23:09:57 <tiffany> zz038, average web users think that http is the only kind of URL and yet they don't question that every URL has http before it
23:10:09 <tiffany> s/question that/question why
23:10:18 -!- calamari has joined.
23:10:20 <monqy> "< tiffany> once upon a time I prime number generator in lua at school and got in trouble" what
23:10:23 <CakeProphet> fizzie: oh, dude, websplat. that's awesome.
23:10:35 <tiffany> monqy: command prompt window -> HACKER
23:10:47 <Phantom_Hoover> I did computing for a year in school and resolved to give up when we were using Javascript on IE 5 for Mac to do all the coding.
23:10:57 <tiffany> omg
23:10:57 <Phantom_Hoover> This was in 2010.
23:11:02 <tiffany> I'm in web design one
23:11:09 <tiffany> we're learning HTML 3.2 transitional
23:11:12 <tiffany> no CSS, no javascript
23:11:21 <tiffany> and we're supposed to use IE
23:11:26 <tiffany> it's not as bad as IE 5 though
23:11:28 <monqy> why are you in "web design one"
23:11:41 <tiffany> I wanted to learn web design [design part, not the html part]
23:11:43 <monqy> avoid "web" anything it's going to be Bad
23:11:57 <zzo38> Obviously there is no use putting a file:// URL there (and if you are blocking things on Facebook, to certainly block file:// URL), but ftp:// and gopher:// and telnet:// are as safe as HTTP; you might also want https:// URLs to be allowed
23:11:59 <Phantom_Hoover> Yes but excuse me we were told to use IE 5 for Mac on computers with an up-to-date version of Safari and a non-prehistoric Firefox because "the debugging output was better".
23:12:04 <tiffany> and it's also the closest physical thing to a programming course in the county and surrounding counties
23:12:16 <Phantom_Hoover> monqy, correction, avoid computing altogether, do maths.
23:12:21 <Madoka-Kaname> CakeProphet, function(){if(!this.I)this.I=1;else throw"";document.getElementById('player').innerHTML="<embed src=\"http://www.youtube.com/v/LDIGvfW5E_U?version=3&amp;hl=en_US&amp;autoplay=1\" type=\"application/x-shockwave-flash\" width=\"560\" height=\"315\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed>";throw"";}()
23:12:34 <Madoka-Kaname> I can produce actual music. Ha.
23:12:42 <monqy> Phantom_Hoover: I wish I was able to, in the past, when it would have mattered
23:12:48 <monqy> it is too late now
23:13:00 <tiffany> anything computer related at my school is super easy
23:13:04 <Phantom_Hoover> monqy, it's never too late for maths!
23:13:05 <CakeProphet> bahahaha I'm cheating at websplat
23:13:09 <CakeProphet> by collecting all of the images into a katamari
23:13:11 <zzo38> If you want safest URLs, allow only Gopher URLs of type 0 on port 70 that are not local network addresses.
23:13:12 <CakeProphet> before I start.
23:13:28 <tiffany> gopher~ :D
23:13:32 <monqy> Phantom_Hoover: but it's too late to avoid computing :'(
23:13:39 <tiffany> heh
23:13:40 <Phantom_Hoover> monqy, it is the nineties and there is time for avoiding computing.
23:13:41 <monqy> I'm stuck in a world of awful
23:13:58 <Phantom_Hoover> Also don't worry, I went through a phase of computing too but I got over it.
23:14:00 <tiffany> all computer-ish courses in my school are unbelievably easy because they copmensate for people who type 15 wpm
23:14:09 * tiffany 's highest score on typeracer is 116
23:14:09 * CakeProphet should design websites specifically as platforming levels.
23:14:30 <monqy> how do I get out of this computing deal? I came to hate it a while ago but I don't know how to escape
23:14:47 <tiffany> I'm changing out all my classes next semester
23:14:48 <tiffany> math~
23:15:07 <tiffany> and there's no way I'm taking spanish
23:15:08 <Ngevd> The secret to performing screamo:
23:15:09 <monqy> tiffany: how does "computer-ish courses" being easy have anything to do with typing speed
23:15:15 <Ngevd> Whisper Muse songs over skype
23:15:19 <tiffany> monqy: because 90% of all of them are copying text
23:15:22 <Phantom_Hoover> monqy, just get bored every time you write a program.
23:15:37 <tiffany> CCC = learn to type by copying text
23:15:39 <Phantom_Hoover> Although admittedly I was mathsing before I was computing, so I had the advantage from the start.
23:15:45 <tiffany> web design 1 = learn html by copying html
23:16:31 <monqy> this sounds worse than sgeo's school
23:16:47 <tiffany> my school got an F rating and then bribed their way to a D~
23:16:49 <Phantom_Hoover> monqy, at least tiffany is probably going to an actual school, rather than a university.
23:16:57 * tiffany is in 10th grade
23:17:08 <Ngevd> What's that in English measure?
23:17:12 <Phantom_Hoover> What are these grade things what's that in Ses.
23:17:15 <tiffany> um
23:17:37 <Ngevd> Year 11
23:17:43 <Ngevd> S4
23:17:47 <monqy> I'm stuck in a university :(
23:17:50 <tiffany> american gradescale = A: 90-100%, B: 80:99%, C: 70:79%, D: 60:69%, F: 0:59%
23:17:56 <elliott> <tiffany> firefox should ask you how intelligent you are
23:17:56 <elliott> <tiffany> and say "be honest" above the checkboxes
23:17:58 <elliott> <tiffany> and for each checkbox, you get stupidity protection settings to match
23:18:02 <elliott> tiffany: It is not even remotely a matter of intelligence.
23:18:06 <Phantom_Hoover> Ah, I remember S4; that was the javascript.
23:18:15 <Phantom_Hoover> tiffany, 90% for an A?
23:18:17 <tiffany> elliott: hurp durp I'm getting free monies by copypasting javascriptz
23:18:26 <monqy> what
23:18:27 <Phantom_Hoover> Man, your exams are weird.
23:18:38 <elliott> tiffany: Going to a webpage should not even remotely be able to compromise a user's system or information in any way.
23:18:44 <Ngevd> I got a distinction in ICT
23:18:54 <fizzie> Especially weird having an overlapping A and B.
23:18:55 <tiffany> elliott: I'm pretty sure security holes are inevitable
23:18:56 <elliott> tiffany: But whatever: it is fashionable indeed to blame the failures of computing on its users.
23:19:04 <monqy> javascript is too powerful for its own good
23:19:07 <Ngevd> The closest it got to programming was database design
23:19:07 <monqy> ;_;
23:19:11 <elliott> tiffany: Of course they are. javascript: in URL bars is a security hole.
23:19:13 <Phantom_Hoover> 80% is effectively a guaranteed A in SQA exams, and it's unusual for it to go above 75%.
23:19:16 <elliott> Plugging security holes is good security practice.
23:20:08 <tiffany> ngevd: in the US we have preschool, kindergarten, and then grades 1-12, then college
23:20:43 <tiffany> elliott: once upon a time my brother was using IE and clicked something and it downloaded "security tools" without him knowing
23:20:45 <Ngevd> Pre-school, nursery, reception, years 1-13, college
23:21:06 <Ngevd> Or university
23:21:09 <Phantom_Hoover> Nursery, P1-7, S1-6, university.
23:21:13 <Ngevd> Actually college can go after year 11
23:21:22 <Ngevd> But that's called a sixth form college normally
23:21:31 <Phantom_Hoover> You mean most places /don't/ build the primary/secondary distinction into their year system?
23:21:32 <Phantom_Hoover> :weird:
23:21:45 <elliott> tiffany: You gonna say that's your brother's fault?
23:21:53 <elliott> Turns out clicking a link shouldn't be able to compromise your system.
23:21:58 <zzo38> Due to the complexity of HTML, CSS, JavaScript, Unicode, etc, you can compromise and mix up everything. Use plain ASCII text file, and have not these problems. If you want interactive you can use ANSI terminal code with a few things disabled and changed for more security.
23:21:58 <Ngevd> Primary/secondary is all over the place
23:22:01 <tiffany> well obviously
23:22:04 <monqy> usa has "elementary school" "middle school" "high school"
23:22:05 <Ngevd> Northumberland has First, Second, Middle
23:22:06 <elliott> Blaming it on the user is ridiculous.
23:22:11 <Sgeo|web> Elementary = k-6
23:22:11 <Ngevd> Wait
23:22:16 <Ngevd> First, Middle, High
23:22:17 <elliott> Yes, security holes are basically inevitable, but they are most DEFINITELY avoidable in a large variety of cases.
23:22:25 <tiffany> can you blame the user when they do something stupid?
23:22:33 <elliott> It is nobody's fault but the maintainers of systems that these methods are not being used.
23:22:35 <Sgeo|web> high school = 9-12, although where I live, 9th grade is a separate building elsewhere
23:22:41 <elliott> tiffany: What was done that was stupid?
23:22:41 <tiffany> like typing in commands to format their harddrive without knowing what it is?
23:22:53 <tiffany> there should be idiot guards in place because people are idiots
23:23:06 <Madoka-Kaname> elliott, not using C/C++ should take out, like, a whole bunch of them
23:23:06 <elliott> Misanthropy is a poor substitute for understanding.
23:23:12 <tiffany> :|
23:23:12 <Phantom_Hoover> People are not idiots, and the sooner you realise that the better.
23:23:22 <elliott> Madoka-Kaname: It would indeed.
23:23:23 <Sgeo|web> So, K-6, 7-8, 9, 10-12 is what it felt like
23:23:39 <Sgeo|web> Although I attended Kindergarten elsewhere
23:24:09 <elliott> tiffany: It is also ridiculous for a system to allow the user to permanently wipe their data without it being made clear to them what is going to happen -- in a way that will actually work, not just putting a bunch of red warning signs that HCI research pretty conclusively proves don't work.
23:24:23 <elliott> tiffany: Of course the real blame is on whoever is telling people to format their harddrives.
23:24:48 <elliott> It might not be illegal to tell someone to format their hard drive because they don't know better, but it's certainly unethical.
23:25:15 <Madoka-Kaname> elliott, make them type in yes|format...
23:25:44 <tiffany> madoka-kaname: make it negate the question at least once~
23:26:03 * Phantom_Hoover → sleep; please suspend argument until tomorrow morning.
23:26:04 -!- Phantom_Hoover has quit (Quit: Leaving).
23:26:16 <elliott> Madoka-Kaname: Yeah -- obviously you cannot stop someone being tricked into authorising the computer to do something they don't want, at the core of it.
23:26:27 <tiffany> "Do you not want to format your harddrive?"
23:26:28 <elliott> But even then it's a problem of lack of decent computer education, not of stupidity.
23:26:39 <Ngevd> Do to being weird, I attended an antepodian kindergarten
23:27:02 <tiffany> I was in this stupid kids program for most of my life because I write incredibly slowbad
23:27:24 <fizzie> Phantom_Hoover: We have "primary/comprehensive school" years 1-9 (of which 1-6 and 7-9 are sort of separate parts) which is the only mandatory part; then for most people there's "upper secondary/gymnasium" or a vocational school for three years (classes usually numbered 1-3, sometimes -4); after that tertiary education (college/university/whatever).
23:27:26 <tiffany> there was one year where I was allowed a thing that I was able to type on instead of write, and then they didn't give me it the next year
23:27:30 -!- Vorpal has quit (Ping timeout: 260 seconds).
23:27:35 <calamari> elliott: could run the browser in a jail
23:27:50 <elliott> calamari: that's one partial solution, yep
23:27:58 * Madoka-Kaname hugs tiffany
23:28:02 <elliott> that doesn't stop webpages reading e.g. the user's bank login details though
23:28:03 * tiffany hugs madoka-kaname <3
23:28:05 <zzo38> calamari: Yes, that can be done.
23:28:09 <elliott> if they're stored in the browser
23:28:19 <calamari> elliott: true, it wouldn't
23:28:28 <elliott> but it is a good partial step
23:28:35 <elliott> isn't microsoft doing that with IE as of recently?
23:28:53 <Madoka-Kaname> calamari, or write the browser in Haskell/Java/C#/etc
23:28:55 <Ngevd> Reading the user's bank login details?
23:28:55 <calamari> I'm sure Gregor knows all my bank passwords since my kids love his javascript platformer
23:28:55 <zzo38> I have think to solve such problem in a computer system I designed. Computer security is implemented in hardware (if you open it and remove the warning labels, you can adjust everything). But software still does many things and you can write the programs yourself too, without adjusting the jumpers inside; such as BASIC and Forth, adjusting files and external devices, etc.
23:29:13 <coppro> elliott: one jail per tab obv
23:29:17 <tiffany> ^
23:29:32 <tiffany> call it prisonfox
23:29:37 <elliott> coppro: yeah, it's still not perfect though :P
23:29:48 <elliott> I think zzo38's solution is the best.
23:29:52 <elliott> Let's alld othat.
23:29:52 <Madoka-Kaname> Write the browser in Haskell, and the jail shouldn't be needed.
23:29:56 <elliott> calamari: havenworks went down :(
23:30:08 <elliott> Madoka-Kaname: Haskell, uh, does not eliminate security flaws.
23:30:20 <Madoka-Kaname> Nothing needing a jail should exist, at least.
23:30:28 <elliott> Sure it should
23:30:31 <elliott> JS exposes a cookie API
23:30:34 <calamari> elliott: websplat still seems to work for me
23:30:36 <elliott> You fuck up a conditional in rare circumstances
23:30:39 <Ngevd> Oh dear god it's tomorrow
23:30:42 <elliott> Oops, now you can access every cookie
23:30:44 <Madoka-Kaname> OK, yeah.
23:30:46 <Madoka-Kaname> That makes sense.
23:30:52 <tiffany> I wonder if there are programs that can convert assembly to circuit board diagrams
23:30:55 <elliott> it does eliminate things like buffer overruns though
23:30:59 <elliott> calamari: yeah but the final level is down :P
23:31:00 <tiffany> make a hardware version of the linux kernel :P
23:31:03 <elliott> web.archive.org has it though
23:31:11 <elliott> tiffany: hardware is more limited than that
23:31:16 -!- Jafet has joined.
23:31:20 <elliott> tiffany: but talk to ais523, he compiles ICA to hardware
23:31:25 <tiffany> o.o
23:31:38 <ais523> ICA doesn't have pointers, I imagine Linux uses them quite a lot
23:31:40 <elliott> ICA = idealised concurrent algol, it's basically Haskell with a weird syntax :P
23:31:48 <ais523> elliott: it resents that!
23:31:53 <ais523> it's basically Algol 60 with a weird syntax
23:32:09 * tiffany knows very little haskell and does not know what algol is
23:32:13 <elliott> ais523: stripped down to the point of being almost functional
23:32:21 <elliott> tiffany: algol was the first structured language
23:32:22 <calamari> elliott: oh, I see what you're saying.. I didn't really play that page anyways
23:32:25 <ais523> oh, it is functional, /but/ it's very impure
23:32:28 <Sgeo|web> According to galculator, 1/0 is a syntax error
23:32:32 <elliott> well
23:32:34 <elliott> or close to it
23:32:42 <elliott> ais523: ok, it's like lazy ML then... it is lazy right?
23:32:53 <elliott> calamari: lame, you can't compete with quintopia and me and Gregor's friend
23:32:54 <elliott> (the bosses)
23:32:57 <ais523> it is lazy, indeed
23:32:59 <Sgeo|web> Actually, galculator's paper mode doesn't like 0
23:33:01 <Sgeo|web> It wants 0.0
23:33:01 <elliott> er as in
23:33:02 <elliott> bosses of playing
23:33:09 <ais523> well, /technically/ it's strict, but it's call-by-name
23:33:11 <ais523> so it acts lazy
23:33:11 <elliott> Sgeo|web: why not just use frink
23:33:18 <calamari> elliott: my 5 year old son doesn't care about that ;)
23:33:22 <Madoka-Kaname> elliott, didn't that whatevernet virus spread by exploiting the fact that Microsoft didn't think about how much power they were giving .lnk files?
23:33:27 <Sgeo|web> frink did not come with this thing
23:33:28 <elliott> ais523: except with multiple evaluation, which matters in an impure language
23:33:31 <ais523> strict/lazy is a bit weird when it comes to CBN languages
23:33:35 <ais523> elliott: yep
23:33:37 * Sgeo|web goes to install it
23:33:41 <elliott> calamari: you want him to compete at the professional level when he grows up, don't you???
23:33:46 <ais523> Haskell doesn't have multiple evaluation, for instance, but it's pure so you can't tell
23:33:49 <elliott> Sgeo|web: it's not in the package manager
23:33:50 <Sgeo|web> There's only one reason I even heard of frink before now...
23:33:56 <Sgeo|web> elliott: ugh, blah
23:34:02 * tiffany holds madoka-kaname's hand~
23:34:04 <elliott> Sgeo|web: http://futureboy.us/frinkjar/frink.jnlp
23:34:07 * Madoka-Kaname hugs tiffany ^^
23:34:08 <calamari> elliott: lol
23:34:08 <elliott> open that
23:34:11 <tiffany> :3
23:34:14 <elliott> ais523 will now be shocked that anyone uses jws
23:34:22 <ais523> I'm not, I've seen it used before
23:34:26 <ais523> I just think it's badly designed
23:34:40 <elliott> oh wait
23:34:41 <elliott> Sgeo|web: you want http://futureboy.us/frinkjar/frinkwithlibs.jnlp
23:34:44 <elliott> that has more libraries :P
23:34:53 -!- copumpkin has quit (Ping timeout: 244 seconds).
23:35:00 <elliott> Sgeo|web: oh, and you want Sun's java I think, because it'll install into the menu then
23:35:02 <ais523> also, Oracle have mostly killed it by revoking the signing keys that most of the standard libraries that JNLP programs used were signed with
23:35:13 <ais523> I'm not sure if it's even possible to get Sun's Java nowadays
23:35:17 <elliott> ais523: umm, ouch
23:35:17 <ais523> at least, it's no longer in the package manager
23:35:18 -!- copumpkin has joined.
23:35:20 <Sgeo|web> elliott: I have Sun's java installed because I wanted to get Cybertown half working
23:35:20 <elliott> ais523: sure it is
23:35:27 <ais523> what name?
23:35:30 <elliott> ais523: sun-java[asterisk]
23:35:35 <elliott> ais523: you'll need the partner repo or w/e
23:35:43 * tiffany isn't sure what java she has, all she did was install default-jre >>
23:35:44 <ais523> oh, I see, it's just not in a repo I happen to have?
23:35:49 <elliott> ais523: well, it's non-free
23:36:03 <coppro> ``/win 4
23:36:03 <tiffany> java version "1.6.0_18"
23:36:04 <tiffany> OpenJDK Runtime Environment (IcedTea6 1.8.7) (6b18-1.8.7-2~squeeze1)
23:36:04 <tiffany> OpenJDK Client VM (build 14.0-b16, mixed mode, sharing)
23:36:05 <tiffany> that works
23:36:07 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/`/win: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/`/win: cannot execute: No such file or directory
23:36:09 <ais523> ah no, it is in there
23:36:09 <elliott> coppro: you are really bad at irssi
23:36:31 <tiffany> I'm really bad at irssi :s
23:37:29 <Ngevd> ...I don't actually know what irssi is
23:37:37 <ais523> No candidate version found for sun-java6-plugin
23:37:49 <ais523> elliott: the repos know its name, but not the package itself
23:37:52 <ais523> which is interesting
23:37:59 <elliott> ais523: you probably don't want -plugin
23:38:03 <elliott> -jre is more likely, or was it -jvm
23:38:05 <ais523> same with the -jre
23:38:06 <Sgeo|web> According to Frink, 0/0 = 1
23:38:14 <ais523> I did want -plugin, because I want to get Rubicon working
23:38:16 <elliott> ais523: what (ubuntu) repos?
23:38:18 <ais523> and it only worked with Sun's version
23:38:22 <ais523> elliott: LTS -proposed
23:38:23 <monqy> Ngevd: irc client, claims to be of the future
23:38:28 <elliott> ais523: umm, I meant
23:38:30 <elliott> which actual repos
23:38:32 <Ngevd> Oh, okay
23:38:34 <elliott> so I can know if you have the partner repo or not :D
23:38:35 <ais523> checking that now
23:38:38 <elliott> you can enable it in Software Sources
23:38:49 <elliott> (in Other Software)
23:38:55 <ais523> server for the UK: main, universe, restricted, multiverse
23:39:01 <elliott> in other software?
23:39:14 <ais523> aha, there's a repo called "partner" which isn't enabled
23:39:16 <ais523> is that the one?
23:39:18 <elliott> yep
23:39:31 <elliott> it's basically people who canonical have a relationship with that involves lots of money
23:39:34 <elliott> and who write non-free software
23:39:38 <ais523> haha
23:39:39 <elliott> so it has java, iirc flash, etc.
23:39:43 <tiffany> [19:37] <Ngevd> ...I don't actually know what irssi is
23:39:44 <elliott> I think the Fraunhofer mpthree codecs are in there too
23:39:48 <tiffany> it's a text-based IRC client
23:39:53 <ais523> flash is in the main repos
23:39:59 <tiffany> that a lot of people have a major fanperson obsession with
23:40:04 <elliott> ais523: wow, really? as in, Adobe Flash?
23:40:09 <elliott> hmm right
23:40:09 <elliott> well
23:40:11 <elliott> the INSTALLER is
23:40:14 <ais523> yep
23:40:16 <elliott> they're very careful not to package flash itself :P
23:40:16 <Ngevd> No, as in Flash Gordon
23:40:28 <olsner> hmm, great, so if your code is in a section nasm stops handling rip-relative absolute addresses for you
23:40:44 <elliott> olsner: are you still writing that os :)
23:40:48 <olsner> instead it treats tham as offsets from the current rip instead of generating the correct offset from the value that rip will have at that point
23:40:49 <ais523> elliott: the repo change didn't seem to help
23:41:03 <elliott> ais523: apt-cache show the package?
23:41:09 <ais523> reply is the null string
23:41:14 <elliott> ais523: what about version five?
23:41:19 <ais523> ouch
23:41:28 <ais523> I doubt that'll help, and I'd prefer 1.6
23:41:31 <elliott> I installed Java recently on a more recent Ubuntu so I'm surprised
23:41:37 <elliott> ais523: well, try to see if it exists, anyway :P
23:41:51 <ais523> just the jre
23:41:54 <ais523> not any of the other packages
23:42:12 <elliott> odd
23:42:59 <ais523> there's also an "ia32-sun-java6-plugin", but it doesn't have any versions found and has a zero-length output from apt-cache show, too
23:43:46 <elliott> ais523: I bet they just don't maintain the partner repo for sufficiently old versions
23:43:56 <ais523> probably
23:44:14 <ais523> but this version's still technically supported, because it's LTS
23:45:09 <elliott> fsvo supported
23:46:10 -!- Patashu has joined.
23:46:28 <elliott> hi Patashu CakeProphet destroyed music
23:46:38 <Patashu> oh?
23:46:40 <tiffany> I glance at all these notifications to ais523 and read 352 and think of my username on most places
23:46:45 <fizzie> In this current 11.04, sun-java6-plugin is "This is a metapackage containing dependencies for running Java in various browsers."; don't know about LTS though.
23:46:55 <ais523> tiffany: you have a 352 in your username?
23:46:59 -!- pikhq has joined.
23:47:06 <ais523> perhaps I should change to cfj permanently and really freak out half of Freenode
23:47:07 <elliott> tiffany: change your username, ais523 owns those digits
23:47:13 <elliott> ais523: um excuse me cfj is _my_ nick
23:47:20 -!- pikhq_ has quit (Ping timeout: 258 seconds).
23:47:51 <elliott> pikhq: It is time for you to bet on whether I will have sufficient arsedness to carry on Kitten work.
23:47:59 <fizzie> packages.ubuntu.com with distribution:any, section:any only finds a 'sun-java6-plugin' in dapper-backports and hardy.
23:48:33 <ais523> and hardy's the last version?
23:48:43 <ais523> that actually makes sense, they probably stopped once Sun got eaten
23:48:47 <zzo38> It is time for you to bet on the D&D game. Tell me what kind of things you are betting on (but not the specifics) so that I can remember to keep track during the corresponding game session.
23:48:54 <elliott> umm, but I installed Sun java packages the other day
23:48:55 <elliott> on Ubuntu
23:49:05 <ais523> elliott: perhaps they're version seven?
23:49:06 <olsner> I seem to conclude that nasm is broken... yasm apparently accepts nasm syntax, wonder if that means it will accept my code
23:49:14 <fizzie> No, hardy is like 6 versions back.
23:49:23 <ais523> fizzie: I mean, the last with Java in
23:49:26 <elliott> olsner: yasm is nasm-compatible
23:49:28 <ais523> I know it's pretty old, I used to use it
23:49:32 <elliott> so maybe it will even replicate the bug
23:49:36 <elliott> ais523: seems not... I'm confused now
23:49:57 * elliott wonders what the necessary level of hardcore is to use https://github.com/patrickhaller/no-wm.
23:50:00 <fizzie> ais523: But I have sun-java6-plugin in my aptitude on this natty.
23:50:26 <ais523> fizzie: I have it in my aptitude
23:50:29 <ais523> it just can't install it
23:50:41 <ais523> because it can't find an appropriate version
23:50:47 <elliott> I don't think packages are ever deleted
23:50:52 <ais523> elliott: is that a window manager that isn't a window manager?
23:50:53 <elliott> just, all their versions removed
23:51:10 <elliott> ais523: you can click that link yourself, you don't need to accept their TOS to read their pages
23:51:14 <Ngevd> KLogic I cannot find any more
23:51:20 <elliott> https://raw.github.com/patrickhaller/no-wm/master/README <-- look, you don't even need to use their UI
23:51:40 <ais523> ah right
23:51:44 <ais523> the github UI doesn't work for me half the time
23:51:55 <elliott> js enabled?
23:51:57 <ais523> once, annoyed, I enabled JavaScript only to discover it /still/ didn't work
23:51:59 <fizzie> ais523: Well, if I + it, it says it's going to install version 6.26-1natty1.
23:52:06 <elliott> I like GitHub's UI a lot
23:52:14 <Sgeo|web> Why does Frink think that 0/0 = 1?
23:52:38 <elliott> Sgeo|web: presumably for some numerical calculation methosd
23:52:39 <elliott> methods
23:52:44 <calamari> I dunno why I even use ubuntu anymore.. I swear next time I'm just going to install debian for my desktop and see how it goes
23:52:51 <ais523> fizzie: ah, hmm
23:52:54 <elliott> calamari: it should work fine
23:52:55 <Sgeo|web> calamari: why?
23:52:59 <Sgeo|web> What happened
23:53:01 <elliott> calamari: you'll want to use the expert installer to get sudo though
23:53:13 <elliott> if you don't like the separate-root-password system (I don't)
23:53:30 <elliott> Sgeo|web: Unity happened?
23:53:34 <ais523> elliott: I think ideal would be if sudo asked for a password that was specific to the user invoking sudo, but not the same as their login password
23:53:38 <calamari> Sgeo|web: ubuntu seemed to have jumped the shark.. now their enhancements are things like stripping out xorg lol
23:53:39 <Jafet> calamari: because every time you conclude it sucks, they change the default programs and you give it another chance
23:53:51 <elliott> calamari: well nobody can seriously argue that Xorg is beneficial
23:53:52 <Sgeo|web> calamari: and replacing it with what?
23:53:56 <elliott> Sgeo|web: Wayland
23:54:03 <Jafet> Ubuntu users are like goldfish, except they work on the timespan of six months
23:54:08 <fizzie> ais523: It doesn't have any files in natty, though; it's a metapackage, the .deb file is just 1.8k. It just pulls in sun-java6-bin and makes sure there's a browser. But it could well be different in the LTS.
23:54:09 <Sgeo|web> Is that just another X server, or is it something else?
23:54:13 <elliott> Wayland is obviously better than Xorg, but Ubuntu will find some way to fuck it up
23:54:20 <ais523> fizzie: ah, I see
23:54:25 <calamari> elliott: I use ssh -X almost every day
23:54:26 <elliott> ais523: I don't want to remember more than one password in my entire life
23:54:48 <elliott> calamari: all Wayland transition plans I know of involve a transparently integrated X server running
23:54:55 <elliott> calamari: and ofc you can always run one for ssh
23:55:10 <elliott> calamari: anyway, Wayland doesn't preclude network transparency
23:55:12 <ais523> I don't really like that attitude; I'd prefer my computer to only be able to do things I give it permission to do
23:55:17 <calamari> cool we have an ubuntu apologist in the house
23:55:19 <ais523> and if that involves different passwords for different things, so be it
23:55:24 <elliott> calamari: are you serious
23:55:27 <elliott> I don't like Ubuntu
23:55:29 <zzo38> When at FreeGeek, I usually use ssh -e none -Y black@shell from VC 1
23:55:33 <elliott> Wayland isn't even an Ubuntu project
23:55:41 <elliott> what Mark Shuttleworth decides to do does not affect my opinions in the slightest
23:55:55 <zzo38> That way I can run xdvi
23:56:57 <elliott> calamari: seriously, is that your best argument? I don't think Wayland is remotely practical /yet/ but it is very obviously a better architecture than X
23:56:59 <Ngevd> I like Unity
23:57:09 <elliott> and anyone who thinks that it isn't has either never looked at Wayland or X
23:57:23 <calamari> elliott: it wasn't an argument :)
23:57:44 <elliott> calamari: it was a dismissal, but unfortunately a blatantly inaccurate one
23:59:14 -!- augur has quit (Remote host closed the connection).
←2011-09-30 2011-10-01 2011-10-02→ ↑2011 ↑all