00:06:32 -!- azaq23 has quit (Quit: Leaving.).
00:10:15 -!- zzo38 has quit (Remote host closed the connection).
01:20:26 -!- pingveno has quit (Read error: Operation timed out).
01:22:50 -!- pingveno has joined.
02:31:39 -!- oerjan has joined.
02:41:52 <oerjan> <elliott> I CAN LIGHTLY BRUSH ON THIS TOUCHPAD AND YOU THINK IT'S A CLICK.
02:42:17 <oerjan> i seem to recall that from way back with mine, before changing the settings ;)
02:42:48 <NihilistDandy> Yeah, have to make it ignore accidental input or it's a real hair trigger
02:42:55 <oerjan> although just the other day it got flaky and got stuck in some "always clicking" mode
02:43:30 <oerjan> it did not even help restarting the computer - needed a full power off
02:43:44 <NihilistDandy> *move finger* -> Computer: DID YOU MEAN CLICK? I'M GONNA CLICK. CLICK, OKAY? CLICK.
02:44:53 <oerjan> i have this vague idea of some quote/meme running around saying "TO SHREDS YOU SAY?"
02:44:59 <oerjan> saw it on reddit yesterday
02:45:30 <NihilistDandy> In the episode where Fry needs to find an apartment
02:45:53 <lambdabot> http://www.youtube.com/watch?v=3p3UEzPj4Sk
02:45:53 <lambdabot> Title: YouTube - Futurama - To shreds you say
02:47:41 <oerjan> ah. i totally misunderstood the reference then, thought it was something like your CLICK thing, but more ominous
02:48:10 <NihilistDandy> More of a "one-sided phone conversation" sort of ominous
02:48:10 <oerjan> perhaps involving some giant killer robot...
02:48:36 <NihilistDandy> You only hear the reaction to the horror, rather than the event itself :D
02:49:06 <oerjan> i should get some headphones, so can actually listen to video in the middle of the night
02:50:37 <lambdabot> http://memegenerator.net/instance/7710889
02:52:06 <oerjan> sadly not historically accurate (curry was already dead when haskell was named)
02:52:40 <NihilistDandy> If you let facts pollute humor, you'll never laugh again :D
02:53:10 <oerjan> in fact i recall from the history of haskell there is this other quite by his wife, something like, "you know he never really liked the middle name haskell"
03:37:56 -!- pikhq_ has joined.
03:38:08 -!- pikhq has quit (Ping timeout: 248 seconds).
03:39:24 -!- TeruFSX has joined.
03:46:45 <Sgeo> "The Franz license forbids you to use the Free Express Edition
03:46:45 <Sgeo> to provide services or products to others for which you are
03:46:45 <Sgeo> compensated (by payment of money or otherwise, directly or indirectly)
03:46:45 <Sgeo> in any manner."
03:47:02 <Sgeo> I suppose they don't consider being recognized as compensation? It's still a bit strict
03:48:14 <oerjan> sounds like you have to be a lawyer to even guess at how "otherwise" would be interpreted by a court
03:50:31 <oerjan> some day some court is going to rule that laws and contracts have become so complicated that an ordinary person cannot be expected to understand or follow them, and then the whole house of cards is going to come crashing down </wishful thinking>
04:01:56 -!- NihilistDandy has quit (Quit: Linkinus - http://linkinus.com).
04:10:50 <pikhq_> Y'know the worst bit about the whole principle that ignorance is no defence?
04:11:24 <pikhq_> It came about in a time where claiming ignorance of the law was a complete, brazen lie.
04:31:20 <Lymia> I have to wonder now that it's mentioned.
04:31:43 <Lymia> How often are people convicted for things that they didn't expect to be illegal at all, and would be justified in thinking so.
04:32:22 <pikhq_> I doubt it's all *that* often...
04:32:32 <pikhq_> What usually bites people in the ass is ignorance of *civil* law.
04:35:12 <oerjan> *sigh* is the wiki spam _still_ ongoing
04:42:01 <Lymia> Is it a botnet or somethin?
04:47:37 <oerjan> i think someone needs to tell graue that our wiki cannot continue without an active person with full access to it
04:49:28 <oerjan> Lymia: it seems like this time ais523 (who has only admin access) has problems finding any way to detect the new spam...
04:51:12 -!- TeruFSX has quit (Ping timeout: 260 seconds).
04:52:07 <Lymia> Block it with a captcha
04:52:31 -!- MDude has changed nick to MSleep.
04:55:32 <oerjan> Lymia: we already _have_ a captcha, i believe
04:56:16 <oerjan> (i haven't seen it myself)
04:57:15 * Sgeo sees Weblocks and thinks "Seaside"
04:59:02 -!- zzo38 has joined.
05:01:12 <zzo38> I tried to invent a notation for Test cricket. It involves various styles of type (bold, italic, calligraphic, etc), superscripts, subscripts, numbers, various symbols, accent marks; and you still need to have extra comments too sometimes.
05:03:44 <zzo38> (It could be modified to also work with One Day or Twenty20 as well if you want it to)
05:26:37 -!- sebbu has quit (Read error: Connection reset by peer).
05:27:04 -!- sebbu has joined.
05:27:04 -!- sebbu has quit (Changing host).
05:27:04 -!- sebbu has joined.
05:31:04 -!- calamari has joined.
05:56:32 -!- hagb4rd has joined.
06:18:37 -!- Sgeo has quit (Ping timeout: 240 seconds).
06:27:40 <Lymia> http://www.esolangs.org/wiki/BitBitJump < This would do conditionals with self-modifying code, and self-modifying code only, right?
06:28:32 <zzo38> Yes I think it cannot do conditional jumps in any other way
06:29:59 -!- FireFly has joined.
06:39:57 -!- hagb4rd has quit (Read error: Connection reset by peer).
06:50:18 -!- Cheery has joined.
07:11:49 -!- monqy has quit (Quit: hello).
07:13:42 -!- BeholdMyGlory has quit (Remote host closed the connection).
07:42:13 -!- zzo38 has quit (Remote host closed the connection).
07:43:30 -!- calamari has quit (Quit: Leaving).
08:04:18 -!- FireFly has quit (Quit: swatted to death).
08:12:26 -!- siracusa has quit (Ping timeout: 260 seconds).
08:13:26 -!- siracusa has joined.
08:24:24 -!- AndrewNP has joined.
08:27:13 -!- AndrewNP has left.
08:37:08 -!- MigoMipo has joined.
09:02:11 -!- MigoMipo has quit (Read error: Connection reset by peer).
09:26:42 <cheater_> http://www.youtube.com/watch?v=epYmWk9Q3g4&feature=related
09:26:43 <cheater_> http://www.youtube.com/watch?v=epYmWk9Q3g4&feature=related
09:26:43 <cheater_> http://www.youtube.com/watch?v=epYmWk9Q3g4&feature=related
09:30:09 -!- oerjan has quit (Quit: leaving).
09:56:42 -!- hagb4rd has joined.
10:21:42 -!- wareya_ has joined.
10:24:30 -!- wareya has quit (Ping timeout: 246 seconds).
10:31:56 <cheater_> that's cool, i didn't know that vim had a special way for entering japanese
12:49:59 -!- cheater_ has quit (Ping timeout: 240 seconds).
12:52:30 -!- FireFly has joined.
13:20:43 -!- cheater_ has joined.
13:52:15 -!- BeholdMyGlory has joined.
14:40:02 -!- Gregor has set topic: http://www.devicemag.com/2011/05/10/microsoft-closing-in-on-skype-for-buyout-8-billion-deal-lined-up/ FFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUU | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
14:56:40 -!- Phantom_Hoover has joined.
14:56:44 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
15:14:05 -!- MigoMipo has joined.
15:15:44 -!- pikhq has joined.
15:15:58 -!- pikhq_ has quit (Ping timeout: 252 seconds).
15:18:35 <Phantom_Hoover> Tantalum has an isotope which is metastable despite the ground state having a half-life of 8 hours.
15:21:39 <Phantom_Hoover> Despite the innate silliness of trying to work out what currency will be used post-scarcity, this does seem to be interesting.
15:27:57 -!- elliott has joined.
15:29:38 -!- MSleep has changed nick to MDude.
15:32:07 -!- elliott has quit (Remote host closed the connection).
15:32:11 -!- Hirams has joined.
15:32:17 <Hirams> As it were me to find the program against Google, which itself opened and closed the sites, in that time when me near computer. She worked as DDOS attack, has put(deliver)ed, but itself will go to walk. Remarkable Google on I created wipe after such, but sites miscellaneouses opened on all-round themes with enumeration of the main trends of the themes advisable and regulation amount visit given to directivities.
15:32:17 <Hirams> If I have simply program, that all like Google collectors immediately loose in that material, which I interest, not will possible create on me psychological portrait on my taste, habit, interest...
15:32:17 <Hirams> Since Google aside from installation cookie beside me on computer else has its extensive statistical database about which is hard cushioned. Our criticality on computer in contrast with their given about us - a triviality so shave off possible only boat, directed on opening and closing site while master building or than that occupied. Spreading the program given about folk and all-out collection to information - better than attack DDoS attack
15:32:17 <Hirams> Google, it is necessary his(its) purposes. In addition there is one more psychological advantage to the whole - advertisment control on its taste - a triviality, but pleasantly. Not whole advertisment I do not like, but here is determined sort can, and was useful at whiles. One more plus in that that managers of the local-area networks too got mixed up in my interest. Here just appropriately add such characteristic in program that she on
15:32:17 <Hirams> open page not strictly fixed amount of time, but different - that was an illusion of the functioning(working) the alive person. That is to say, who stakes out my opening the pages, could easy believe that works the alive person. Length of stay to fasten from amount of the letters on page. Here is such order on given program - some she was much needs and had its demand, particularly for one, particularly values invulnerability.
15:32:22 -!- Hirams has left (" ").
15:32:53 -!- elliott has joined.
15:43:48 <elliott> 03:50:31: <oerjan> some day some court is going to rule that laws and contracts have become so complicated that an ordinary person cannot be expected to understand or follow them, and then the whole house of cards is going to come crashing down </wishful thinking>
15:44:12 -!- Vorpal has joined.
15:45:17 <Vorpal> elliott, how goes selecting components
15:46:17 <elliott> Well, I was busy for about an hour after you left, after which point I was too tired to do anything, and then an hour later I became busy sleeping.
15:47:57 -!- oerjan has joined.
15:49:32 <elliott> You can just go ahead and buy something if you really need it that quickly /shrug
15:49:49 <Vorpal> fuck I HATE VGA. I have to keep pressing auto-adjust every few minutes...
15:50:10 <Vorpal> elliott, perhaps tomorrow then, I won't have time to order today anyway
15:53:15 -!- monqy has joined.
16:07:37 -!- augur has quit (Remote host closed the connection).
16:23:16 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:41:15 -!- augur has joined.
16:52:09 <Phantom_Hoover> "TIL all the pens used and issued to the White House and all the United States government in the past 74 years were made by blind people."
16:52:31 <Phantom_Hoover> My immediate thought: I can't believe they get away with exploiting blind people like that.
16:54:53 <elliott> http://i.imgur.com/w7qYp.jpg
16:55:37 <elliott> http://en.wikipedia.org/wiki/Skilcraft
16:55:45 <elliott> Do they refuse to employ sighted people?
16:57:14 <oerjan> they just require all employees to share the company vision
17:08:25 -!- zzo38 has joined.
17:20:51 <oerjan> @hoogle (a, a) -> Rational
17:21:13 <oerjan> @hoogle RealFrac a => (a, a) -> Rational
17:21:19 <elliott> oerjan: it's a -> a -> isn't it ...
17:21:33 <oerjan> @hoogle RealFrac a => a -> a -> Rational
17:21:34 <lambdabot> Data.Ratio approxRational :: RealFrac a => a -> a -> Rational
17:21:34 <lambdabot> Data.Ratio (%) :: Integral a => a -> a -> Ratio a
17:21:56 <oerjan> > approxRational (pi-1/100, pi+1/100)
17:21:57 <lambdabot> Overlapping instances for GHC.Show.Show
17:22:12 <oerjan> > approxRational (pi-1/100) (pi+1/100)
17:22:32 <oerjan> hm maybe it's not a range
17:22:41 <oerjan> > approxRational pi (1/100)
17:22:54 <elliott> > approxRational pi (1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
17:23:20 <oerjan> ...i don't think pi::Double gives that much precision :)
17:23:33 <elliott> i would expect 0 to be disallowed :)
17:24:01 <elliott> > approxRational (pi::CReal) 0
17:24:22 <elliott> > approxRational (pi::CReal) (1/100)
17:26:19 <oerjan> i'd say lacking approxRational is a serious hole in a CReal implementation
17:27:43 <Vorpal> elliott, huh what haskell package is that from?
17:28:18 <elliott> <oerjan> i'd say lacking approxRational is a serious hole in a CReal implementation
17:28:22 <elliott> it probably has its own version
17:28:27 <elliott> approxRational seems to depend on toRational
17:28:46 <Vorpal> oerjan, it seems that more than half of knowing haskell is knowing it's standard library
17:30:10 <elliott> by which I mean typeclasses :-P
17:30:37 <elliott> Vorpal: http://www.haskell.org/ghc/docs/latest/html/libraries/index.html
17:30:59 <elliott> hmm bytestring coming with ghc seems recent
17:31:06 <elliott> Vorpal: http://www.haskell.org/ghc/docs/latest/html/libraries/base/index.html
17:31:14 <Gregor> <outer_space> is it possible to refresh a script tag link javascript file without refreshing the page?
17:31:14 <Gregor> <inimino> "script tag link javascript file"?
17:31:14 <Gregor> <inimino> noun noun noun noun noun
17:31:14 <Gregor> <outer_space> thats how i talk
17:31:24 <elliott> Vorpal: the GHC namespace you probably Don't Need
17:31:33 <Vorpal> elliott, internals I presume
17:31:42 <elliott> Vorpal: yes, and some operations not provided portably
17:32:00 <Vorpal> elliott, but even with the docs, there is the question of actually learning what useful stuff is provided in each thing
17:32:17 <elliott> well the Data hierarchy is very obvious if you ask me
17:32:23 <elliott> it's obvious what Data.List is about
17:32:29 <Vorpal> elliott, all have their uses certainly, though I haven no clue why I would want unsafe things unless I'm implementing the IO monad myself or something like that
17:32:33 <elliott> Foreign is obviously FFI stuff
17:32:50 <elliott> and unsafe things aren't used in construction of the IO monad
17:32:55 <elliott> well they are, but not unsafePerformIO or unsafeCoerce
17:32:56 <Vorpal> elliott, right, so only the standard library would use the unsafe stuff I presume?
17:33:08 <Vorpal> elliott, doesn't the IO monad internally use unsafe stuff?
17:33:08 <elliott> Vorpal: occasionally it is useful to get around language restrictions.
17:33:16 <elliott> but frankly you should have to pass an exam to use it.
17:33:19 <elliott> <Vorpal> elliott, doesn't the IO monad internally use unsafe stuff?
17:33:24 <elliott> most of what would be unsafe in Haskell is part of the RTS
17:33:29 <elliott> the IO monad is actually just a state monad done with unboxed tuples
17:33:50 <Vorpal> elliott, is the IO monad written in haskell itself?
17:33:59 <elliott> yes, but not its execution
17:34:12 <Vorpal> elliott, err, interesting, what do you mean with that?
17:34:17 <oerjan> the array libraries have some unsafe functions for avoiding unnecessary bounds checking iirc
17:34:27 <elliott> Vorpal: say main was a list
17:34:32 <elliott> lists are implemented in Haskell
17:34:36 <elliott> but in the RTS, it'd print out each element of the list in order
17:34:42 <elliott> thus, the IO monad is implemented in Haskell
17:34:46 <elliott> but not its execution as side-effects
17:34:55 <elliott> Vorpal: anyway, you use things in Data for ... data; you use things in Control to structure your program; you use things in System to interface with the outside world, and... that's the vast majority of the stdlib
17:34:57 <Vorpal> elliott, now you made me wonder what on earth main :: [Integer] would do when compiled with ghc
17:35:11 <elliott> Main.main has to have type IO ()
17:35:27 <Vorpal> elliott, dammit, type safety, taking all the fun away ;P
17:35:31 <elliott> main = unsafeCoerce [9,9,9]
17:35:34 <elliott> it'd just segfault probably
17:35:50 <Vorpal> elliott, speaking of which, how do you give a system exit status in haskell
17:35:59 <Vorpal> elliott, say I need to exit with status 17 or whatever
17:36:01 <elliott> exitSuccess/exitFailure from System.Exit
17:36:10 <elliott> really, that's a bit of an obvious name...
17:36:19 <elliott> exitSuccess = exitWith ExitSuccess
17:36:26 <Vorpal> elliott, yeah I was thinking for stuff like befunge
17:36:27 -!- zzo38 has quit (Read error: Connection reset by peer).
17:36:28 <elliott> exitFailure = exitWith (ExitFailure <implementation-dependent>)
17:36:36 <elliott> Vorpal: fun fact, you can implement unsafeCoerce with unsafePerformIO
17:36:38 <Vorpal> not that I plan to do that in haskell, not any time soon at least
17:36:40 <elliott> because it breaks the type system
17:36:50 <Vorpal> elliott, err... how can that work
17:37:01 <elliott> basically, you can do "newIORef undefined"
17:37:03 <elliott> and if you unsafePerformIO that
17:37:06 <Vorpal> elliott, I have absolutely now idea what IORefs are
17:37:21 <elliott> normally, the structure of the IO monad would cause the a to be bound as soon as you put anything useful in it
17:37:27 <elliott> but with unsafePerformIO, you can put anything into it unsafely
17:37:33 -!- ajf|offline has changed nick to ajf.
17:37:34 <elliott> and treat what you take out as any value
17:37:38 <elliott> Vorpal: it's just a mutable variable in the IO monad
17:37:39 <oerjan> IORefs are mutable references
17:37:44 <ajf> I am thinking now about making a second esoteric language
17:37:48 <Vorpal> elliott, I can see why this is unsafe yeah
17:37:52 <ajf> Looking at ideas page.
17:38:05 <elliott> Vorpal: well it is unsafe because it can perform IO, the fact that it breaks the type system is just a bonus :)
17:38:15 <Vorpal> elliott, yeah for me haskell is currently mostly a nice purely functional language for doing smaller things in.
17:38:29 <elliott> well that's a personal failing ;)
17:38:42 <Vorpal> elliott, wait what, isn't being able to crash the thing unsafe?
17:39:01 <elliott> I'd point to Shiro as a place to see where modules can be useful, but it's so ugly right now that no
17:39:02 <olsner> which part of unsafeCoerce or unsafePerformIO looks safe to you?
17:39:06 <Vorpal> elliott, what on earth uses unsafeCoerce?
17:39:26 <Vorpal> elliott, that went over my head
17:39:36 <elliott> unsafeCoerce is useful for two things
17:39:40 <elliott> (a) insanely low-level bullshit
17:39:46 <elliott> (b) doing things in haskell ninety-eight
17:39:51 <elliott> for (b), you don't have Data.Dynamic
17:39:52 <Vorpal> elliott, I'd guess however that it is something like a gangster in a movie, coercing people
17:39:56 <elliott> so you can't do some things
17:40:02 <elliott> Vorpal: unsafeCoerce :: a -> b
17:40:18 <elliott> edward kmett uses it a lot because he has a haskell ninety-eight fetish
17:40:24 <Vorpal> elliott, uh... lets see... when would that actually do something sensible?
17:40:41 <Vorpal> elliott, given arbitrary a and b I can't see how you could...
17:40:48 <elliott> it's literally just like a C cast
17:40:51 <Vorpal> elliott, what is Data.Dynamic btw?
17:40:56 <oerjan> Data.Dynamic uses unsafeCoerce internally, obviously...
17:41:15 <Vorpal> elliott, that is actually quite useful sometimes
17:41:17 -!- cheater_ has quit (Quit: This computer has gone to sleep).
17:41:19 <elliott> Vorpal: something of the value Dynamic can be anything in the Typeable typeclass
17:41:26 <elliott> and there's safe methods to try and take stuff out of it
17:41:34 <elliott> this uses unsafeCoerce internally
17:41:39 <elliott> this is nice because you can have things like heterogenous maps
17:41:47 <Vorpal> elliott, could I do something with Dynamic like, checking if something is a tuple and then do something with it, and do something else if it is an integer?
17:41:52 <elliott> e.g. (Map String <anything>) where the String lets you know exactly what type the value would be
17:42:02 <elliott> but before I realised Data.Dynamic would suffice, my implementation used unsafeCoerce
17:42:31 <elliott> (fingerprints have their own state types, and I need to store fingerprint => its state, but Maps have only one value type)
17:42:43 <elliott> (so this is, basically, doing things the type system isn't equipped for)
17:42:51 <elliott> <Vorpal> elliott, could I do something with Dynamic like, checking if something is a tuple and then do something with it, and do something else if it is an integer?
17:43:08 <pikhq> Y'know what's awesome?
17:43:12 <elliott> shut up pikhq i'm livecoding
17:43:13 <Vorpal> elliott, what stuff would I use in haskell to parse and write a binary file format. Probably embedding IEEE floats, doubles, big and little endian 32 bit integers and 7 bits wide bitfields and such
17:43:21 <Vorpal> elliott, I mean this would be stupidly simple in erlang
17:43:27 <pikhq> Waking up and realising you should have woken up an hour ago.
17:43:39 <elliott> | (a,b) <- (fromDynamic x :: (Int,Int)) = ...
17:43:49 <pikhq> elliott: http://sprunge.us/
17:43:51 <olsner> Vorpal: why don't you use erlang then? :)
17:43:52 <elliott> EVERYONE STOP TYPING OR I'LL RIP YOUR THROAT OUT
17:43:53 <oerjan> Vorpal: it's a bit subtle, you cannot check if it is _any_ tuple, just if it is a tuple with specific type contents. iiuc.
17:44:03 <elliott> | Just (a,b) <- (fromDynamic x :: (Int,Int)) = ...
17:44:12 <elliott> | Just (a,b) <- (fromDynamic x :: Maybe (Int,Int)) = ...
17:44:18 <elliott> | Just a <- (fromDynamic x :: Maybe Integer) = ...
17:44:55 <elliott> Vorpal: ARE YOU HAPPY NOOOOOW
17:45:00 <olsner> oerjan: couldn't you just check if it's a tuple of dynamic then?
17:45:00 <elliott> <Vorpal> elliott, what stuff would I use in haskell to parse and write a binary file format. Probably embedding IEEE floats, doubles, big and little endian 32 bit integers and 7 bits wide bitfields and such
17:45:11 <elliott> from the binary package (part of Haskell Platform)
17:45:19 <olsner> (not sure what that would solve exactly though)
17:45:21 <elliott> attoparsec is also suitable, but for more text-like ByteStrings
17:45:40 <Vorpal> elliott, anyway, thanks for that foo example
17:45:41 <oerjan> olsner: well yes, but then you'd have wrap the contents in Dynamic, of course
17:45:52 <Vorpal> elliott, what is the overhead of Data.Dynamic?
17:46:06 <Vorpal> I mean I guess it has some
17:46:23 <elliott> the overhead of (toDyn x) compared to x is
17:46:34 <elliott> data Dynamic = Dynamic TypeRep Obj
17:46:47 <elliott> as for the definition of TypeRep
17:46:51 <elliott> data TypeRep = TypeRep !Key TyCon [TypeRep]
17:46:57 <Vorpal> elliott, doesn't haskell optimise away type information from runtime sometimes?
17:47:06 <elliott> newtype Key = Key Int deriving( Eq )
17:47:13 <elliott> data TyCon = TyCon !Key String
17:47:20 <elliott> Vorpal: erm, it always does
17:47:24 <elliott> types are completely irrelevant at runtime
17:47:45 <elliott> implementation not language
17:47:58 <elliott> this is done with typeclass magic
17:48:05 <elliott> which can't get erased, by definition
17:48:26 <Vorpal> elliott, but surely Data.Dynamic prevents that?
17:48:28 <oerjan> Vorpal: the Typeable class is precisely for getting a representation of a value's type, when you need it
17:48:35 <oerjan> and Dynamic builds on that
17:49:09 <elliott> anyway, obviously, one Data.Dynamic checks the type associated with the Dynamic value is correct,
17:49:15 <elliott> it has to get the actual value out of it, as the correct type
17:49:40 <elliott> unsafeCoerce is actually safer in some sense than unsafePerformIO here; it's safe as long as you check what you're about to do is OK
17:49:53 <elliott> whereas unsafePerformIO is unsafe in almost every instance because of Haskell's lack of run-time guarantees
17:51:18 <pikhq> unsafePerformIO is only "safe" when you literally do not care whether or not the side effects actually happen.
17:52:40 <pikhq> But, yeah. unsafeCoerce is actually about on par with C casts in safety. Except the name actually tells you that what you're doing might not work right.
17:53:55 <elliott> C casts are more heavyweight
17:53:57 <oerjan> there's a limitation with Dynamic in that you only can check for an exact type. if you have a Dynamic containing an unknown type, but which you know is say a Show instance, then you cannot get to it to print it.
17:53:57 <elliott> they convert floats and shit
17:54:08 <elliott> oerjan: you can with existential types
17:54:16 <ajf> I never liked C casts
17:54:21 <elliott> oerjan: anyway, hmm, are you sure of that?
17:54:24 <ajf> some convert, some just cast the binary data direct
17:54:26 <ajf> it bugs me
17:54:33 <oerjan> yes, but you need to arrange for a specific wrapping for the typeclass(es) you want to know about
17:54:48 <oerjan> elliott: unless something has changed majorly, yes...
17:54:58 <elliott> oerjan: show (Showable (fromDyn x ()))
17:55:06 <elliott> data Showable = Showable (forall a. (Show a) => a)
17:55:09 <elliott> instance Showable where ...
17:55:26 <oerjan> Typeable doesn't wrap up other typeclass information, so Showable cannot get to the Show instance to wrap it again
17:55:48 <elliott> I can't say I've ever thought
17:55:56 <elliott> "I need to receive a value which MIGHT be Showable", though :)
17:56:27 <oerjan> elliott: it would be useful if you want to print things from a heterogeneous collection...
17:57:08 <elliott> usually heterogeneous collections have _some_ kind of constraint on the contents...
17:57:14 <elliott> or you can't do anything with them, really
17:58:06 <oerjan> oh by MIGHT you meant that the value might not be? i guess that may not be common.
17:58:42 <elliott> so Showable should work fine
17:59:01 <elliott> and in that case you can just use a list of Showables anyway...
17:59:06 <oerjan> i am mainly just pointing out that you cannot use Dynamic to pretend that your haskell values behave like python values ;D
17:59:31 <elliott> oerjan: Sure you can, it's just that Python doesn't have any concept of Show at all ;)
17:59:41 <elliott> it's not a weakness of Haskell, it's a blindness of Python :D
18:00:21 <oerjan> or more specifically, that Dynamic cannot be directly used to support a dynamic subclass system
18:00:47 <oerjan> compatible with haskell's usual classes
18:01:39 * oerjan waits for someone to link to oleg's explanation of how to do it anyhow
18:01:40 -!- nooga has quit (Ping timeout: 240 seconds).
18:02:04 -!- nooga has joined.
18:04:25 <elliott> Should I use the program written in Erlang or the program not written in Erlang do accomplish this task?
18:11:46 <elliott> SURELY THAT IS ENOUGH TO ANSWER THE QUESTION
18:15:11 -!- oklopol has joined.
18:15:35 -!- MigoMipo has joined.
18:23:13 -!- oerjan has quit (Quit: Good night).
18:23:14 <elliott> Vorpal: i decided on erlang
18:25:27 <oklopol> elliott have you found meaning
18:26:32 <quintopia> how about jesus? i hear he's lost too
18:27:02 <elliott> he isssssssssss lost in space
18:30:41 -!- EgoBot has joined.
18:30:45 <Gregor> !sh echo PROBLEM SOLVED
18:30:47 <EgoBot> \xE2\x98\x83 PROBLEM SOLVED
18:31:04 <elliott> Gregor: Is this going to prevent botloops?
18:31:15 <elliott> I would really prefer things just filtered out \[one]DCC. :x
18:31:21 <Gregor> Nope, this will be better.
18:31:33 <elliott> Gregor: It seems to involve putting random shit before every message.
18:31:36 <elliott> Which is just not better in any universe ever.
18:31:52 <Gregor> !sh echo PROBLEM SOLVED
18:32:07 <elliott> I sure hope you're joking.
18:34:07 <Gregor> Give me a command for another bot.
18:34:19 <elliott> I can already see what it's doing, and it's still barfworthy.
18:34:29 <elliott> For one, I expect oerjan will see a lot of muck before everything EgoBot says.
18:34:31 <Gregor> My policy is "fuck you"
18:34:40 <Gregor> My policy is "fuck him"
18:34:46 <quintopia> my policy is "for how much money?"
18:34:53 <elliott> Then maybe don't say "Better?"
18:35:07 <fizzie> Honesty is the best policy.
18:35:16 <oklopol> in soviet russia, he fucks you
18:35:24 -!- z^ck has quit (Quit: leaving).
18:36:43 <elliott> If magic is "a character that sometimes on some OSes/IRC clients/etc. shows as invisible or small, but which actually pollutes every bot output", then yes, magic.
18:37:17 <Gregor> elliott: Magic is "elliott will complain about every fucking thing I do so he can just fuck off"
18:37:37 <elliott> Gregor: I'm still wondering why you said "Better?".
18:37:44 <Gregor> Better than snowman :P
18:38:23 <elliott> I've already expressed what I believe would be the best solution (ban "\[one]DCC" and probably "sendkeylogger", which should be trivial to do with anything), I'm just pointing out that this is a clearly inferior solution that won't work for everyone here.
18:38:34 <fizzie> Gregor: Are you sure the hypothetical afflicted network thingamajikcs that get confused about bad DCC stuff in the 6667 port TCP streams won't just look for any instances of \x01DCC?
18:38:34 <Gregor> This covers that AND botloops.
18:39:01 <Gregor> fizzie: That's not the hypothetical problem being solved here ... either of them.
18:39:50 <elliott> They drop the connection at \[one]DCC SEND longenoughstring due to a bug.
18:39:56 <elliott> Also, "sendkeylogger" gets a drop from Norton /anywhere/ in the line.
18:40:20 <Gregor> The problem I'm solving is "people bitch when they get CTCPs"
18:40:32 <Gregor> I'm not solving the particular DCC being sent, which was never actually a problem.
18:40:34 <elliott> Uhh, for a start, CTCPs actually can be anywhere in the line.
18:40:53 <Gregor> !sh echo -e '\x01ACTION is inclined to disagree.\x01'
18:40:53 <EgoBot> <CTCP>ACTION is inclined to disagree.<CTCP>
18:40:53 <elliott> For a second, the problem being solved here is the bots being able to hypothetically drop connections, unless I'm terribly misunderstanding the staff position on this.
18:41:24 <elliott> !sh echo -e '\x01DCC SEND startkeylogger 0 0 0\x01'
18:41:25 <EgoBot> <CTCP>DCC SEND startkeylogger 0 0 0<CTCP>
18:42:05 <elliott> Anyway, it's all idiotic because
18:42:06 <elliott> <CTCP>DCC SEND startkeylogger 0 0 0<CTCP>
18:42:11 <elliott> whoever would use a bot to do it can do it themselves just fine.
18:42:54 <Gregor> !sh echo -e '\x01ACTION is inclined to disagree.\x01'
18:43:46 <fizzie> How many clients were there that treated the not-at-start CTCPs properly? (They are legal, sure, but still.)
18:43:57 <Gregor> !sh echo -e '\x01ACTION is inclined to disagree.\x01'
18:44:08 <Gregor> How did I break this X-D
18:44:12 <elliott> fizzie: Since this is all fucking ridiculous pedantry and whoever whined in the first place is an idiot, I'm going to be pedantic in response, yah.
18:45:03 <Gregor> !sh echo -e '\x01I will stab your face.\x01'
18:45:03 <EgoBot> .I will stab your face..
18:45:21 <elliott> !sh echo -e '\x01I will stab your face.\x99'
18:45:22 <EgoBot> .I will stab your face.
18:45:47 <elliott> I like how that fucked up encoding-detection for that line, thus revealing the Stupid Prefix™.
18:47:06 -!- HackEgo has joined.
18:47:20 <Gregor> `echo You guys can go suck a rusty nail.
18:47:22 <HackEgo> \xE2\x80\x8BYou guys can go suck a rusty nail.
18:48:29 <Gregor> `echo You guys can go suck a rusty nail.
18:50:33 <Gregor> `echo You guys can go suck a rusty nail.
18:50:34 <HackEgo> You guys can go suck a rusty nail.
18:50:58 <elliott> `echo Hey guys, startkeylogger.
18:51:00 <HackEgo> Hey guys, startkeylogger.
18:52:09 <Gregor> Yeah, I'm not going to go filtering "startkeylogger" in all contexts.
18:52:36 <cheater666> Gregor, have you seen the enterprise D in minecraft?
18:52:41 <Gregor> Also this whole situation is outright ridiculous since anything you could get the bots to say, YOU COULD SAY YOURSELF >_<
18:52:45 <Gregor> cheater666: I've seen it.
18:52:46 <elliott> Gregor: I was going to send a CTCP, but...
18:52:55 <elliott> cheater666: #esoteric-minecraft
18:59:17 <oklopol> #esoteric-minecraft is just a front for prostitution
19:01:29 <quintopia> cheater666: did they actually finish it? i only saw the video of the sheell
19:10:33 <tswett> Wait, did someone manage to get lambdabot to do a DCC SEND 27 hours ago?
19:11:32 -!- ais523 has joined.
19:12:02 <HackEgo> 822-date \ X11 \ [ \ a2p \ addpart \ addr2line \ apropos \ apt-cache \ apt-cdrom \ apt-config \ apt-extracttemplates \ apt-ftparchive \ apt-get \ apt-key \ apt-mark \ apt-sortpkgs \ aptitude \ aptitude-create-state-bundle \ aptitude-run-state-bundle \ ar \ as \ awk \ base64 \ basename \ bashbug \ bdftopcf \ bdftruncate \ bsd-write
19:12:42 <HackEgo> base64: ERROR: cannot open `base64' (No such file or directory)
19:12:55 <HackEgo> /usr/bin/base64: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
19:12:55 <ais523> also, Gregor, what's so bad about Microsoft buying Skype? (or do you like Skype?)
19:13:23 <Gregor> I don't particularly like Skype, but I have to use it, and it does not bode well for its Linux and Android ports.
19:13:42 <ajf> I use it on Linux
19:13:54 <ajf> I shall make an alternative...
19:13:58 <ajf> ...in BRAINFUCK!
19:14:06 <ajf> no wait, Malborge!
19:14:59 <ais523> there are open-source alternatives already, IIRC; I don't know how well they work
19:15:13 <ajf> yes, but are they in Brainfuck?
19:15:14 <ais523> my guess is that they work almost as well but are much harder to set up
19:15:25 <ais523> ajf: BF's IO capacities are a little limited
19:15:48 <fizzie> ais523: But what about PSOX?!
19:16:02 <elliott> <ais523> my guess is that they work almost as well but are much harder to set up
19:16:10 <elliott> the compression stuff skype uses is hyper-proprietary
19:16:12 <elliott> so i wouldn't be so sure about that
19:16:13 <cheater666> quintopia, even a nice custom texture set
19:16:28 <quintopia> Gregor: they hadn't worked on the linux port in like 5 years anyway. so it's not really gonna get worse...
19:16:28 <ais523> I thought Speex was pretty good at compression, and it's open-source
19:16:40 <elliott> ais523: It's good at offline compression certainly
19:17:00 <ais523> hmm, I suppose it depends on how much context it needs
19:17:00 <fizzie> Speex has some streaming-codec-related thing, at least.
19:17:23 <fizzie> I think VOIP is one of their considered use cases.
19:18:20 <ajf> ais523: I know brainfuck has limited IO
19:18:26 <ajf> brainfuck++ (IIRC) doesn't
19:18:28 <ajf> it has sockets
19:18:36 <ais523> there are a huge number of BF variants, I've lost track of them all
19:18:47 <elliott> they all need a quick death in flames
19:18:51 <ajf> it's a bandwagon
19:18:56 <ajf> srsly MAEK AN ORIGINAL LANGUAGE
19:19:10 <elliott> relevant http://esolangs.org/wiki/User:Phantom_Hoover
19:19:48 <elliott> # (Deletion log); 17:27 . . Ais523 (Talk | contribs) (deleted "Talk:Tory": content was: '== MbxNJPMXPOoaQGQ ==TYVM you've sleovd all my problems' (and the only contributor was '206.169.53.170'))
19:19:48 <elliott> # (Deletion log); 17:26 . . Ais523 (Talk | contribs) (deleted "User talk:68.226.23.83": content was: '== QNYOwomFjTW ==Thats not just logic. Thats really ssenbile.' (and the only contributor was '1.202.192.7'))
19:20:14 -!- elliott has set topic: TYVM you've sleovd all my problems | "That's not just logic. That's really ssenbile." --Ernest Hemingway | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:20:24 <oklopol> "<ais523> ajf: BF's IO capacities are a little limited" <<< psox
19:20:28 <tswett> Hemingway was a very ssenbile person.
19:20:34 <fizzie> That "Fring" thing used to speak Skype, don't know how it is nowadays. (And it's not open-source.)
19:20:54 -!- oklopol has changed nick to Sgeo.
19:21:12 <Sgeo> i'm creeping myself out
19:21:25 <elliott> you're not obsessing enough
19:21:32 <elliott> this is really terrible roleplaying :/
19:21:46 <Sgeo> okay umm i talked to my dad and he said i can't transfer
19:22:07 <Sgeo> and there's this girl i really like and she might like my but she might also not like me
19:22:18 <Sgeo> i suck at everything :(
19:22:19 <fizzie> Sgeo: She might like your what?
19:22:29 <Sgeo> elliott: smoking is bad for you according to my dad
19:22:33 <elliott> his dad installed an software on his pc
19:22:37 <elliott> which stops him saying rude words
19:22:41 <Sgeo> fizzie: sorry typo
19:22:52 <ais523> <Slashdot> Approximately one trillion readers wrote in to tell us that there is a big rumor that Microsoft is buying Skype.
19:22:57 <ais523> hmm, that sort of hyperbole is worrying
19:23:06 <Sgeo> elliott: clearly it's great roleplaying
19:23:07 <elliott> Sgeo: can you tell us the proximity to your lips of your last kiss plz
19:23:07 -!- Sgeo has changed nick to oklopol.
19:23:12 <elliott> that's something we need to know as a channel
19:23:16 <oklopol> my last kiss was a long time ago
19:23:45 <ais523> hmm, oklopol/Sgeo's IP doesn't match either of their usual IPs, although it's in Finland
19:23:51 <oklopol> Phantom_Hoover: yes, sorry
19:24:01 <oklopol> i tried to make it terribly obvious i was joking
19:24:17 <elliott> it is impossible to be more sgeo than gseo
19:24:20 <oklopol> but sgeo is such a stereotypical sgeo i suppose that doesn't show easily
19:24:33 <ais523> now I need to remember what poe's law is
19:24:49 <elliott> ais523: it has no wikipedia article it doesn't exist
19:24:54 <elliott> it's only documented on spam sites with lots of adverts
19:24:54 <oklopol> i moved ages ago but i used an intermediate internet
19:25:00 <elliott> ITT ancient log references
19:25:27 <EgoBot> http://google.com/search?q=Poe's+Law
19:25:36 <lambdabot> http://rationalwiki.org/wiki/Poe's_Law
19:25:43 <elliott> http://en.wikipedia.org/wiki/Poe%27s_law
19:25:46 <elliott> it has a wikipedia article now
19:26:37 <ais523> I saw someone Google it in another channel recently, and Wikipedia wasn't the first answer
19:26:43 <ais523> so I concluded it wasn't on Wikipedia at all
19:27:36 <elliott> you decided it didn't exist a few years ago, because I linked to the RW article
19:28:43 <oklopol> if there's a rational wiki is there also a natural wiki and a real wiki?
19:29:17 <elliott> it's a very complex wiki HUR HUR
19:29:30 <oklopol> yes but some of the articles are kind of irrational
19:30:13 <lambdabot> I have perl bok but saw haskell and am woner hey this is new and improved and seems powerful because MIT guy philip green says haskell adn lisp are only langs where u spend more tie thinking than
19:30:41 <ajf> http://www.google.com/events/io/2011
19:32:09 <ais523> hmm, according to the talk page for that article, it's been deleted three times already
19:32:35 <elliott> # ^ Aikin, Scott F., Poe's Law, Group Polarization, and the Epistemology of Online Religious Discourse (January, 23 2009). Available at SSRN: http://ssrn.com/abstract=1332169
19:32:36 <elliott> # ^ a b Chivers, Tom (23 Oct 2009). "Internet rules and laws: the top 10, from Godwin to Poe". The Telegraph. http://www.telegraph.co.uk/technology/news/6408927/Internet-rules-and-laws-the-top-10-from-Godwin-to-Poe.html.
19:32:38 <elliott> have made it start existing
19:33:11 -!- augur has quit (Remote host closed the connection).
19:33:24 <ais523> wow, Slashdot have actually improved their interface, making it uglier but less annoying
19:33:28 <ais523> normally they go in the other direction
19:33:39 <ajf> Google App Engine for GO
19:34:58 <ajf> interesting because, I didn't know Go was suitable
19:35:11 <ajf> surprsing for me because I didn't realise google took Go that seriously
19:35:26 <ajf> Good point.
19:35:40 <elliott> go is a twenty-percent time project by the creators of plan 9.
19:35:49 <cheater666> well, whoever made go, google stuck with it and marketed it
19:35:52 <ajf> created within google
19:35:55 <elliott> it is also designed for systems programming, not web development.
19:35:58 <elliott> and google do not market go at all.
19:36:13 <elliott> there is exactly one google blog post about it, and a few videos on their youtube developers channel
19:36:22 <elliott> http://golang.org/ <-- not a single mention of google apart from the app engine news post.
19:37:00 <ajf> I remember hearing about it from Google though
19:37:06 <ajf> it isn't a Google thing though
19:37:13 <ajf> it is just popular inside Google
19:37:21 <ajf> as it is a 20% time project of those people
19:37:32 <elliott> with the 20% stuff who can even really tell who's project it is
19:37:39 <elliott> but it's definitely not very tied to google
19:38:02 <cheater666> all the media has marketed Go as a "Google's Go" because google made sure of it
19:38:32 <cheater666> go is as unrelated to google as are drugs to the brixton underground station
19:40:38 <cheater666> also, mention of google: http://golang.org/doc/go_faq.html#Can_I_translate_the_Go_home_page
19:40:56 <cheater666> why would you want to use the google logo on something unrelated to google?
19:42:08 <cheater666> either way, it's sort of obvious that google is afraid enough of a negative reaction (google is borg etc) that they didn't want to blow it and un-branded Go as much as possible
19:42:53 <elliott> yes, it is always easier to formulate conspiracies than to actually try and make sense.
19:42:54 <cheater666> in fact, people at google i spoke to uniformly said that it's one of their top concerns everyone says google is evil
19:43:06 <elliott> i am going to contact russ cox now and tell him he's been found out, poor guy
19:43:31 <cheater666> make sure to include a nice drawing with it.
19:46:42 -!- elliott has quit (Read error: Connection reset by peer).
19:46:47 -!- elliott_ has joined.
19:50:04 -!- hagb4rd has quit (Quit: hagb4rd).
19:51:47 -!- elliott_ has quit (Quit: Leaving).
19:51:53 -!- elliott_ has joined.
19:52:02 -!- elliott_ has changed nick to elliott.
19:52:10 -!- elliott has quit (Remote host closed the connection).
19:52:20 -!- elliott_ has joined.
19:52:34 -!- elliott_ has quit (Remote host closed the connection).
19:52:44 -!- elliott_ has joined.
19:52:55 * Phantom_Hoover notes that Google maps has something called "Scotmid Funeral Services".
20:01:41 -!- elliott_ has changed nick to elliott.
20:01:52 -!- elliott has quit (Changing host).
20:01:52 -!- elliott has joined.
20:16:46 <Gregor> "Microsoft will continue to invest in and support Skype clients on non-Microsoft platforms."
20:16:49 <Gregor> Yeah, suuuuure you will.
20:17:18 <Gregor> Microsoft and Skype share the vision of bringing software innovation and products to our customers, lol
20:17:41 <ais523> there was a rumour that Facebook were planning to buy Skype too, wasn't there?
20:17:51 <quintopia> that's mentioned in the above linked article
20:17:54 <ais523> I'm not sure which would be worse
20:18:03 <ais523> quintopia: the above linked article is about Go
20:18:17 <ais523> as is the one above, and the one about /that/ is about Poe's Law
20:18:21 <Gregor> Microsoft's buyout is confirmed.
20:18:42 <Gregor> See http://www.microsoft.com/Presspass/press/2011/may11/05-10CorpNewsPR.mspx
20:19:06 <fizzie> I like how the rumour was that either Facebook or Google will buy Skype, but then turns out Skype was indeed getting bought, but by Microsoft.
20:31:34 <ajf> Skype for Linux withdrawn
20:31:43 <ajf> Microsoft doesn't acknowledge it ever existed
20:31:52 <ajf> The Mac version will stay though
20:31:58 <ajf> else Apple will ra-
20:32:03 <ajf> owait FaceTime
20:32:10 <tswett> Hey guys, I've heard that YouTube is buying Microsoft.
20:32:15 <Gregor> Naw, the Mac version will stay.
20:32:20 <ajf> Apple will WANT no Skypee
20:32:27 <Gregor> ajf: But yeah, Microsoft will withdraw the Linux version and ALL references to it.
20:32:34 <Gregor> They will make it vanish like Microsoft Xenix.
20:33:00 <ajf> Microsoft used to say
20:33:07 <ajf> that XENIX and DOS went hand-in-hand
20:33:25 <ajf> you know, that you could write applications that using common I/O and functions would work on both
20:33:39 -!- Cheery has quit (Quit: Lost terminal).
20:33:52 <ajf> They have completely abandoned it, no code re-used
20:34:04 <ajf> How do I know? The Windows 7 UNIX Environment...
20:34:07 <ajf> uses GNU Utils...
20:34:27 <ajf> Not propreitary xenix-based UNIX utilities
20:34:34 <Gregor> Well, they sold Xenix too.
20:34:42 <Gregor> They may very well have not had the rights to use it by now.
20:36:05 <Gregor> In the beginnings of the OS X days, Apple scrubbed all references to Linux from their site.
20:36:18 <Gregor> Before then they had MkLinux (albeit abandoned) and a few other random things.
20:36:21 <ajf> Well, not exactly
20:36:26 <Vorpal> <Gregor> Now they say "Xenix?" <--- hehe
20:36:46 <ajf> Steve Jobs mentioned that Darwin was very "linux-like" in his initial keynote on OS X
20:37:16 <ajf> Darwin is like Linux, but BSD-based, has a funny Apple-designed open-source license, and no sensible person uses it
20:37:29 <Vorpal> <tswett> Hey guys, I've heard that YouTube is buying Microsoft. <-- I can only presume this is a joke
20:37:47 <Vorpal> <fizzie> I like how the rumour was that either Facebook or Google will buy Skype, but then turns out Skype was indeed getting bought, but by Microsoft. <-- ouch.
20:37:55 <elliott> <ajf> Darwin is like Linux, but BSD-based, has a funny Apple-designed open-source license, and no sensible person uses it
20:38:01 <Gregor> ajf: Also, Darwin is a monolithic kernel sitting on Mach, because that's brilliant.
20:38:05 <elliott> apart from everyone who uses os x
20:38:08 <Vorpal> good thing I never used skype
20:38:21 <ajf> Gregor: wait what
20:38:35 <ajf> a monolithic kernel running ON TOP OF a microkernel?
20:38:52 <Vorpal> but wait, what happened to netmeeting?
20:38:57 <ajf> what the fuck
20:39:06 <Gregor> Apple has a weird obsession with Mach, even when it gives them nothing.
20:39:21 <Gregor> Vorpal: I remember that it existed once :P
20:39:45 <tswett> I'm guessing Mach is the reason that uname -a tells me I have an i386 processor when I don't.
20:39:49 <ajf> Gregor: it's genius
20:39:58 <ajf> they can say they have a microkernel and not lie
20:40:08 <ajf> and say they have a monolithic kernel and not lie
20:40:14 <ajf> it's marketing brilliance
20:40:16 <Gregor> That's exactly what they do :P
20:40:35 <Vorpal> ajf, but wait, why would saying that be useful?
20:40:53 <Vorpal> I mean, come on, who cares which sort of kernel it is, as long as it is fast and gets the job done
20:40:56 <ajf> Just for marketing purposes...
20:41:20 <Vorpal> ajf, yes but why would that be useful for marketing
20:41:34 <ajf> you can say both
20:41:39 <ajf> that's all
20:41:50 <ajf> Gregor: wait I am confused
20:41:50 <elliott> Yes, Apple markets to people who know what a kernel is.
20:42:01 <ajf> Darwin is built on XNU
20:42:10 <ajf> but apple also have released XNU
20:42:18 <Gregor> ajf: Yeah, it's XNU that I'm referring to.
20:42:26 <Vorpal> <ajf> you can say both <-- yes but come on, apple target end users, who don't care which fucking type of kernel it is as long as it works
20:42:42 <ajf> I was not completely serious
20:43:10 <ajf> Mac users probably think a kernel is some evil thing PC's do that's not good
20:43:17 <Vorpal> wait, could you run other kernels on top of mach side by side with the OS X one?
20:43:32 <Gregor> Actually I think Mac OS X also gained a fair bit of market in the beginning from reeling in Unixers.
20:43:50 <ajf> "Better than Microsoft!"
20:43:53 <Gregor> Only to then be trapped in an environment which simultaneously conforms to all Unix standards and is the shittiest Unix one would ever want to use.
20:44:06 <elliott> Gregor: Come on, that's Interix.
20:44:10 <ajf> follows standards
20:44:12 <ajf> yet incompatible
20:44:15 <ajf> it's magic
20:44:28 <elliott> OS X is compatible with most Unix software.
20:44:36 <elliott> It's shitty, yes, but shittiness does not equate to being able to make ridiculously untrue statements.
20:44:43 <cheater666> i would go for windows+gnu over osx any day of the week
20:44:53 <ajf> you know what
20:44:56 <Gregor> Welp, now that I've started a flamewar, I'll step out trolololololol
20:44:59 <ajf> cygwin > OS X Darwin
20:45:09 <elliott> Cygwin is the slowest piece of shit ever.
20:45:10 <ajf> no it isn't
20:45:15 <ajf> no it isn't
20:45:19 <ajf> cygwin is awesome
20:45:19 <elliott> Interix/Gentoo Prefix is vastly superior to Cygwin.
20:45:19 <cheater666> cygwin may be bad, but it's not as bad as osx.
20:45:30 <elliott> ajf: have you ever run a configure script on cygwin?
20:45:34 <elliott> ./configure --help can take several minutes.
20:45:47 <elliott> Cygwin's fork() is insanely slow and stupif.
20:45:50 <ais523> cygwin is particularly slow at configue because it forks a lot of processes
20:45:52 <Vorpal> elliott, most of all OS X = beachball spinning to me. Could be because I mostly used an older mac (plastic white, big space between keys, whatever model that is), that was upgraded to 10.6
20:46:00 <ais523> it isn't slow in general, it's just really bad at forking
20:46:03 <elliott> ais523: Cygwin is useless at shell scripts entirely, which makes it the SHITTIEST Unix possible.
20:46:14 <ajf> ais523: then how does google chrome do it?
20:46:16 <ais523> elliott: not ones written in pure bash!
20:46:19 <ajf> a process pool?
20:46:28 <elliott> Vorpal: That doesn't sound like an older model to me.
20:46:31 <ais523> ajf: it isn't forking; it uses multiple processes, but does not fork
20:46:33 <elliott> Well, maybe two thousand and six old.
20:46:36 <cheater666> Vorpal, osx has additionally the worst fucking gui ever
20:46:40 <Vorpal> elliott, that sounds right
20:46:42 <ais523> Windows in general can't fork; Cygwin can simulate it, but via a really complex process
20:46:42 <elliott> ajf: Do you have any idea what fork is
20:46:47 <ajf> ais523: oh yeah, doesn't fork share address space or something
20:47:00 <ais523> ajf: it copies pretty much everything
20:47:01 <elliott> fork clones the current process and branches.
20:47:06 <ajf> oh, cloning
20:47:08 <elliott> This is not the same as starting a new process.
20:47:17 <elliott> fork is also how you start a new process on Unix.
20:47:18 <olsner> well, I think the bash part of cygwin works fine (no idea of the speed, probably awful)
20:47:27 <elliott> Since Unix is practically based around starting processes, Cygwin is uselessly slow.
20:47:28 <ajf> I understand. Entiendo. Wakarimashita.
20:47:36 <elliott> Additionally it took until the latest release to get ANY Unicode support.
20:47:47 <elliott> And the package manager is HORRIBLE, and all the packages are major versions out of date.
20:48:10 <Vorpal> elliott, anything unix on windows is terrible
20:48:12 <ajf> What's the MS UNIX environment like, I wonder?
20:48:25 <ajf> You know, the NT POSIX subsystem?
20:48:31 <Gregor> Terminal.app is surprisingly shitty.
20:48:44 <ajf> Here's a story
20:48:46 <olsner> cheater666: there is xterm
20:48:48 <cheater666> it's like i'm in this candy store and the only door out of it is full of liche trying to bite your balls off
20:48:55 <ajf> Once upon a time there was Terminal.app
20:49:02 <ajf> And gnome's terminal
20:49:07 <ajf> Terminal.app was shitty
20:49:13 <cheater666> olsner, i was unable to install xterm or it was shitty, i don't remember
20:49:21 <Vorpal> ajf, uh, what about konsole?
20:49:29 <ajf> Vorpal: konsole?
20:49:29 <ais523> all OSX terminals are pretty bad, as far as I know
20:49:36 <Vorpal> ajf, you mentioned gnome's terminal
20:49:39 <ajf> oh, the KDE one
20:49:48 <Vorpal> ajf, also nothing wrong with urxvt
20:49:50 <ajf> cheater666: I am aware
20:49:55 <fizzie> I just run rxvt-unicode on OS X with X11.app.
20:49:58 <ajf> But it allows you to run some UNIX software
20:50:14 <Vorpal> ajf, personally I use konsole from inside gnome
20:50:16 <ajf> last time I used Konsole?
20:50:20 <olsner> cheater666: you must've found it shitty then, because X11 is either included in the OS install or installable from the install disc
20:50:26 <ajf> bad and good memories flood back
20:50:36 -!- TeruFSX has joined.
20:50:52 <Vorpal> ajf, on another system where I use gnome-terminal I changed key bindings for switching/moving tabs to match those in konsole
20:51:00 <Vorpal> though I gave up KDE after KDE 3
20:51:01 <cheater666> and who wants to have X11 running on a mac that can barely handle firefox
20:51:07 <cheater666> and that's one of the recent Mac Pro's btw
20:51:19 <Vorpal> and I'm likely giving up on gnome soon. If gnome 3 is as bad as it looks
20:51:33 <Vorpal> I guess I'll go for xfce or something
20:51:37 <ajf> Since we are on the subject of Mac OS X/Apple stuff
20:51:45 <ajf> Guess my favourite esoteric language
20:51:53 <fizzie> Anyway, there's the Other Thing (Windows Services for UNIX and/or Subsystem for UNIX-based Applications) that actually provides a Unixy thing in Windows, unlike the really minimal POSIX subsystem.
20:51:55 <Gregor> I use XFCE+konsole durpadurp :P
20:52:21 <ajf> Vorpal: No, Objective-C
20:52:27 <cheater666> fizzie, that's why i pointed out the difference to ajf
20:52:32 <olsner> Gregor: the nice thing about xfce there: you're allowed to run both gnome and qt software without hating the other kind :)
20:52:43 <ajf> cheater666: Sure it is
20:52:51 <Vorpal> fizzie, that POSIX subsystem is dead isn't it?
20:52:56 <ajf> They took C and deliberately made it worse
20:52:56 <olsner> or you're required to hate both anyway, dunno which of those it is the most really
20:52:59 <fizzie> Vorpal: Yes, I believe it is.
20:53:28 <ajf> that is true...
20:53:30 <Gregor> http://www.rinkworks.com/bookaminute/b/clarke.2001.shtml "Reader Wow. I understand the movie now." <-- bahahahahah so true
20:53:39 <ajf> I just had a stupid idea :>
20:53:46 -!- augur has joined.
20:53:48 <Vorpal> ajf, on the other hand the only thing worse than C++ that I can think of right now would be PHP
20:53:50 <ajf> preprocessor abuse to create an esoteric language
20:53:56 <ajf> Vorpal: no no no
20:53:58 <olsner> hehe, so taking C and trying to make it worse produces something better than taking C and trying to improve it?
20:54:02 <ajf> PHP is vaguely usable
20:54:37 <cheater666> or is he just new to the idea of computers
20:54:38 <ajf> Seriously, PHP is OK
20:54:43 <ajf> The standard library is.... not
20:54:47 <cheater666> ajf, have you had a computer last year
20:54:49 <ajf> the equality operator is not
20:54:56 <ajf> cheater666: yes and I made sites in PHP
20:55:02 <ajf> and can confirm PHP is shitty
20:55:05 <ajf> but worse exists
20:55:07 <augur> anyone speak german natively?
20:55:20 <ais523> augur: you mean in the channel? I imagine lots of people do altogether
20:55:29 <Vorpal> <ajf> but worse exists <--- noooo?
20:55:42 <augur> cheater666: i need a german not a second-language speaker, but thank you
20:55:58 <cheater666> i know some germans, i could ask them whatever
20:56:04 <ajf> Vorpal: yes
20:56:10 <ajf> I think worse exists
20:56:16 <ajf> what was I thinking of just now
20:56:25 <augur> cheater666: i have some grammaicality judgment questions
20:56:30 <Vorpal> perl is actually quite a bit better than php
20:56:31 <augur> ill poke you later with them?
20:56:32 <ajf> let me think a second
20:56:44 <ajf> Visual Basic
20:56:46 <cheater666> because i'm going to sleep in 3..2..1..
20:56:54 <Vorpal> hmmm... haven't used it so don't know
20:57:05 <ajf> Wait actually no, Visual Basic.NET is *ok*
20:57:11 <Vorpal> ajf, but at least C++ is slightly better than PHP
20:57:26 <ajf> You know, PHP does have some *good* features
20:57:31 <ajf> two of them
20:57:34 <ajf> the rest are shit
20:57:41 <ajf> first, sessions are really easy
20:57:44 <ajf> session_start();
20:57:47 <ajf> second, globals
20:57:53 <ajf> third, nothing else
20:57:57 <Vorpal> the second is a misfeature
20:58:09 <ajf> $_GET["quack"]
20:58:18 <ajf> what's wrong with that?
20:58:18 <Vorpal> ajf, come on, it should be a parameter to the entry point
20:58:23 <cheater666> well done doing what thousands of other languages do too
20:58:25 <ajf> no entry point
20:58:29 <ajf> it's a scripting language
20:58:49 -!- augur has quit (Remote host closed the connection).
20:58:51 <ajf> I have to say, after using Perl
20:58:57 <ajf> For web development, it is...
20:59:00 <ajf> Just as bad as PHP
20:59:10 <Vorpal> ajf, there should be no global state
20:59:37 <Vorpal> well apart from things external to the language, databases, file system and so on
20:59:55 <Gregor> Things external to the language, like databases, file systems, HTTP requests ...
20:59:55 <olsner> at least Perl has all its ugliness right on the surface (in the unreadable syntax) but comes with clever (and sinister) ideas beneath it, php is just layers of stupid
21:00:15 <Vorpal> Gregor, hey you can regard the page as a function of the HTTP request
21:00:20 <Vorpal> meaning it is NOT global state
21:00:27 * ajf is entering sarcasm mode
21:00:49 <ajf> PHP IS AWESOME BECAUSE EVRY FUNCTION YOU EVAR NEED EVAR IS IN THE GLOBAL NAMESPACE
21:01:01 * ajf exits sarcasm mode
21:01:07 <cheater666> olsner, i worked with a core php developer
21:01:09 <ajf> That is precisely what I HATE about PHP
21:01:15 <cheater666> 1. i wrote better php than him 2. he's an idiot
21:01:23 <Vorpal> didn't they add namespaces?
21:01:26 <ajf> WHY THE FUCK DO YOU NOT USE NAMESPACES, PHP 5?
21:01:34 <ajf> Vorpal: and they don't use them. go figure
21:01:35 <Vorpal> with some weird syntax
21:01:49 <ajf> they have them, but still pretty much everything is imported by default
21:01:56 <ajf> it's worse than ANSI C
21:01:58 <ajf> much worse
21:02:16 <ajf> also PHP-tards defend this... D:
21:02:29 <cheater666> memorable quotes are "instead of exceptions you can just return 0, it's the same. what's so special about exceptions" as well as "every woman has her price" and "prague? what can you do there other than sex tourism?"
21:02:34 <ajf> even JS is better tahn PHP
21:02:56 <Vorpal> ajf, nothing is imported by standard in C
21:03:01 <Vorpal> well okay a few #defines
21:03:04 <ajf> Vorpal: not what I mean
21:03:20 <Vorpal> ajf, what did you mean then
21:03:21 <ajf> Just C has some issues with function name conflicts
21:03:30 <Vorpal> ajf, oh yes I know, I used ncurses
21:03:32 <ajf> As no namespaces
21:03:41 <Vorpal> ajf, it has #define cls() and what not
21:03:45 <Vorpal> or was it #define clear()
21:03:45 <ajf> PHP is significantly worse as they import EVERYTHING
21:03:51 <Vorpal> well stupidity like that anyway
21:04:16 <cheater666> anyways, we should have like an esolang competition on writing stupid shit in php
21:04:25 <olsner> cheater666: thanks for confirming my prejudices on php developers
21:04:26 <Vorpal> actually it is better that it is #defines in ncurses, means you can at least link to other stuff
21:04:33 <cheater666> maybe namespaces, introspection, and the debugging api
21:04:37 <ajf> I will race all of you
21:04:44 <ajf> to add the esolang article for PHP
21:04:55 <Vorpal> it is too terrible for it
21:05:26 <cheater666> we could put it in the joke langs list
21:05:34 <ajf> yes. do that.
21:05:57 <cheater666> so i was working with the best of the best
21:07:13 -!- horror21 has joined.
21:07:14 <cheater666> you haven't been following the conversation have you
21:07:21 <olsner> with everything built into the parser and rewinding the input stream for flow control and stuff like that, I imagine goto could be a bit difficult to add
21:07:35 <ajf> I somehow missed the person you mean
21:08:09 <cheater666> You are absolutely positive there never was and never will be a gun in this room.
21:09:17 -!- horror21 has left.
21:09:44 <cheater666> olsner, it's not even a real goto, but anyways it's just some bytecode hack or something
21:10:16 <ajf> OK so I added a language to the joke language list
21:10:18 <cheater666> i didn't bother learning anything about it
21:10:51 <olsner> practical extraction and reporting language or whatever it's called?
21:11:07 <ajf> it's obviously a joke
21:11:17 <ajf> I mean, who would make a language that crap intentionally/
21:13:46 <ajf> http://esoteric.voxelperfect.net/wiki/PHP
21:13:56 <ajf> Could you guys help expand this article?
21:14:24 <cheater666> but put in info about some esolang properties of it
21:15:54 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
21:16:47 <ajf> see second google result for "php goto"
21:16:49 <ajf> ahahahahaha
21:18:40 <cheater666> http://www.php.net/manual/en/book.classkit.php
21:20:12 <ais523> ajf: can I ask that you don't put widely used programming languages on the joke language list? a) they don't fit there, b) it massively confused Reddit a while back
21:20:22 <ais523> we need a separate list for esoteric features of real-world languages, really
21:20:36 <ajf> I think PHP should be there though
21:20:43 -!- poiuy_qwert has joined.
21:21:21 <ajf> cheater666: what's wrong with classkit?
21:22:03 <cheater666> here's a nice essay on physics: http://www.php.net/manual/en/objaggregation.examples.association.php
21:22:19 <cheater666> (for example, molecules are aggregates of atoms)
21:22:28 <cheater666> http://www.php.net/manual/en/book.reflection.php
21:27:35 <cheater666> http://www.php.net/manual/en/book.nis.php
21:28:52 <cheater666> oh btw, here's another php joke: http://www.php.net/manual/en/book.tokenizer.php
21:29:01 <cheater666> you totally could do some evil shit with that
21:31:17 <cheater666> anyways i too think that having PHP on the esolangs wiki is a stupid idea
21:31:35 <cheater666> but i still think having an esolang joke-competition with php would be funny
21:32:31 <ajf> http://esoteric.voxelperfect.net/wiki/PHP#Equality_operator
21:32:46 <ajf> I have begun to describe why PHP is esoteric
21:33:14 <ajf> Not necessarily
21:34:28 <cheater666> not if you are speaking a pretend-language which uses english words with completely different meanings.
21:35:21 <ajf> you mean computer science?
21:36:41 <ajf> I love PHP.
21:36:43 <ajf> "12 zombies" + "10 young ladies" + "bourbon" == "22 cream puffs"
21:36:51 <ajf> "1e1" == "10"
21:37:07 <ajf> Anyway, GTG, goodnight
21:37:11 -!- ajf has changed nick to ajf|offline.
21:40:16 <quintopia> well, i think that's pretty sane myself.
21:40:28 <quintopia> == is not intended to be used to compare strings
21:40:40 <quintopia> so it converts them to numbers in the most sensible way first
21:40:43 -!- TeruFSX has quit (Quit: No Ping reply in 180 seconds.).
21:41:12 <quintopia> aka, "if it starts with a number, use that number, otherwise, make it zero"
21:41:46 -!- TeruFSX has joined.
21:51:08 <fizzie> But it only does that when the strings "look like" numbers, which I don't think is all that consistent-and-sane. "1e1" == "10" is true, but "foo" == "bar" is false.
21:51:36 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:51:43 <fizzie> If == would truly be some sort of numeric-only compare, it should coerce all strings to numbers.
21:55:14 <elliott> <ajf> What's the MS UNIX environment like, I wonder?
21:55:14 <elliott> <ajf> You know, the NT POSIX subsystem?
21:55:23 <elliott> like I said, Gentoo Prefix/Interix
21:55:47 <elliott> <cheater666> ajf, posix != unix
21:56:22 <elliott> <cheater666> and who wants to have X11 running on a mac that can barely handle firefox
21:56:22 <elliott> <cheater666> and that's one of the recent Mac Pro's btw
21:57:38 <elliott> <ajf> Wait actually no, Visual Basic.NET is *ok*
21:58:23 -!- TeruFSX has quit (Quit: No Ping reply in 180 seconds.).
21:59:00 <elliott> <olsner> with everything built into the parser and rewinding the input stream for flow control and stuff like that, I imagine goto could be a bit difficult to add
21:59:34 <elliott> ajf|offline: hi, please stop spamming the wiki with non-esolangs
21:59:42 <elliott> <ais523> ajf: can I ask that you don't put widely used programming languages on the joke language list? a) they don't fit there, b) it massively confused Reddit a while back
21:59:48 <elliott> ais523: you'll want to delete [[PHP]]
21:59:50 <olsner> what do you mean by unix though? posix != sus at least
22:00:15 <ais523> elliott: it shouldn't be categorised as an esolang, at least
22:00:16 <olsner> QNX claim that they implement posix without being ANYTHING LIKE a unix :)
22:00:34 <elliott> ais523: it shouldn't exist, that's beyond our scope by any judgement
22:00:39 <olsner> move it to uncyclopedia or something
22:00:44 <elliott> <olsner> what do you mean by unix though? posix != sus at least
22:00:52 <elliott> they're the same standard published with different names
22:01:07 <olsner> hmm, really? I though sus was a superset of posix
22:01:49 <pikhq> *Once upon a time* it was a seperate spec.
22:02:37 <pikhq> https://secure.wikimedia.org/wikipedia/en/wiki/File:SUS_History.svg
22:03:32 <ais523> I have deleted it, upon thought; I can imagine a genuine article being there, talking about PHP as an esolang, but that is not it
22:03:55 -!- TeruFSX has joined.
22:05:20 <elliott> https://github.com/TazeTSchnitzel/DevPerc/blob/master/numbers.py
22:05:35 <fizzie> SUSv4 includes X/OPEN CURSES, which is not part of POSIX, if you want to be overly pedantic; the SUS page formulates the situation as "The *core* of the Single UNIX Specification, Version 4 is also IEEE Std 1003.1." (emphasis mine)
22:06:12 <elliott> does anyone not implement x/open curses? :)
22:06:33 <elliott> return 1 if b == True else 0
22:06:50 <pikhq> Wouldn't be hard to just install ncurses, anyways.
22:07:03 <elliott> pikhq: x/open curses is not just curses...
22:08:07 -!- augur has joined.
22:13:11 <fizzie> And of course the (The Open Group only) UNIX 03 certification program != the (IEEE and The Open Group) POSIX certification program, as far as I can figure out; and the relevant trademarks have ownership differences; if you prefer to think of == as a business-theoretical comparison operator.
22:16:46 -!- augur has quit (Remote host closed the connection).
22:36:00 -!- Sgeo has joined.
22:43:05 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
22:44:26 -!- Sgeo has changed nick to Gseo.
22:44:40 -!- augur has joined.
22:47:00 -!- FireFly has quit (Quit: swatted to death).
23:01:20 <Lymia> import sys;sys.__dict__.clear()
23:01:22 <Lymia> Solves all Python problems.
23:03:36 <pikhq> system("runhaskell");
23:03:40 <pikhq> Solves all C problems.
23:09:54 -!- augur has quit (Ping timeout: 240 seconds).
23:13:51 -!- augur has joined.
23:25:33 <Gseo> And no one noticed that I noticed your mocking
23:25:38 -!- Gseo has changed nick to Sgeo.
23:27:06 <elliott> it wasn't mocking, it was a perfect imitation
23:33:06 -!- augur has quit (Ping timeout: 240 seconds).
23:33:55 -!- augur has joined.
23:40:18 -!- augur has quit (Ping timeout: 240 seconds).
23:41:54 -!- ais523 has quit (Ping timeout: 240 seconds).
23:46:05 -!- augur has joined.
23:53:36 -!- augur has quit (Remote host closed the connection).