←2012-06-21 2012-06-22 2012-06-23→ ↑2012 ↑all
00:00:32 <oerjan> yeah
00:03:18 <oerjan> (no text to translate)
00:25:22 <DHeadshot> I don't like the above implication that England, Great Britain and The UK all refer to the same place. The American equivalent would be to claim such of Texas, Dixie and The US...
00:29:39 <Phantom_Hoover> I refer you to Shachaf's Confusion.
00:30:03 <Phantom_Hoover> i.e. what, exactly, is the Isle of Man in relation to the United Kingdom.
00:34:10 <kmc> itidus21: those are all different places
00:35:11 <kmc> Phantom_Hoover: it's a self-governing crown dependency
00:35:13 <kmc> says wikipedia
00:35:28 <Phantom_Hoover> What does that mean?
00:36:09 <kmc> "Under British law, the Isle of Man is not part of the United Kingdom. However, the UK takes care of its external and defence affairs, and retains paramount power to legislate for the island."
00:36:23 <kmc> sounds like a colony >_<
00:36:38 * oerjan meditates upon Spitsbergen, Svalbard, Norway and Kingdom of Norway
00:36:52 <elliott> kmc: is the isle of man a british overseas territory
00:37:01 <elliott> because that is pretty much our name for colonies
00:37:05 <kmc> <3 svalbard
00:37:14 <kmc> elliott: no
00:37:27 <kmc> jersey, guernsey, and isle of man have their own deal
00:38:14 <elliott> kmc: So what is the UK?
00:38:19 <elliott> You see, I thought I knew all the answers.
00:38:30 <elliott> But it turns out the UK makes no sense at all.
00:38:39 <kmc> what do you mean?
00:38:44 <kmc> the UK is a nation-state
00:39:03 <Phantom_Hoover> elliott, well I mean the UK is England, Scotland, Wales and Northern Ireland.
00:39:06 <Phantom_Hoover> It's right there in the name.
00:39:09 <elliott> kmc: Okay. What does it compromise?
00:39:13 <elliott> *comprise
00:39:16 <Phantom_Hoover> The United Kingdom of Great Britain and Northern Ireland.
00:39:19 <oerjan> oh hum wait Svalbard _is_ part of the kingdom.
00:39:29 <elliott> What's the difference between somethin being part of the UK and something being governed by it?
00:39:47 <kmc> don't know, but the UK as a soverign entity is allowed to make such an arbitrary distinction
00:39:48 <Phantom_Hoover> One is actually part of the UK, the other is only governed by it?
00:39:58 <kmc> i know it has bearing on citizenship, for one
00:40:08 <pikhq> kmc: Uh, the term "nation state" means it's a state representing a nation. As in, a community of people who share a common language, culture, ethnicity, descent, and/or history...
00:40:14 <kmc> "Although Manx passport holders are British citizens, because the Isle of Man is not part of the European Union, people born on the Island without a parent or grandparent either born or resident for more than five consecutive years in the UK do not have the same rights as other British citizens with regard to employment and establishment in the EU"
00:40:17 <pikhq> By my count, the UK has 4 constituent nations.
00:40:28 <kmc> ok, so maybe it's just a state
00:42:14 <DHeadshot> The US have a similar thing with certain nearby islands...
00:43:09 <elliott> kmc: it is a "sovereign state" apparently
00:43:23 <elliott> i guess this means england is not a nation-state, it is a nation and a country that is part of the UK sovereign state
00:43:26 <elliott> but is england itself a state
00:43:50 <kmc> depends how you're using the word "state"
00:44:08 <elliott> kmc: i believe there are also certain overseas territories that the royal family actually *own*, through the crown
00:44:09 <pikhq> Well, the constituent states of the United States are, in most all senses of the term, at least de jure...
00:44:23 <kmc> the US has incorporated unorganized territories, unincorporated organized territories, and unincorporated unorganized territories
00:44:24 <elliott> but do the royals own Ireland?
00:44:28 <kmc> and used to have the fourth one too
00:44:31 <pikhq> Legal statuses are confusing as hell with the UK.
00:45:03 <Phantom_Hoover> <elliott> kmc: i believe there are also certain overseas territories that the royal family actually *own*, through the crown
00:45:35 <Phantom_Hoover> We've been over this; Crown ownership only represents ownership by the regent in the most abstract way.
00:45:46 <Phantom_Hoover> In all practical senses it's state ownership.
00:46:25 <kmc> did you know there is a piece of land on the border between Egypt and Sudan which is claimed by neither country?
00:46:26 <pikhq> Much like how, in theory, the Queen exercises near-ultimate power, but in practice the Queen only has enough power to be on TV and such.
00:46:28 <kmc> http://en.wikipedia.org/wiki/Bir_Tawil
00:47:08 <Phantom_Hoover> pikhq, I don't think she even has power over that;
00:47:16 <Phantom_Hoover> She's the Queen, she can't not appear on TV.
00:47:28 <elliott> Phantom_Hoover: I know that.
00:47:32 <elliott> Phantom_Hoover: But the whole point of this is technicalities.
00:47:43 <elliott> kmc: Yes, I knew.
00:47:58 <Phantom_Hoover> I'm not even sure it's true as a technicality, considering all that corporation sole stuff.
00:48:02 <kmc> " In 1999, Queen Elizabeth II, acting on the advice of the government, refused to signify her consent to the Military Action Against Iraq (Parliamentary Approval) Bill, which sought to transfer from the monarch to Parliament the power to authorise military strikes against Iraq."
00:48:08 <oerjan> kmc: i knew, probably because someone here mentioned it
00:49:05 <kmc> also there is a bit of territory which lebanon and syria both agree is part of lebanon, but israel considers to be part of syria
00:49:54 <Phantom_Hoover> What's the story behind that?
00:49:59 <elliott> kmc: that quote is weird
00:50:02 <kmc> http://en.wikipedia.org/wiki/Shebaa_farms
00:51:08 <kmc> it's occupied by israel, but israel withdrew from occupied territories in lebanon, therefore they consider it to be part of syria's golan heights
00:51:51 <Phantom_Hoover> I've just realised that I've never actually heard of any of Israel's territory being occupied by anyone else, except when it was previously disputed.
00:52:17 <Phantom_Hoover> It... seems that should happen as much as the other way round.
00:52:45 <kmc> no because israel had a tiny amount of territory to begin with
00:53:21 <Phantom_Hoover> I thought they started out with some large section of what was formerly British Palestine.
00:54:08 <kmc> by "to begin with" i mean after the war of independence
00:55:06 <Phantom_Hoover> Wait there was a war of independence too??
00:55:12 <kmc> http://en.wikipedia.org/wiki/1948_Arab%E2%80%93Israeli_War
00:55:27 <kmc> i'm using an operational definition of "state" here
00:55:43 <kmc> where the fact that the UN says you're a state is not very relevant
00:55:53 <kmc> but the fact that you control some territory and provide state-like services within it is more relevant
00:56:19 -!- atrapado has quit (Quit: Leaving).
00:56:23 <kmc> and the ability of the israeli government to do that was not established until the end of the 1948 war
00:58:20 <elliott> I...
00:59:00 <kmc> "we’re sure nobody will have any problem with this title or our upcoming half-hour comedy for primetime, POSTMODERN FAMILY."
00:59:03 <kmc> i would watch that
00:59:15 <Phantom_Hoover> I would watch the shit out of that.
00:59:25 <Phantom_Hoover> Not to mention Dancing on the Stars.
00:59:26 <kmc> i would watch it until my TV literally took a shit in my room
00:59:46 <elliott> is your tv a dog
01:00:06 <kmc> how to check
01:00:15 <Phantom_Hoover> put cat in front of it
01:00:35 <elliott> kmc: try throwing a bone
01:00:41 <elliott> if your tv runs towards it and picks it up it is probably a dog
01:00:52 <oerjan> high definition dog
01:01:03 <kmc> Phantom_Hoover: at what point do you consider the territory "occupied"? if there's active fighting and the front moves into the previous borders of your country, is that occupation
01:01:10 <oerjan> with UltraSmell(R) Technology
01:01:11 <kmc> or does it only count after a ceasefire of some length
01:01:16 <Lumpio-> HELLO
01:01:18 <Lumpio-> YES THIS IS DOG
01:01:36 <Phantom_Hoover> kmc, when the Wikipedia article calls it 'occupied'.
01:01:37 <oerjan> Lumpio-: CAN YOU SNIFF THIS BAG OF SUSPECTED DORITOS
01:01:44 <kmc> Phantom_Hoover: gimme 2 minutes then
01:01:49 <kmc> THEN WHO WAS PHONE?
01:01:54 <elliott> shut up
01:01:56 <elliott> all of you
01:01:59 <elliott> not Phantom_Hoover
01:02:01 <elliott> he can keep talking
01:02:08 <kmc> elliott smash
01:02:13 <oerjan> elliott: D8
01:02:18 <Phantom_Hoover> i used to keep talking then i took an arrow to the knee
01:02:24 <elliott> i do what i do because i must
01:02:31 <elliott> Phantom_Hoover: your right to talk has how been revoked
01:02:36 <Phantom_Hoover> (sorry it was the only awful meme that came to mind)
01:02:42 <elliott> i do not accept apologies
01:02:43 <elliott> only blood
01:02:45 <Phantom_Hoover> wait
01:02:58 <Phantom_Hoover> i should've said 'y u no let kmc talk'
01:03:04 <Phantom_Hoover> then when you revoked my right to speek
01:03:07 <Phantom_Hoover> said 'u mad bro'
01:03:20 <elliott> now i mad :(
01:03:26 <kmc> Phantom_Hoover: i don't understand, could you copy-paste that text into a bad drawing please and upload it to imgur
01:03:29 <Phantom_Hoover> ? shachaf
01:03:34 <HackEgo> No output.
01:03:44 <Phantom_Hoover> :(
01:03:48 <Phantom_Hoover> ? elliott
01:03:51 <HackEgo> elliott ? ¯\(°_o)/¯
01:03:56 <elliott> sigh
01:03:57 <elliott> help
01:03:59 <HackEgo> Runs arbitrary code in GNU/Linux. Type "<command>", or "run <command>" for full shell commands. "fetch <URL>" downloads files. Files saved to $PWD are persistent, and$PWD/bin is in $PATH.$PWD is a mercurial repository, "revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
01:04:02 <oerjan> ? elliott
01:04:06 <HackEgo> elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
01:04:10 <Phantom_Hoover> ? shachaf
01:04:14 <HackEgo> No output.
01:04:15 <elliott> wait what
01:04:20 <elliott> oh Phantom_Hoover had an extra space
01:04:22 <oerjan> Phantom_Hoover: BEWARE OF THE EVIL TRAILING SPACE BUG
01:04:34 <Phantom_Hoover> ? shachaf
01:04:36 <HackEgo> shachaf ? ¯\(°_o)/¯
01:05:27 <oerjan> learn shachaf completamente loco
01:05:30 <HackEgo> I knew that.
01:06:08 <oerjan> ? shachaf
01:06:12 <HackEgo> No output.
01:06:16 <oerjan> wat
01:06:19 <oerjan> ? shachaf
01:06:20 <Phantom_Hoover> ls wisdom
01:06:20 <elliott> ? shachaf
01:06:27 <HackEgo> No output.
01:06:36 <oerjan> i think we might be killing HackEgo
01:06:36 <elliott> cat bin/learn
01:06:41 <HackEgo> ​? \ ais523 \ augur \ banach-tarski \ c \ cakeprophet \ category \ coffee \ comonad \ coppro \ egobot \ elliott \ endofunctor \ esoteric \ europe \ everyone \ finland \ finns \ fizzie \ flower \ friendship \ functor \ fungot \ glogbot \ gregor \ hackego \ haskell \ hexham \ ievan \ intercal \ internationale \ itidus20 \ itidus21 \ kallisti \ lens \ lifthrasiir \ mad \ misspellings of croissant \ monad \ monads \ monoid
01:06:42 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \
01:06:43 <HackEgo> No output.
01:06:43 <elliott> actually
01:06:44 <elliott> http://codu.org/projects/hackbot/fshg/
01:06:46 <Phantom_Hoover> uname -a
01:06:48 <elliott> it seems something is wrong
01:06:49 <HackEgo> Linux umlbox 3.0.8-umlbox #2 Sun Nov 13 21:30:28 UTC 2011 x86_64 GNU/Linux
01:06:54 <elliott> oerjan: try adding it again
01:08:00 <oerjan> learn shachaf completamente loco
01:08:04 <HackEgo> I knew that.
01:08:11 <oerjan> ? shachaf
01:08:14 <HackEgo> No output.
01:08:29 <oerjan> ? shachaf2
01:08:31 <HackEgo> shachaf2? ¯\(°_o)/¯
01:09:14 <oerjan> run cat wisdom/shachaf wisdom/shachaf
01:09:16 <HackEgo> No output.
01:09:22 <oerjan> hm
01:09:42 <oerjan> file wisdom/shachaf
01:09:45 <HackEgo> wisdom/shachaf: symbolic link to /dev/null'
01:10:06 * oerjan swats shachaf -----###
01:10:13 <elliott> rm wisdom/shachaf
01:10:16 <HackEgo> No output.
01:10:34 <elliott> would be fairly easy to fix that bug in learn but i cba
01:11:08 <oerjan> what bug, surely that doesn't make it /dev/null
01:11:36 <kmc> my fake british friend says that crown dependencies are more like personal union, and so aren't bound by the uk parliament
01:11:48 <kmc> except wikipedia says parliament occasionally passes laws that intend to apply to mann and the channel islands
01:11:57 <kmc> i don't know how this works really
01:12:11 <kmc> law (especially british law) seems nice and formalized but really it's all made up as you go
01:12:18 <oerjan> learn shachaf sprø som selleri
01:12:19 <Phantom_Hoover> Wait really
01:12:21 <HackEgo> I knew that.
01:12:26 <oerjan> ? shachaf
01:12:27 <Phantom_Hoover> that's the impression you get of british law
01:12:29 <HackEgo> shachaf sprø som selleri
01:12:39 <kmc> yes
01:12:43 <kmc> unwritten constitution and all
01:12:57 <Phantom_Hoover> which has no written constitution and is very interpretative
01:13:06 <pikhq> Some law is made up more than others...
01:13:28 <pikhq> British law is probably the most blatantly so of any modern nation.
01:13:47 <elliott> kmc: the odd part is that you think it seems nice and formalised
01:13:58 <Phantom_Hoover> law here is completely made up
01:14:05 <kmc> it seems better than US law, where we spend a long time worrying about what some slaveowning aristocrats 220 years ago intended
01:14:05 <elliott> admittedly our government is good at printing impressively attractive forms that make you think they have an awful lot of iron-clad rules behind them
01:14:09 <Phantom_Hoover> they make it up in a lab with chemicals
01:14:30 <kmc> and whenever the supreme court wants to invent a new civil right (or take one away), they have to come up with a ridiculous justification for why it was intended all along
01:14:48 <elliott> kmc: unfortunately the result is that we don't have any credible arguments that the government can't legally violate our rights :P
01:15:03 <elliott> not that having one necessarily helps
01:15:19 <Phantom_Hoover> OTOH the government don't have any credible arguments that they *can* legally violate our rights.
01:15:44 <kmc> yeah
01:15:50 <kmc> i guess it is presumptuous of me to say which one is "better"
01:16:32 <kmc> i think the difference relates to the fact that USA is a much newer country with a very strong origin myth
01:17:01 <elliott> Phantom_Hoover: Do they have any credible arguments that they can do anything by that definition?
01:17:11 <kmc> you know jesus guided the writing of the constitution and this is why USA #1 forever
01:17:44 <elliott> Maybe we should employ some militant Tea Partiers to come and live in the UK so the government has some kind of vaguely credible thing to be afraid about.
01:17:55 <Phantom_Hoover> fsvo credible
01:18:16 <elliott> Phantom_Hoover: Well, the guns are credible.
01:18:36 <Phantom_Hoover> I can see at least one flaw in this plan.
01:18:47 <kmc> i look forward to hearing about how david cameron is an atheist muslim terrorist from kenya who was born in a terrorist training camp in pakistan
01:18:58 <kmc> seems pretty likely
01:19:04 <kmc> i mean, have you seen his birth certificate?
01:19:07 <kmc> WHAT IS HE HIDING
01:19:20 <nortti_> :P
01:19:34 <elliott> kmc: I think if Cameron wasn't British he'd have to kill himself.
01:20:31 <kmc> is that how it works
01:20:36 <pikhq> kmc: I think to find a nation with a stronger origin myth you have to go back Romulus.
01:20:49 <Phantom_Hoover> If he wasn't British I would be very curious as to who is.
01:21:07 <kmc> 'At the core of this doctrine was the notion that the crown itself had personhood and as a legal entity is identical to the state of Hungary. It is superior to the ruling monarch, who rules "in the name of the crown".'
01:21:08 <elliott> Phantom_Hoover: Well I mean wouldn't you rather Cameron *wasn't* British.
01:21:22 <kmc> http://en.wikipedia.org/wiki/Holy_Crown_of_Hungary#Holiness_doctrine
01:21:33 <Phantom_Hoover> no, his britishness is an integral part of his terribleness
01:21:40 <Phantom_Hoover> he wouldn't be as fun to hate if he wasn't
01:26:13 -!- david_werecat has joined.
01:27:39 <david_werecat> !bfjoust freeze (((((((((()*-1)*-1)*-1)*-1)*-1)*-1)*-1)*-1)*-1)*-1
01:30:19 -!- nortti_ has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )).
01:30:37 <elliott> david_werecat: That won't work :P
01:30:51 <elliott> david_werecat: Macros aren't expanded; there's no way to cause exponential blowup.
01:30:53 <elliott> It'll just time out.
01:30:55 <elliott> Or lose.
01:31:06 <elliott> Oh, hmm.
01:31:14 <david_werecat> It hasn't timed out yet.
01:31:20 <elliott> I suppose it could freeze the thing up, but I don't think the interpreter is susceptible to it...
01:31:27 <elliott> I know lance handled it correctly... so I blame fizzie.
01:31:33 <elliott> david_werecat: I think EgoBot has a global timeout on everything, though.
01:31:59 <david_werecat> I thought so too, but apparently not short enough.
01:32:33 <elliott> !sh echo hi
01:32:35 <EgoBot> hi
01:32:40 <elliott> Well, that's... reassuring.
01:33:19 <david_werecat> At least I'm not using "!perl fork() while fork()".
01:34:08 <david_werecat> That freezes codu entirely.
01:35:44 <david_werecat> Though, why is bfjoust still running after all this time?
01:38:44 -!- Phantom_Hoover has left ("Leaving").
01:38:57 -!- Phantom_Hoover has quit (Quit: Leaving).
01:41:18 <quintopia> !bfjoust isitreally? <
01:41:41 <quintopia> david_werecat: don't do that :P
01:42:07 -!- DHeadshot has quit (Remote host closed the connection).
01:42:24 * quintopia suspects the timeout is on program cycles and not the ()* construct
01:43:18 <quintopia> i don't think that bug is my responsibility so...
01:43:47 <quintopia> @tell Gregor http://www.filedropper.com/newbfjousttar and ask about the bug in gearlance
01:43:47 <lambdabot> Consider it noted.
01:43:56 <elliott> <david_werecat> That freezes codu entirely.
01:43:59 <elliott> It does not.
01:44:04 <elliott> EgoBot uses UMLBox.
01:44:24 <david_werecat> I did freeze codu a while back using that.
01:44:35 <elliott> Hmm, really?
01:44:36 <Gregor> !perl fork() while fork()
01:44:37 <lambdabot> Gregor: You have 1 new message. '/msg lambdabot @messages' to read it.
01:44:40 <elliott> That would be a serious bug in UMLBox, then.
01:44:48 <david_werecat> It also froze all other websites running or Gregor's box.
01:45:26 <Gregor> I suspect the bug uncovered was in fact bad timing when I was introducing bugs to fuck up Codu on my own the other day ;)
01:45:53 <elliott> Yeah, that sounds implausible to me... UML shouldn't be forkbombable like that.
01:45:58 <elliott> Especially with EgoBot's ulimits.
01:46:05 <david_werecat> Oh... so that was it.
01:46:19 <elliott> git.zem.fi is down.
01:46:25 <quintopia> nonetheless bfjoust has not returned
01:46:51 <Gregor> As I recall, EgoBot just remains silent if the time limit is reached.
01:47:20 <quintopia> it would not have been reached on the call i made afterwards
01:47:28 <quintopia> !bfjoust working? <
01:47:37 <elliott> !help
01:47:37 <EgoBot> ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
01:47:40 <oerjan> <elliott> I know lance handled it correctly... so I blame fizzie. <-- perhaps there's a bug when the "expanded" content is empty?
01:47:40 <elliott> !source
01:47:41 <elliott> !come on
01:47:44 <Gregor> Alternatively, it is in fact running that other bfjoust 8-D
01:47:51 <elliott> oerjan: Right, it's () that would cause any such bug.
01:47:56 <Gregor> FOR-E-VER
01:47:58 <elliott> Gregor: I can patch up *lance for it in a jiffy.
01:48:20 <elliott> Interestingly ()*anything should never be a timeout as you might expect, but instead be simply skipped.
01:48:23 <quintopia> elliott: remember to patch the new version
01:48:29 <Gregor> http://codu.org/projects/egobot/hg/ ought to be up to date.
01:48:33 <elliott> Actually... that's kind of a pain.
01:48:37 <elliott> Since you have to handle the nesting.
01:48:43 <elliott> What you need is a recursive expands_to_empty function.
01:48:50 <elliott> Which is easy to define but a pain to use.
01:48:57 <elliott> So I won't fix it, because it'd be ugly. fizzie can.
01:49:27 <quintopia> Gregor: you already installed the new version that fast?
01:49:51 <Gregor> No.
01:49:53 <Gregor> I've done nothing.
01:49:56 <Gregor> I'm super-tired X-D
01:50:09 <quintopia> then it's not up to date
01:50:10 <quintopia> :P
01:50:24 <oerjan> Gregor: have you got out of china yet? with all your body parts?
01:50:29 <Gregor> I was talking to elliott X_X
01:50:34 <Gregor> oerjan: Days ago.
01:50:42 <oerjan> aha
01:51:32 <elliott> waht
01:51:59 <david_werecat> Gregor: codu is down
01:52:09 <david_werecat> Gregor: The forkbomb worked
01:52:40 * oerjan thinks wikipedia should have a different color for links that go to disambiguation and misspelled redirect pages
01:52:40 <quintopia> Gregor: oh i thought you were telling him it was OK to patch the version of gearlance found at http://codu.org/projects/egobot/hg/ , which would cause it to conflict with the version in the tarball i just gave you
01:52:40 <quintopia> but it's irrelevant if codu is down :P
01:52:41 -!- monqy_ has joined.
01:52:48 <quintopia> monqy_: hi
01:52:53 <monqy_> hi
01:53:11 <elliott> Incidentally, Gregor IRCs through codu.
01:53:11 <elliott> So you just broke his IRC client.
01:53:27 <elliott> oerjan: that sounds DB-intensive
01:53:27 <david_werecat> That's incentive to fix it, right?
01:53:27 <quintopia> elliott: actually he ran the forkbomb himself XD
01:53:38 <elliott> Well then... Gregor did :P
01:53:41 <Gregor> <srd|__> could someone please write in this channel an IRP implementation of a universal Turing machine?
01:53:58 <Gregor> elliott: IRP may be in fancy-L ;)
01:54:02 <oerjan> elliott: but it already have a different color if the page doesn't _exist_
01:54:33 <oerjan> *has
01:54:42 <Gregor> Oh shit EgoBot is still using Plash, isn't it X_X
01:54:58 <elliott> Haha is it really
01:55:03 <elliott> Gregor: Are you lagged to hell
01:55:14 <elliott> oerjan: yes
01:55:14 <elliott> oerjan: that's a much simpler check than the others, I think
01:55:32 <oerjan> elliott: what do i know. i just see people are _still_ making new links to [[Issac Newton]].
01:55:43 -!- monqy has quit (Ping timeout: 265 seconds).
01:56:52 -!- pikhq_ has joined.
01:56:52 <elliott> oerjan: yw. hth.
01:56:53 <oerjan> elliott: um i already did that, and fixed most of them
01:56:59 <elliott> ah :P
01:57:09 <elliott> oerjan: I think there might be a bot that finds links to redirects from misspellings?
01:58:42 <oerjan> there are a couple old ones i haven't fixed because i haven't been able to check if the misspelling is in the actual source referenced
01:58:46 <oerjan> and also i just after that fixed a lot of "pentathalon"s :P
01:58:47 <elliott> clearly you should buy the comics
01:58:47 <oerjan> yeah in theory
01:59:07 -!- pikhq has quit (Ping timeout: 245 seconds).
01:59:07 <elliott> i will buy them if they are cheap
01:59:51 -!- monqy_ has quit (Ping timeout: 248 seconds).
02:00:06 <oerjan> no one answered my question on the talk page, anyway
02:09:04 -!- HackEgo has quit (Ping timeout: 265 seconds).
02:09:04 -!- EgoBot has quit (Ping timeout: 265 seconds).
02:14:09 -!- esowiki has joined.
02:14:11 -!- glogbot has joined.
02:14:11 -!- glogbackup has left.
02:14:13 -!- esowiki has joined.
02:14:14 -!- EgoBot has joined.
02:14:14 -!- esowiki has joined.
02:14:14 -!- HackEgo has joined.
02:15:05 -!- glogbackup has joined.
02:15:28 <oerjan> glogbackup: smooth
02:15:49 -!- Gregor has joined.
02:16:41 <Gregor> OK, probably time to switch EgoBot over to UMLBox...
02:16:43 <Gregor> I seriously thought I had done that, like, ages ago X_X
02:24:11 -!- david_werecat has quit (Ping timeout: 245 seconds).
02:33:03 <coppro> elliott: you'll enjoy what I just did to blognomic.
02:34:05 <elliott> coppro: What happened?
02:34:27 <coppro> elliott: I replaced the word 'Dynasty' with 'Machine'. BlogNomic is now in the Third Machine of scshunt.
02:34:34 <elliott> help
02:36:15 <elliott> coppro: can you explain henri bouchard to me
02:36:36 <shachaf> oerjan: Wait, did I do the /dev/null thing?
02:36:41 <shachaf> That was clever of me!
02:36:53 <oerjan> /clev/null
02:37:29 <elliott> coppro: Can you come up with some plan to win BlogNomic that lets me win without doing anything so that I can start a good dynasty?
02:37:44 <elliott> ais523: You are also permitted to do so.
02:38:12 <oerjan> seems it doesn't count it as a command if it contains a /
02:42:31 <elliott> coppro: i don't see where you actually did that
02:42:39 <elliott> oh
02:42:46 <elliott> it replaced it in the core rules as well as dynastic by mistake or something?
02:44:30 <coppro> yes
02:44:42 <coppro> elliott: neither of the other two things though
02:45:11 <elliott> the other what
02:45:26 <coppro> the two requests
02:46:36 <elliott> oh
02:46:40 <elliott> i'm upset
03:07:30 -!- pikhq has joined.
03:08:39 -!- pikhq_ has quit (Ping timeout: 252 seconds).
03:18:44 -!- zzo38 has joined.
03:19:39 <zzo38> Now I thought about it I can know, you can make a sum of categories, you can make a product of categories, and a monad or comonad on one of them you make the sum of monads and product of monads too, etc
03:28:19 <zzo38> The other thing is that it seems that you cannot actually make sum of categories and product of categories with the Category class in Haskell.
03:43:46 -!- Patashu has joined.
03:51:24 <ais523> does anyone here know of multiplexing X forwarders, sort-of like tmux but with X rather than terminals?
03:51:44 -!- oerjan has quit (Quit: Nope).
03:55:01 <coppro> ais523: To the best of my knowledge, none exists
03:55:05 <coppro> I've considered writing one
03:55:12 <coppro> but there's a lot of tricksiness
03:55:22 <coppro> since IDs can change
03:55:25 <coppro> and resources are stored server-side
03:55:30 <coppro> so the muxer would have to retain copies
03:55:34 <coppro> and restablish them server-side
03:55:37 -!- fungot has quit (Ping timeout: 244 seconds).
03:56:02 <coppro> you'd basically need to write a server
03:56:10 <coppro> except its display backend is also X
03:56:30 <coppro> (and GL wouldn't work unless you implemented software emulation on the muxer)
04:00:08 <coppro> ais523: see blognomic
04:06:59 -!- asiekierka has joined.
04:32:40 <pikhq> It'd be trivial with Wayland, as far as I know.
04:34:46 <coppro> No.
04:34:54 <coppro> Or do you mean local muxing?
04:34:59 <coppro> Local muxing might work.
04:35:12 <coppro> but not remote, since Wayland has no forwarding
04:36:04 <pikhq> I meant local. Though remote would work if you implemented your own forwarding protocol.
04:36:39 <kmc> ＴＲＩＶＩＡＬ
04:36:57 <pikhq> Yeah, -lx264
04:36:58 <pikhq> :P
04:42:29 <zzo38> Do you know how many things are banned in the Free Land of Not a pipe? Some of them are: * Searching housing units is banned. * Assisted suicide is banned. * Assisted abortion is mostly banned. * Hunting is mostly banned. * Surveillance cameras are banned in public areas. * Secret police are banned. * Elite police are banned. * Monopoly is banned. * Smoking in public is banned. * It is prohibited for someone who is dead to act as alive.
04:48:16 <coppro> but how do I own park place and boardwalk?
04:48:33 <coppro> pikhq: remote Wayland would largely defeat the point
04:49:24 <pikhq> coppro: It'd still be a much less shitty setup.
04:50:06 <pikhq> Apps currently try to treat X as a framebuffer muxer, setting up forwarding on top of an *actual* framebuffer muxer rather than a hacked-up one would work at least a bit better.
04:50:39 <zzo38> But there are also many things which are permitted: * Free speech is permitted without restriction. * Hate speech is permitted. * Discrimination is mostly permitted. * Cannibalism is permitted. * Voting is permitted at any age. * Writing and publishing whatever book you want is permitted. * Most other things are also permitted.
04:54:43 <zzo38> Kasparov once played chess against a team of fifty thousand people.
04:58:36 <zzo38> The team of fifty thousand people lost.
05:11:21 <coppro> none of us is as dumb as all o fus
05:12:31 -!- azaq23 has quit (Quit: Leaving.).
05:17:34 <kmc> did they vote on moves? what was the procedure?
05:42:02 <Sgeo> I seem to be in my "hunt for a language" phase
05:42:29 <Sgeo> I have moved from looking at Clojure to looking at ... not sure which of SML or OCaml I should look at, there seems to be more OCaml'ers on Reddit
05:42:34 <Sgeo> And am now doing a Try OCaml thing
05:42:43 <elliott> kmc: Seehttp://en.wikipedia.org/wiki/Kasparov_versus_the_World.
05:44:05 <elliott> s/ See/See /
05:44:29 <elliott> kmc: of course by "50k people" it was actually "far less people who were good at chess arguing on an internet forum and then getting everyone else to vote for that"
05:45:24 <elliott> [[Black finally secured the opportunity to castle but refused to be so defensive. This move was a novelty by the World Team, i.e. a move which had never before been played in a recorded game. Krush discovered and analyzed the move, and enlisted Paehtz to recommend it as well, to give it a better chance of winning the vote. Their combined advocacy, plus much discussion on the bulletin board, was enough to gain it 53% of the vote. After this move,
05:45:24 <elliott> MSN requested that the four official analysts not coordinate with each other, perhaps to ensure a greater variety of recommendations. The analysts worked in isolation from each other thereafter.[5]]]
05:45:25 <elliott> and so on
05:48:42 <kmc> http://en.wikipedia.org/wiki/File:Kasparov-18.jpg
05:48:44 <kmc> love the joystick
05:48:57 <kmc> "yeah i actually spent most of the time playing TIE Fighter"
05:49:02 <elliott> kmc: that's how you play chess
05:50:29 <elliott> lies, n. "You wont get better error messages than with ghc and ghci."
05:50:30 <pikhq> He actually uses a combat emulator to decide his moves.
05:50:56 <pikhq> See, chess actually comes out of ancient combat rituals. Therefore, what is best in battle directly corresponds to what is best in chess.
05:52:11 <elliott> kmc: "Those who complained were not overstating Krush's influence; her recommendations were selected every single move from the 10th to the 50th."
05:52:20 <elliott> etc. etc. etc.
05:53:57 <kmc> was The World allowed to use computer chess programs?
05:54:02 <kmc> and opening books, etc
05:55:12 -!- augur has quit (Remote host closed the connection).
05:55:39 <elliott> Did you read the opening of the article? It would be exceedingly difficult to stop an open web poll doing anything.
05:55:52 <elliott> So any such rules would be irrelevant, really.
05:56:05 <elliott> I doubt computer chess programs are any good when they only get to take some of the moves.
05:56:26 <elliott> "This move was posted by United States Senior Master and Life Master Brian McCarthy, one of the most prolific contributors to the World Team forum. He found the move working with his Bookup database and the integrated computer program Zarkov." -- so it was done.
05:56:35 -!- augur has joined.
05:57:15 <Sgeo> Now I'm looking at Mercury.
05:57:17 <Sgeo> Yipee.
05:58:15 <elliott> hi
06:01:44 -!- augur has quit (Read error: Connection reset by peer).
06:02:13 -!- augur has joined.
06:10:40 <Sgeo> I was going to ask what it is with "Objective" being added to language names to indicate OO, but then saw the obvious
06:11:23 <pikhq> Sgeo: Objective C as opposed to subjective C, of course.
06:11:34 <kmc> are there examples other than C and C++?
06:11:48 <Sgeo> kmc, Objective Caml
06:11:51 <kmc> ah right
06:12:01 <kmc> but almost nobody expands that acronym and almost nobody uses the object system ;)
06:12:33 <Sgeo> Besides apparently having more of a community, is there any reason to go OCaml over SML?
06:12:49 <Sgeo> Because I'm currently looking at OCaml more because of the community than anything else
06:12:52 <kmc> http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html
06:13:10 <coppro> sml isn't worth anything except learning why haskell is better
06:13:26 <pikhq> Which probably has high value all its own.
06:13:36 <kmc> SML syntax is a bit nicer i think
06:13:43 <kmc> it has a wider variety of implementations
06:13:53 <kmc> these are not really big points in favor
06:13:59 <kmc> ocaml is used by real companies doing real things
06:14:08 <pikhq> That doesn't say much, anyways: Haskell's nearly a monoculture by now.
06:14:13 <kmc> maybe even more than Haskell
06:14:24 <shachaf> SML is totally used for, uh, things!
06:14:47 <coppro> pikhq: which is weird
06:15:09 <kmc> the comparison is hard to make because i think ocaml users are less evangelical
06:16:00 * shachaf wonders whether he should do the ICFP contest.
06:16:10 <elliott> That article gets less and less Wikipedia-y as it goes on. "Here then is a six-man ending; www.shredderchess.com has a tablebase for all these endings available; after 55.Qxb4 the tablebase shows White can win in 82 moves!"
06:16:50 <elliott> OCaml is a very ugly language.
06:16:55 <elliott> SML is less so.
06:17:05 <kmc> yeah
06:17:09 <kmc> ocaml is ugly, and i don't just mean syntax
06:17:09 <elliott> (Not talking about syntax here.)
06:17:12 <elliott> Snap.
06:17:17 <kmc> the syntax is plenty ugly too ;P
06:17:27 <elliott> I actually quite like OCaml's syntax.
06:18:09 <elliott> coppro: did you just break agora
06:18:11 <kmc> one thing i really like about ocaml (the implementation) is that it's factored into a thing which produces bytecode, a bytecode interpreter written in C, and a bytecode to native code compiler
06:18:16 <elliott> & also: should i sleep
06:18:33 <shachaf> kmc: Guess what #haskell is doing!
06:18:43 <kmc> so even though the compiler is self-hosting, you can get it running on a new platform just by compiling the interpreter (a C program) and then running pre-compiled bytecodes for the compiler
06:19:07 <shachaf> kmc: What's the practical difference between that and generating portable C?
06:19:16 -!- Sgeo has quit (Read error: Connection reset by peer).
06:19:42 <kmc> maybe none
06:19:46 -!- Sgeo has joined.
06:20:09 <kmc> in theory GHC can do something like this with the unregisterized C backend
06:20:17 <kmc> in practice it is an unmitigated clusterfuck
06:20:29 <Sgeo> XChat crudded out on me
06:20:31 <kmc> the C produced by the unreg'd C backend is not portable C at all
06:20:32 <coppro> elliott: no
06:20:36 <shachaf> Due to assumptions made while compiling, or something like that, if I remember correctly?
06:20:57 <shachaf> On the other hand these same problems might apply to the bytecode approach.
06:21:00 <kmc> when you build GHC, it hardcodes a bunch of struct sizes and offsets and the like for the target platform
06:21:07 <kmc> and GHC was never really designed to be built as a cross compiler
06:21:14 <Sgeo> What's ugly about OCaml?
06:21:28 <Sgeo> Besides the lack of typeclasses (and I heard modules are sort of better, but is that just SML?)
06:21:32 <kmc> data constructor arguments aren't curried
06:21:46 <kmc> equality is a single baked-in special case typeclass-like thing
06:21:49 <kmc> but you can't define your own
06:21:55 <shachaf> kmc: So I think the issue is "GHC was never designed to built as a cross compiler", not so much the particular approach they didn't take while not designing it. :-)
06:21:57 <kmc> modules aren't a replacement for typeclasses, or vice versa
06:22:06 <kmc> some problems can be solved with either feature
06:22:08 <kmc> others can't really
06:22:33 <Sgeo> Are data constructors functions at all?
06:22:42 <shachaf> Some of them are.
06:22:42 <Sgeo> Or are they functions that take a tuple, or what?
06:22:51 <shachaf> Oh, you're talking about OCaml.
06:22:58 <kmc> they're like functions that take a tuple. there might be additional restrictions
06:23:24 <Sgeo> hmm
06:23:27 <kmc> iirc printf formatting is also a special baked in thing
06:23:29 <elliott> <shachaf> kmc: Guess what #haskell is doing!
06:23:36 <elliott> Is it "explaining" monads?
06:23:56 <shachaf> elliott: Well, I was thinking along the lines of "annoying me", but that too.
06:24:01 <elliott> kmc: yeah ocaml's pritnf stuff is weird
06:24:08 <shachaf> Cale is so hlepflu. :-(
06:24:15 <elliott> a string literal can be overloaded to a "printf" value when it is the second argument of printf
06:24:26 <elliott> also this breaks substitution etc.
06:24:30 <elliott> basically printf is a macro that takes a string literal
06:24:44 <elliott> that's not an inherently bad way to do things but ocaml's execution of it is gross
06:24:46 <kmc> also OCaml has extensible sum types... wait, no, it has a *single* extensible sum type, named exn and usually used for exceptions
06:24:49 <kmc> elliott: yeah
06:25:09 <kmc> otoh OCaml has better support for adding your own macro-like stuff than pretty much any non-Lisp i know of
06:25:26 <elliott> the camlp stuff is interesting
06:25:31 <elliott> certainly better than TH
06:25:35 <elliott> if only it wasn't attached to ocaml
06:25:38 <kmc> yeah camlp4 lets you modify the concrete syntax of the language
06:25:43 <kmc> you can write true syntactic extensions
06:25:56 <kmc> in fact you can define your own totally alternate syntax
06:26:03 <kmc> http://caml.inria.fr/pub/docs/manual-camlp4/manual007.html
06:26:19 <kmc> elliott: do you think the value restriction counts as "ugly"?
06:26:54 <kmc> Sgeo: oh, i forgot another major blemish: addition on ints is + but addition on floats is +.
06:27:06 <elliott> kmc: i forget what that is
06:27:11 <elliott> kmc: it's how they stop unsafeCoerce from references right
06:28:10 <kmc> also i was wrong before
06:28:19 <kmc> ocaml doesn't have the fake typeclass for equality, that's SML
06:28:33 <kmc> in ocaml you can use the equals operator on any type, including say functions
06:28:40 <kmc> and if the type isn't comparable, it's a run-time exception
06:29:01 <shachaf> Does it do structural equality?
06:29:39 <kmc> probably?
06:29:48 <kmc> you can't override it, afaik
06:30:05 <kmc> i'm actually not a big fan of typeclasses in Haskell
06:30:10 <kmc> but i think these alternatives are worse
06:30:53 <shachaf> Typeclasses are nice when you have a single definitive fundamental implementaion.
06:30:55 <kmc> my view is more that, typeclasses are a good feature, but people (especially beginners) go way overboard defining new typeclasses and instances
06:31:11 <kmc> and typeclasses aren't a *great* feature; there is room for improvement
06:31:20 <elliott> typeclasses are one of the worst features I kno wof and cause an infinite multitude of problems... but they also seem to be necessary
06:31:27 <kmc> yeah
06:31:43 <kmc> well, define "necessary"
06:31:49 <kmc> people get by with the SML and OCaml solutions too
06:31:49 <elliott> nobody wants to use a different operator for integers and floats, nobody wants to recode Map for every type
06:32:00 <Sgeo> Am I seriously mostly looking at other languages because of Haskell's records situation?
06:32:04 <elliott> actually Map would not be so bad
06:32:08 <elliott> you could have
06:32:13 <elliott> empty :: Ordering a -> Map a
06:32:16 <elliott> where
06:32:25 <kmc> yep
06:32:26 <elliott> data Ordering a = Ordering (a -> a -> Thingy)
06:32:27 <elliott> what's thingy
06:32:28 <elliott> :t compare
06:32:29 <lambdabot> forall a. (Ord a) => a -> a -> Ordering
06:32:31 <elliott> data Ordering a = Ordering (a -> a -> Ordering)
06:32:32 <elliott> (oops)
06:32:33 <shachaf> elliott: Unions are a bit of a problem.
06:32:38 <elliott> shachaf: right
06:32:38 <kmc> if you union two maps constructed with different ordering functions, you're gonna have a bad time
06:32:40 <elliott> it'd have to be slow
06:32:44 <kmc> but serves you right, or something
06:32:44 <elliott> which is why you actually want:
06:32:48 <elliott> empty :: (ord :: Ordering a) -> Map ord a
06:32:52 <elliott> and now you run into fun issues
06:32:54 <kmc> :3
06:32:57 <elliott> where you can't get two Maps with the same ordering to unify
06:32:57 <shachaf> fissues
06:33:02 <elliott> sigh
06:33:06 <kmc> dependent types cat
06:33:28 <elliott> the type system is invariably incredibly inadequate for the task it is set, until you increase its power such that it becomes tangled up in its own mechanisms and stops working for anything
06:33:34 <kmc> data Ordering a = Ordering (a -> a -> Ordering a)
06:33:37 <elliott> I just hope the latter is due to our inexperience, rather than fundamental
06:33:37 <kmc> invent a use for this type, now
06:33:38 <shachaf> elliott: So Monads are also a maybe something?
06:33:40 <kmc> zardoz demands it
06:33:49 <elliott> kmc: it's a variadic function
06:33:55 <elliott> it's also a covariant functor
06:33:56 <elliott> I think
06:34:03 <shachaf> elliott: That's a description, not a use.
06:34:06 <elliott> erm
06:34:06 <elliott> contavariant
06:34:08 <elliott> *contravariant
06:34:14 <kmc> elliott: i think it is due to inexperience, because people who don't know Haskell say the same thing about Java
06:34:35 <elliott> kmc: well I am 90% certain that, say, Agda is not The Way
06:34:51 <shachaf> Agda is certainly The Way to somewhere.
06:34:52 <elliott> admittedly I could not write an Agda program right now if you told me to but I understand how it works on a basic level
06:34:55 <elliott> and I can read a lot of the stdlib code
06:34:57 <elliott> apart from the proofs
06:35:00 <shachaf> And I'm glad there are people who are going down it!
06:35:11 <shachaf> "apart from the proofs"
06:35:11 <elliott> it's just that every dependent type system seems to be so much more awkward than the simpler ones
06:35:12 <shachaf> I GET IT
06:35:29 <elliott> Epigram 2 sounds like it'd be better if McBride actually worked on it
06:35:38 <elliott> and i agree with him about totality
06:35:57 <kmc> yeah, i think this field is very new and we can't say it's reached the best possible solution
06:35:58 <Sgeo> What's McBride's opinion about totality?
06:36:42 <kmc> even Haskell and ML type systems are very new
06:36:52 <kmc> especially if you're talking about a time when more than 5 people use them
06:37:14 <kmc> and programming itself is very new ;P
06:37:41 <elliott> Sgeo: https://personal.cis.strath.ac.uk/conor.mcbride/pub/Totality.pdf
06:37:55 <elliott> basically I agree that our languages should be total
06:38:03 <elliott> and this does not impede their turing-completeness
06:38:24 <Sgeo> Hmmmm
06:38:25 <kmc> because you have a partiality monad?
06:38:39 <Sgeo> Where did I see something about optionally being able to mark functions as total?
06:38:44 <elliott> kmc: more or less, yes -- more directly, a potentially non-terminating computation is just codata
06:38:57 <elliott> codata Possibly a = Definitely a | WaitForIt (Possibly a)
06:38:58 <Sgeo> And/or non-totality being mentioned in the type system
06:38:58 <kmc> mm
06:39:08 <elliott> kmc: you can get your runtime system to evaluate these just fine
06:39:15 <elliott> just like the RTS executes the IO value for Haskell
06:39:24 <kmc> did he seriously redraw xkcd 386 on a whiteboard just to take a photo of it
06:39:31 <kmc> i can't decide if that's wonderful or pathetic
06:39:35 <elliott> conor mcbride can do whatever the fuck he wants
06:39:44 <elliott> kmc: -- indeed, the top-level value of your program should probably be something that can do both IO and partial computations
06:39:54 <elliott> kmc: if you have a nice algebraic effect system, then these can be defined independently!
06:40:22 <elliott> there are of course total functions that you have to represent as possibly non-terminating for obvious reasons
06:40:29 <Sgeo> elliott, will this thing explain what codata is?
06:40:41 <elliott> kmc: most directly and perhaps most meaningfully, an interpreter of the language itself
06:40:53 <elliott> kmc: but I don't mind that
06:40:58 <elliott> kmc: especially since you can have unsafePerformPartial
06:41:03 <elliott> with all the standard caveats
06:41:10 <elliott> Sgeo: no, but codata is simple
06:41:26 <elliott> Sgeo: basically
06:41:29 <elliott> Sgeo: "data" is finite
06:41:34 <elliott> say,
06:41:36 <elliott> data [a] = [] | a : [a]
06:41:39 <elliott> is data, were haskell strict
06:41:43 <elliott> (the strictness being important)
06:41:55 <elliott> Sgeo: with *codata*, you don't have to guarantee you can evaluate it all in finite time
06:42:04 <elliott> Sgeo: all you have to do is guarantee that you can peel off *one constructor* in finite time
06:42:05 <elliott> for instance
06:42:10 <elliott> data [a] = [] | a : [a]
06:42:13 <elliott> this is a valid piece of codata
06:42:16 <elliott> 1 : 2 : 3 : 4 : ...
06:42:17 <elliott> but
06:42:18 <elliott> undefined
06:42:18 <elliott> is not
06:42:24 <elliott> because you can't peel a (:) or [] off it in finite time
06:42:32 <elliott> so basically, you can always examine codata further
06:42:36 <elliott> but it does not necessarily have any end
06:42:39 <elliott> so, if you have
06:42:44 <elliott> codata Sometime a = Now a | Later (Sometime a)
06:42:45 <elliott> then you can have
06:42:56 <elliott> Later (Later (Later (...
06:42:57 <elliott> that never ends
06:42:57 <elliott> or
06:42:59 <elliott> Later (Later (Now 3))
06:43:02 <Sgeo> A lazy list based on network operations would NOT be codata, correct?
06:43:03 <elliott> but you can't have
06:43:04 <elliott> undefined
06:43:04 <elliott> or
06:43:05 <elliott> Later undefined
06:43:08 <elliott> Sgeo: indeed not
06:43:16 <elliott> anyway, Haskell makes everything into codata
06:43:20 <elliott> unless you make it into data by using !
06:43:22 <elliott> I think this is a mistake
06:43:27 <elliott> I think that "lazy lists" are a bad idea
06:43:34 <elliott> what you want is either lists-the-data, or colists-the-codata
06:43:38 <elliott> or, possibly, streams-the-codata
06:43:43 <elliott> (streams being codata Stream a = Cons a (Stream a))
06:43:51 <elliott> (in fact colists are probably rare compared to lists and streams)
06:48:28 <zzo38> I have made the idea for Ibtlfmm which you can have two maps or sets of the same type but different ordering, but you cannot union them because these maps are of different types even though their contents are the same. I think this is the way they should be done
06:50:37 <zzo38> At least Objective C is really a strict superset of C, unlike C++ which differs a bit.
06:52:08 <kmc> yes
06:52:27 <kmc> it's tragic how many parts of C++ got fucked over thanks to needing C compatibility, and then they threw out the latter anyway over some dumb shit
06:53:03 <shachaf> The worst part is how the "auto" keyword is no longer backwards-compatible.
06:53:07 <shachaf> Breaks all my programs. :-(
06:53:16 <pikhq> You... Use auto in C?
06:53:27 <shachaf> pikhq: When I want an automatic variable, sure!
06:53:30 <kmc> is there any point to the auto kw in C?
06:53:35 <shachaf> I don't think so.
06:53:43 <pikhq> Trivia.
06:53:47 <kmc> consistency is a point, i suppose
06:54:00 <shachaf> It's kind of surprising that Algol 68 came before C.
06:54:12 <kmc> It's kind of surprising that Algol 68 came before Go.
06:54:33 <shachaf> Yes, I saw that article.
06:54:48 <shachaf> In fact it's the first article I ever read about Algol 68.
06:55:13 <kmc> what do you all think of Rust?
06:55:45 <Sgeo> Should I learn OCaml or Clojure?
06:55:45 <shachaf> "it's what's for dinner"
06:55:50 <shachaf> Rust looks pretty neat.
06:55:51 <kmc> Sgeo: yes
06:56:06 <kmc> yeah, Rust seems cool
06:56:17 <Sgeo> Is Rust any further along these days?
06:56:21 <Sgeo> Something actually usable?
06:56:28 * Sgeo wants Rust
06:56:30 <kmc> it seems like an informed, clever attempt to improve on C in C's niche
06:56:46 <shachaf> Well, it's GCed.
06:56:49 <zzo38> Do you know the BLISS programming language? It has some ideas which I think are some better than C. So we should have something which combines features of BLISS, C, and LLVM.
06:57:27 <kmc> whereas Go seems like an attempt to simplify Java further and then make the syntax weird enough that C programmers won't feel it's a slight to their e-penises
06:57:56 <Sgeo> kmc, Go has that thing where it has language-defined generics but no way for users to define them?/
06:57:59 <kmc> that's a fine way to help society
06:58:04 <kmc> but not much to interest me
06:58:32 <shachaf> Most things I've seen relating to Rust have made me think "oh, that's neat".
06:58:35 <kmc> shachaf: i thought it wasn't so much GC as reference counting + uniqueness types
06:58:38 <kmc> maybe it has all of these
06:58:38 <shachaf> Mostly it's been slides and such.
06:59:06 <Sgeo> iirc, Rust has a special GC... part... thingy...
06:59:12 <shachaf> kmc: Oh, it's an optional GC with some of those other things, yes.
06:59:24 <Sgeo> Erm, as in, mutable, immutable, GC, but then GC got merged in with mutable or separated out?
07:01:40 <shachaf> kmc: I once considered writing something in Rust but I saw how volatile it was.
07:02:31 <kmc> yes, aiui, it's not there yet
07:02:36 <shachaf> There are six possible coercions, termed "deproceduring", "dereferencing", "uniting", "widening", "rowing" and "voiding"
07:02:43 <shachaf> (Algol 68, not Rust.)
07:03:32 <kmc> voiding while rowing considered harmful
07:04:54 <Sgeo> Does Rust have a way to..... specify how to do destructuring?
07:05:00 <Sgeo> I think I'm thinking of Scala's unapply
07:05:05 <Sgeo> But I may be wrong
07:05:09 <shachaf> Return a list.
07:05:14 <Sgeo> (And have no idea what Scala's unapply does)
07:05:17 <shachaf> (No.)
07:05:19 <shachaf> (And I don't either.)
07:06:39 <shachaf> kmc: If more and more things annoy me in general in the world, does it mean I'm getting old?
07:06:47 <kmc> heh
07:06:52 <kmc> i have been wondering that myself
07:08:05 <Sgeo> Um.
07:08:28 <Sgeo> In Rust, is the stack closure/box closure distinction ultimately for optimization? Couldn't everything use box closures?
07:08:59 <Sgeo> Oh, box closures can't mutate their environment, I guess?
07:09:52 <kmc> stack closures are allocated on the stack?
07:11:01 <Sgeo> "As a further simplification, if the final parameter to a function is a closure, the closure need not be placed within parentheses. You could, for example, write..."
07:11:15 * Sgeo sticks his tongue out at Ruby
07:12:02 <Sgeo> let doubled = vec::map([1, 2, 3]) {|x| x*2};
07:12:41 -!- MoALTz has quit (Read error: Connection reset by peer).
07:12:46 <kmc> lols
07:12:52 <kmc> is that only for lambda syntax?
07:13:02 <kmc> or is it actually for anything of type 'function'
07:13:12 <shachaf> It's not "the last argument"
07:14:06 -!- MoALTz has joined.
07:14:09 <shachaf> Ruby has a special argument slot for a callable thing.
07:14:29 <shachaf> When you say foo(...) { ... }, it passes a new Proc in that special argument slot.
07:14:54 <shachaf> def foo(arg1, arg2, &block) is the way you define a function that takes the callable thing.
07:15:07 <Sgeo> I like Rust's way better
07:15:07 <shachaf> You can alos pass anything in the block slot with the same syntax: foo(arg1, arg2, &b)
07:16:24 <shachaf> This is pretty fundamental to the way Ruby does things, and while it's a little weird, it can be nice.
07:16:29 <shachaf> Sgeo: Have you learned about the distinction between procs and lambdas yet?
07:17:12 <Sgeo> shachaf, erm, I know there's a distinction between do/end and {/} which amounts to precedence.
07:17:20 <shachaf> No, that's just syntax.
07:17:51 <Sgeo> What's the difference between proc and lambda?
07:17:57 <kmc> shachaf: the difference is that return inside a block returns from the enclosing function?
07:17:57 <Sgeo> I'm scared.
07:18:03 <shachaf> kmc: Yep.
07:18:09 <kmc> so it's a bit like it captures a continuation as well
07:18:11 <shachaf> But you can't use it to implement callcc. :-(
07:18:30 <Sgeo> Ah, hmm
07:18:32 <shachaf> It just throws an exception if you use it after the function has returned.
07:18:35 <kmc> bah
07:18:45 <Sgeo> So one does a Smalltalk-like ^ and the other does just a normal... thingy?
07:19:29 <shachaf> def foo; b = lambda { return 5; }; [1,2,3].map(&b); end
07:19:37 <shachaf> def bar; b = proc { return 5; }; [1,2,3].map(&b); end
07:20:12 <shachaf> Hmm, no.
07:20:25 <kmc> foo returns [5,5,5], bar returns 5?
07:20:46 <kmc> no, they both return 5
07:20:57 <shachaf> Yes.
07:21:04 <shachaf> Odd.
07:21:06 <kmc> what gives
07:21:24 <elliott> lambda and proc are the same
07:22:52 <elliott> @ping
07:22:52 <lambdabot> pong
07:23:12 <kmc> so how do you get a normal lambda
07:23:46 <elliott> what is a normal lambda
07:24:04 <kmc> how do i declare an anonymous function which returns 5
07:24:13 <kmc> er not 'declare' but create, as a value
07:24:14 <Sgeo> lambda { 5 }
07:24:14 <Sgeo> ?
07:24:18 <shachaf> Oh:
07:24:24 <elliott> kmc: what is a function
07:24:25 <shachaf> def foo; b = lambda { return 5 }; ['hi', b.call]; end
07:24:27 <elliott> if you mean somethiing you can do
07:24:29 <elliott> f(foo) on
07:24:30 <elliott> then you can't
07:24:31 <shachaf> def foo; b = Proc.new { return 5 }; ['hi', b.call]; end
07:24:34 <elliott> if you mean something you can do
07:24:37 <elliott> f.call(foo) on
07:24:39 <elliott> then lambda { 5 }
07:24:40 <kmc> sigh
07:24:44 <kmc> wtf
07:24:58 <elliott> ruby's solution to this is honestly not as bad as it sounds given certain syntactic things ruby desires
07:25:01 <shachaf> proc == lambda != Proc.new
07:25:04 <elliott> but it's kind of ugly even then
07:25:26 <kmc> shachaf: but you can't call the result of Proc.new without .call?
07:25:33 <shachaf> kmc: I'm not quite sure.
07:25:40 <elliott> kmc: that doesn't really make *sense*
07:25:44 <elliott> in foo(bar), foo isn't a value
07:25:47 <elliott> it's a name
07:25:49 <kmc> why the fuck not
07:25:54 <kmc> what kind of shit-ass language is this
07:25:59 <kmc> even in C, foo there is a value
07:26:01 <shachaf> kmc: Ruby supports calling functions without parentheses.
07:26:04 <elliott> well, it's complicated :P
07:26:13 <shachaf> If you want the value foo you can use Method.new(:foo) or something like that.
07:26:14 <elliott> ruby is a bad language but this isn't as unreasonable as it sounds
07:26:25 <shachaf> This is inherited from Perl.
07:26:32 <kmc> that's no excuse
07:27:04 <Sgeo> Is Ruby better or worse than OCaml?
07:27:34 <kmc> what a shitty question
07:27:52 <kmc> languages are not totally ordered
07:27:54 <kmc> except for PHP
07:28:40 <Sgeo> CAOS is worse.
07:29:04 <kmc> Sgeo: what are you looking for in a language, anyway
07:29:06 <kmc> what do you want to use it for
07:29:19 <Sgeo> I guess "Everything" isn't a good answer
07:29:26 <kmc> it's... an OK answer
07:29:29 <monqy> for comparing it with other languages !!
07:29:31 <elliott> kmc: nothing
07:29:33 <elliott> Sgeo doesn't code
07:29:38 <elliott> he just learns languages and gives up on them
07:30:00 <Sgeo> I actually do write code sometimes.
07:30:39 <Sgeo> https://marketplace.secondlife.com/p/Antiposeball-5-SAVE-PRIMS-ON-FURNITURE/219014 is not a thing that could exists if I did not write code.
07:31:10 <kmc> shachaf: did you see my .COM file?
07:31:21 <kmc> h<|XP- {P_X(%GGG(%GGWZ- sh LI!XI!Hello, DOS!$07:31:48 <kmc> i wonder if this can be made smaller 07:32:00 <elliott> kmc: ais523 07:32:12 <elliott> kmc: wrote a program which turned strings of text into printable com files that printed them 07:32:17 <elliott> kmc: which was itself a printable COM file, I think 07:32:22 <elliott> or was it a uudecoder in printable COM 07:32:24 <elliott> i don't know 07:32:26 <elliott> it's awesome ask him about it 07:32:27 <kmc> haha, pro 07:32:31 <elliott> i think it was a uudecoder yeah 07:32:38 <elliott> so he could transfer binary files over text lines 07:32:41 <elliott> without any prerequisites 07:32:44 <elliott> well... except for DOS 07:34:05 <pikhq> Perhaps just COMBOOT. 07:34:33 <elliott> a PHP bug where I completely agree with the PHP team in every respect and think the behaviour is reasonable 07:34:36 <elliott> this is a first 07:34:41 <elliott> *bug report, that is 07:34:43 <elliott> https://bugs.php.net/bug.php?id=50696 07:34:57 <kmc> yeah i have some sympathy for their position as well 07:35:10 <kmc> if that person really has this hellish dev environment, they should have been testing RCs 07:35:12 <pikhq> (format supported by syslinux bootloaders, in its 16 bit mode, if not using Syslinux-specific APIs, is a COM file that only uses BIOS calls) 07:35:21 <elliott> the best part is where the reporter asks rasmus to escalate the issue 07:35:23 <kmc> that said the function shouldn't return 0 or NULL, it should throw an exception 07:35:26 <kmc> yes i lolled at that 07:35:38 <pikhq> Oh, sorry, has a small handful of DOS APIs. 07:35:48 <elliott> kmc: php doesn't really have "errors" 07:35:53 <elliott> especially not type ones 07:35:53 <pikhq> (anything trivial) 07:35:54 <kmc> right 07:37:16 <Sgeo> Is it significantly likely that the problem can't be fixed with a search/replace, perhaps to a custom function that emulates the old behavior? 07:37:33 <kmc> did you read the thread 07:37:47 <kmc> "Each of those changes will have to be coded, tested, written-off, released, tested by the clients since this is tax data and has to be precise for tax planning and retirement planning." 07:39:06 <Sgeo> ...for every changed line of code? 07:42:43 <kmc> apparently something on that order 07:49:56 -!- sebbu has joined. 07:50:29 <elliott> Sgeo: rasmus gives the exact search and replace 07:50:38 <elliott> it's adding a single cast to the first argument of every function 07:50:42 <shachaf> kmc: Oh, you wrote that? 07:50:43 <elliott> erm 07:50:44 <elliott> evrey function call 07:50:45 <elliott> of that call 07:50:46 <elliott> *every 07:50:47 <elliott> fgoji 07:50:48 <elliott> orgji 07:50:49 <elliott> 'r;lkhkrt 07:50:50 <elliott> krogjirge 07:50:56 <shachaf> I thought it was that anti-virus test code thing, but I guess not. 07:51:13 -!- sebbu2 has quit (Ping timeout: 276 seconds). 07:51:13 <kmc> yeah i wrote it 07:51:20 <kmc> as part of adding COM support to my polyglot 07:51:50 <Sgeo> Maybe they're using eval? 07:52:00 <shachaf> Is that self-modifying code? 07:52:05 <Sgeo> I mean, that would be stupid, but given who we're dealing with 07:52:27 <Sgeo> *using eval in ... ways worse than normal eval. 07:55:15 <elliott> [[ 07:55:15 <elliott> Rasmus Lerdorf is a braindamaged idiot. He always was, and it was obvious from start. Shame on everybody who uses anything he touched. 07:55:15 <elliott> He could escalate, he could ask some adults to fix this issue. But he won't because he is naughty. 07:55:15 <elliott> ]] 07:55:19 <elliott> kmc: did you know proggit is the best 07:55:49 <elliott> meanwhile at the top of hacker news "16,000 core neural net (andrew ng/jeff dean) - singularity is near (research.google.com)" 07:56:30 <kmc> shachaf: yes 07:56:44 <kmc> shachaf: because the interrupt instruction is not ASCII 07:56:54 <shachaf> Right. 07:57:00 <shachaf> Is there any non-self-modifying way to do it? 07:57:14 <kmc> not that i know, but feel free to try :) 07:57:19 <elliott> is there any non-self-modifying way to execute some code that is not in ASCII with just ASCII 07:57:19 <kmc> i am curious to hear about any improvements to this code 07:57:24 <elliott> i'm guessing ... no? 07:57:26 <elliott> wait no i have an idea 07:57:30 <elliott> scan RAM for the interrupt instruction 07:57:31 <elliott> then jump there 07:57:36 <kmc> well there are other ways to get to the "print shit on the screen" code 07:57:37 <kmc> yeah 07:57:40 <elliott> then you don't self-modify 07:57:41 <shachaf> elliott: I'm wondering whether there's a jump instruction. 07:57:44 <elliott> it's just like self-modification 07:57:45 <elliott> but minus a MOV 07:57:58 <kmc> or just read the interrupt vector table and then far jump to the right place 07:58:24 <kmc> the instructions you get are: or and daa sub das xor aaa cmp aas inc dec push pop pusha popa push insb insw outsb outsw jo jno jb jae jz jnz jbe ja js jns jp jnp jl jge jle 07:58:28 <kmc> but not every form of those 07:58:58 <shachaf> Wait, you have those jumps? 07:59:05 <shachaf> Is it different in real mode? 08:00:22 <Sgeo> As.... biased I may be against Republicans, how is http://2012.talkingpointsmemo.com/2012/06/richard-mourdock-obamacare-youtube-accident.php?ref=fpa a big deal at all 08:00:46 <kmc> shachaf: this is real mode 08:00:50 <Sgeo> (Some guy accidentally posted video reactions to several possible Supreme Court rulings) 08:00:57 <kmc> yes, you have conditional jumps 08:00:57 <shachaf> kmc: Right, which is why I was asking. 08:00:59 <kmc> positive offsets only 08:01:18 <kmc> oh you also have bound and arpl but those aren't on the 8086 08:01:32 <kmc> and i didn't include \t because fuck tabs 08:03:04 <john_metcalf> Have you tried using the INT at 0000h or the long call at 0005h? 08:03:29 <shachaf> That's not very printable! 08:03:41 <kmc> you can construct such numbers (this code does) 08:03:47 <kmc> but there's no indirect jump/call, either 08:04:06 <john_metcalf> I mean in memory 0000h or 00005h when a .COM file runs. They're in the header. 08:04:36 <shachaf> kmc: Next step: Write a printable MBR 08:04:53 <kmc> shachaf: the last byte of a MBR isn't printable 08:04:56 <kmc> so, like, what's the point, man 08:05:17 <shachaf> pfft 08:06:05 <zzo38> Write just the executable program part of MBR as printable 08:07:00 <elliott> challenge: write a printable bootloader 08:07:19 <elliott> kmc: oh, I think what ais523 wrote is something which turned any program printable through self-modification 08:07:25 <elliott> and then converted a uudecoder with it 08:07:27 <elliott> or... something 08:07:44 <elliott> john_metcalf: Yeah, but how do you encode that address in the printable code? 08:07:52 <elliott> I guess you just have to alculate it. 08:08:05 <kmc> but how do you jump there once you calculated 08:08:24 <elliott> kmc: I'm having trouble groking the purpose of the Functor type class. What benefit is there in deriving a class from Functor? Especially since every derived type is going to have to supply an implementation anyway. 08:09:06 <elliott> Sgeo: that's really dumb "newS" 08:09:07 <elliott> *news 08:09:21 <Sgeo> elliott, I agree. 08:09:31 <elliott> as tired as "all political parties are the same lol dumbos" stuff is you can't really expect reasonability on either side of a political campaign 08:09:57 <Sgeo> The Fark thread on it has a few people objecting to the fact that the messages were pre-recorded, rather than just the speech being pre-written 08:10:49 <Sgeo> Again, I think that's silly. 08:11:25 <pikhq> I'm honestly not surprised to find that he did that at all... 08:12:00 <pikhq> I mean, heck, it straight-up makes *sense* to have a bunch of speeches pre-written, and pre-recording them is just one extra step. 08:12:01 <kmc> elliott: you are quoting? 08:12:20 <pikhq> Especially makes sense for a person who is probably quite busy. 08:12:37 <Sgeo> pikhq, absolutely 08:12:38 <pikhq> Record a bunch of responses for things over the course of an afternoon, release as needed. 08:13:17 <pikhq> Bit of an embarassing accident to release them all, but it's still *not a big deal*. 08:13:21 <elliott> kmc: yes 08:13:35 <kmc> look at me i say "grok" instead of "understand" without understanding what "grok" means 08:13:37 <Sgeo> pikhq, arguably it's humorous 08:13:40 <kmc> horp glurp ponk donk 08:14:01 <kmc> falling into the balls tank 08:14:03 <pikhq> Sgeo: Yup. 08:14:10 * pikhq should grok some more water 08:14:15 <kmc> beer me that water, bro 08:14:35 * pikhq actually read the damned book, so there. :P 08:14:43 <Sgeo> Hmm, I should read that law 08:14:50 <Sgeo> Maybe 08:16:14 <kmc> you know nixon had a speech prepared in case they had to leave neil armstrong and buzz aldrin stranded on the moon to die 08:16:19 <kmc> it's a shame there's no recording of that 08:16:43 <pikhq> I thought he hadn't actually recorded it. 08:16:45 <elliott> that speech is depressing 08:16:51 <elliott> pikhq: hence why there is no recording of it 08:16:53 <kmc> "We drop turkeys out of planes just to fill up the sky / And we know damn well that they can't fly" 08:16:57 <elliott> you don't record live speeches :P 08:17:00 <pikhq> IIRC, the one he actually read was done live. 08:17:01 <kmc> elliott is a winner 08:17:13 <elliott> thanx 08:17:49 <kmc> http://news.bbc.co.uk/2/hi/science/nature/390933.stm 08:17:49 <shachaf> Mmm, grog. 08:17:53 * shachaf groks some grog. 08:17:55 <pikhq> Bit weird, realising we went to the *moon* at a time where it was impractical to pre-record the President. 08:18:00 * pikhq groks some water 08:18:11 <shachaf> Brog like rocks! 08:18:15 <shachaf> Mmm! 08:18:26 <shachaf> kmc: have you been to the moon ?? 08:18:53 <kmc> pikhq: not really impractical 08:19:18 <kmc> i mean NASA recorded all that video from the moon on magnetic tape 08:19:24 <kmc> and film works too 08:19:39 <kmc> there's just not much of a point to it 08:19:50 <pikhq> kmc: At the time, you'd only record stuff if you wanted it to run more than once, in part because of the expense. 08:19:57 <kmc> if the president can't be trusted to give a speech without fucking it up then... 08:20:06 * kmc reflects on 2001-2008 08:20:14 * pikhq joins kmc in reflection 08:20:22 <zzo38> If you have never been to the moon, can you prove it? 08:20:35 <kmc> shit, if we reflect each other then we'll create a quantum time vortex that might rip the very fabric of spacetime from this channel! 08:20:56 <zzo38> What is a quantum time vortex? 08:21:02 <kmc> what *isn't* a quantum time vortex, man 08:21:08 <shachaf> zzo38: It's a science thing. You wouldn't understand. 08:21:25 <pikhq> "We are working hard to convince both the Indians and the Pakis there's a way to deal with their problems without going to war." 08:21:28 <pikhq> *sob* 08:21:40 <elliott> <kmc> http://news.bbc.co.uk/2/hi/science/nature/390933.stm 08:21:47 <elliott> thus proving that the bbc news site has always been the best-designed of all the news sites 08:21:49 * elliott PATRIOTISM 08:21:49 <shachaf> @nixon 08:21:50 <lambdabot> Politics would be a helluva good business if it weren't for the goddamned people. 08:22:08 <elliott> (displays were tiny in 1999 so that probably looked non-terrible!) 08:22:14 <pikhq> elliott: 640x480? 08:22:25 <elliott> "Labour "got it wrong" when it allowed uncontrolled immigration from new EU states in 2004, Ed Miliband will say in a speech later." 08:22:29 <elliott> "The Labour leader will say people who worry about immigration are not "bigots"" 08:22:49 <elliott> apparently labour has decided that moving to the right is an excellent idea at a time when the right-leaning coalition government is unpopular 08:23:12 <elliott> and the most left-wing main party has become kinda unelectable 08:23:17 <elliott> thx labour 08:23:25 <kmc> thlabour 08:23:39 <pikhq> Isn't it a standard policy to always move right when your policies are unliked? 08:23:44 <shachaf> Can 5-HT_2A agonists take me to the moon? 08:23:49 <pikhq> Just in general? 08:23:54 <elliott> kmc: *thabour 08:23:55 <elliott> noob 08:24:09 <kmc> shachaf: well, if you can raise$100M selling them
08:24:15 <pikhq> wut
08:24:21 <shachaf> Can you do that?
08:24:29 <pikhq> "I hear there's rumors on the internets [pause] that we're going to have a draft. We're not going to have a draft, period." — Bush, 2004
08:24:35 <pikhq> He actually said internets?
08:24:37 <kmc> "in 2005, Space Adventures announced its intention to work with Russian Spacecraft manufacturer Energia and the Russian Space Agency to offer a roughly one-week two-passenger flight around the Moon (no orbit, no landing) in a booster-equipped Soyuz craft for $100 million per person, as early as 2010" 08:24:57 <kmc> dude, "internets" is a fine word 08:25:14 <kmc> Bush was just acknowledging the reality that the Internet is itself composed of smaller internetworks 08:25:16 <pikhq> kmc: Yes, but it doesn't refer (just) to the Internet. 08:25:31 <pikhq> I don't think Bush knows that much about internetworking. 08:25:41 <shachaf> The MULTInet. 08:25:44 <shachaf> DUDE 08:25:45 <kmc> n.b. once they have your$100 million they will probably ask for more
08:25:48 <kmc> http://wikitravel.org/en/Space
08:26:10 <shachaf> what if, like, every ip address that doesn't respond on the internet is like a BLACK HOLE
08:26:11 <elliott> pikhq: as bushisms go that is really tame come on
08:26:14 <elliott> you can do better than that
08:26:17 <shachaf> and, like, it has a whole new pocket internet inside it
08:26:25 <shachaf> a parallel multinet
08:26:38 <elliott> kmc: "There are quite a few space-related places on the Earth itself."
08:26:48 <Sgeo> elliott, is using DrRacket with the SICP language a good way to do SICP?
08:27:28 <elliott> hi
08:27:35 <elliott> "it's up to you"
08:27:49 <pikhq> elliott: Yeahyeahyeah.
08:27:52 <pikhq> elliott: I'd rather not.
08:28:17 <pikhq> elliott: I'm afraid if I go for the worse one's I'll shoot. Myself or someone else, either way it's undesirable.
08:28:22 <pikhq> s/one's/ones/
08:28:40 <shachaf> kmc: The whole point of going to the moon is landing.
08:28:47 <shachaf> Why would you go and then not land?
08:28:49 <kmc> i'm inclined to agree with you there
08:28:51 <elliott> kmc: "The sight of the *Earth* from Space is reputed to be incomparable."
08:28:57 <elliott> kmc: "At altitudes above the thick atmosphere, the *stars* cease to "twinkle"."
08:29:06 <elliott> kmc: "*Sunrise* and *sunset* lose much of their multicolored glory, but take on greater intensity and speed at orbital and even suborbital velocities."
08:29:29 <kmc> elliott: wow, I can get rid of my web browser
08:29:35 <kmc> thanxs elliot
08:29:59 <elliott> kmc: "Although Space food has come a long way in terms of taste and variety in recent decades, the quality and taste is still not up to standards of most connoisseurs of fine cuisine. Your transportation provider may offer some choice in the foods available, but you will ultimately be limited by their willingness to indulge you."
08:30:06 <elliott> kmc: "Bigelow Aerospace, [13]. In 2006, they successfully tested the first prototype of an inflatable Space hotel. However, even if everything goes according to plan, the real thing won't be up in orbit before 2012."
08:30:09 <kmc> elliott: BE SURE TO PASTE THE COPYRIGHT NOTICE TOO
08:30:17 <elliott> kmc: "Text is available under Creative Commons Attribution-ShareAlike 3.0, images are available under various licenses, see each image for details."
08:30:26 <shachaf> elliott: "i think kmc is hitnitng at somethign"
08:30:51 <elliott> shachaf: waht could he poIBSlY be hinting at - god - gad - gud
08:31:19 <kmc> yeah i was all ready to burn my draft card in 2003
08:31:38 <kmc> instead i watched on TV as the children of more economically disadvantaged families fought the war
08:31:42 <kmc> and then snarked about it on the internet
08:31:45 <kmc> that's protest too rite?
08:31:56 <pikhq> Nah, just fucking depressing.
08:32:02 <elliott> kmc: yes
08:32:04 <elliott> kmc: you get a gold star
08:32:16 <kmc> hey, remember when the USA literally filled a C-130 cargo plane with $20 bills and flew it to Iraq and then lost the money? 08:33:24 <pikhq> *groan* 08:33:59 <shachaf> kmc: Are the legal 5-HT_2A agonists any good? 08:34:10 <kmc> didn't we discuss that recently 08:34:15 <shachaf> Did we? 08:34:24 <kmc> 2C-E is pretty good, if you consider that legal 08:34:45 <shachaf> Is that a 5Hwhatever? 08:34:48 <kmc> yes 08:34:51 <shachaf> Oh. 08:34:56 <kmc> 2,5-dimethoxy-4-ethyl-phenethylamine 08:35:38 <kmc> uh, 5-HT is a legal 5-HT agonist and is a pretty cool guy 08:35:54 <kmc> not much good taking it orally though 08:35:57 <shachaf> What does the 2A part mean? 08:36:02 <kmc> it's a receptor subtype 08:36:24 <kmc> they're all serotonin (5-HT) receptors but there are different types which respond differently to different other chemicals 08:36:28 <kmc> i don't know man, i'm not a neurochemist 08:37:10 <kmc> to the extent these drugs have different effects, it's probably through different receptor type selectivity 08:37:12 <fizzie> You just work there. 08:37:28 <kmc> the only really clear example I have is DiPT, which has a specific auditory effect which the others don't have 08:37:44 <kmc> sort of a nonlinear pitch shift + flanging 08:38:00 <kmc> i think shulgin got one of his musician friends with perfect pitch to take it 08:39:20 <kmc> uh, 5-HTP is a metabolic precursor to 5-HT that you can buy at any dietary supplement store 08:39:24 <kmc> over the counter 08:39:41 <fizzie> I'm no expert, but effects like that sound easier to do by just running some filters on a DSP or whatever, instead of trying to do it in your auditory system. 08:39:45 <kmc> it's supposed to act as a mild antidepressant 08:40:12 <kmc> fizzie: i think you are missing the point :) 08:40:17 <oklopol> also, you're not an expert? 08:40:22 <itidus21> one day it will be possible to generate sounds by physical simulation of vibration :D 08:40:31 <itidus21> i wonder how far away such things are 08:40:46 <kmc> i think that was done in like the 80's 08:40:51 <kmc> like most of the things itidus21 says will happen "one day" 08:41:09 -!- sebbu2 has joined. 08:41:19 <fizzie> They do physical-inspired string instrument simulation in our acoustics lab. 08:41:22 <kmc> http://en.wikipedia.org/wiki/Physical_modeling_synthesis 08:41:39 <fizzie> They've written some papers on Finnish instruments like the kantele. 08:41:46 -!- lahwran has quit (Quit: ZNC - http://znc.sourceforge.net). 08:42:06 <fizzie> They all include some amount of approximation, though. 08:42:12 <oklopol> sounds like a sensible starting point given that it's the stupidest instrument in the world 08:42:16 <itidus21> well i have a number in my nickname... like a robot! 08:42:23 <kmc> apparently the electric kantele is used in finnish heavy metal 08:42:27 <fizzie> It's not exactly modeling strings at subatomic level. 08:42:43 <kmc> modeling strings by modeling strings 08:42:46 <kmc> this is what we demand 08:42:47 <kmc> no less 08:42:50 <kmc> zardoz has spoken 08:43:13 -!- sebbu has quit (Ping timeout: 276 seconds). 08:43:28 <fizzie> http://www.acoustics.hut.fi/research/asp/ 08:43:28 <oklopol> as they say, you can't simulate strings without understanding string theory 08:43:56 <fizzie> They also have some lutes. And "mainstream" stuff. 08:44:03 <itidus21> they also say you can tune a piano, but you can't tuna fish 08:44:09 <fizzie> I haven't really looked too closely. 08:45:31 <kmc> mmmm shin ramyun 08:45:35 <kmc> this is my new favorite snack 08:46:25 <shachaf> What is it? 08:46:33 <shachaf> Is it vegetarian? 08:46:35 <kmc> instant ramen 08:46:48 <kmc> far tastier and more filling than top ramen / maruchan 08:46:53 <kmc> it's like$1 a pack instead of 20¢
08:47:28 <kmc> hm the one i have contains beef powder
08:47:30 <shachaf> But it's not vegetarian.
08:47:32 <kmc> i don't know if they make other flavors
08:47:33 <kmc> yeah :/
08:47:38 <kmc> it's also quite spicy
08:50:23 <pikhq> shachaf: Alas, that probably comes in two varieties: "with meat" and "animal genocide".
08:50:48 <shachaf> Which animal?
08:51:05 <pikhq> Genocide against the clade Animalia.
08:51:15 <kmc> isn't that, like, regicide
09:00:39 <kmc> shachaf: here's the source to my com file https://gist.github.com/2971501
09:00:42 <kmc> if you want to make it better
09:01:02 -!- zzo38 has quit (Remote host closed the connection).
09:01:46 <shachaf> I like how the source file has the compiled binary in a comment.
09:02:34 <elliott> BBC News headline: Player 'completes' Diablo III video game
09:03:28 <kmc> shachaf: but i missed the opportunity to make the source code also an executable com file
09:04:08 -!- lahwran- has joined.
09:04:19 <itidus21> BBC is an example of the confusion
09:04:58 <shachaf> kmc: You know dot-coms haven't been "all the rage" for more than 10 years, right?
09:05:03 <shachaf> It's all about the agile social now.
09:05:05 <kmc> i'm bringing it back
09:05:17 <itidus21> it's not the English Broadcasting Corporation, or the UK Broadcasting Corporation
09:07:03 <itidus21> "[The BBC's] main responsibility is to provide impartial public service broadcasting in the United Kingdom, Channel Islands and Isle of Man."
09:07:30 * itidus21 does a jig.
09:09:41 <kmc> why are you jigging
09:09:49 <elliott> [[In addition, he used a "hard core" character. This meant that, if the character died once, the game would be over. He also got in-game help from another player called Krippi.]]
09:09:54 <elliott> journalism
09:10:09 <kmc> itidus21: BBC does serve the parts of UK which are not in Britain
09:11:44 <kmc> i think the UK situation is less complicated than NYC-area place names
09:11:52 <itidus21> ah
09:13:33 <kmc> say, NYC, Manhattan (borough), Manhattan (island), Brooklyn, Kings County, Long Island, and "The City"
09:13:43 <kmc> it's a bit of a mess to explain how these things relate geographically and politically
09:13:44 <shachaf> The City /= NYC?
09:13:49 <elliott> kmc: Can you implement a better language than Haskell for me?
09:13:57 <kmc> shachaf: some people use it to mean Manhattan
09:14:08 <elliott> New York, New York, so good they named it once but then used the same name again
09:14:13 <kmc> i don't *think* i made that up
09:14:17 <shachaf> elliott: And Manhattan is New York County!
09:14:17 <elliott> probably because they were unimaginative
09:14:21 <kmc> right
09:14:29 <kmc> and if you live in manhattan you can get mail addressed to "New York, NY"
09:15:04 <kmc> but not in the other parts of NYC?
09:15:19 <kmc> i mean it will probably work but it's not proper
09:15:21 <kmc> "SIPB, MIT, USA"
09:15:36 <shachaf> I was there once!
09:15:47 <kmc> but you can have a New York, NY address even if you live in that part of Manhattan (borough) which is not on Manhattan (island)
09:15:58 <kmc> but if you live there you can also have a Bronx, NY address, I think
09:16:04 <shachaf> Structure and Interpretation of Pomputer Brograms?
09:16:52 <elliott> are brograms what a brogrammer writes
09:17:20 <shachaf> elliott: do they really use the word 'programmme' in britain
09:17:29 <kmc> brogramme
09:17:53 <shachaf> I don't watch many brogrammes. I don't even own one.
09:18:01 <kmc> but do you pay TV tax?!?
09:18:09 <shachaf> oh no !
09:18:12 <shachaf> what's TV tax
09:18:36 <kmc> in UK you have to pay a license fee to have a TV
09:18:39 <kmc> http://en.wikipedia.org/wiki/Television_licensing_in_the_United_Kingdom
09:18:56 <kmc> "Licences are half price for the legally blind."
09:19:14 <shachaf> As of 2010, this costs £145.50 for colour and £49.00 for black and white.[1]
09:19:21 <shachaf> They should charge more for black and white.
09:19:43 <shachaf> Also, can we have us.wikipedia.org and uk.wikpedia.org?
09:20:11 <itidus21> lol
09:20:25 <kmc> wikipædia.org
09:20:37 <itidus21> i guess au.wikipedia.org would be asking too much
09:21:21 <itidus21> shachaf: i see what you're saying now
09:21:31 <kmc> also the BBC has vans which they claim can detect unlicensed TVs
09:21:45 <itidus21> http://en.wikipedia.org/wiki/Color
09:21:59 <kmc> which is widely considered to be bullshit
09:23:30 <itidus21> "The color table should not be interpreted as a definitive list the pure spectral colors form a continuous spectrum, and how it is divided into distinct colors linguistically is a matter of culture and historical contingency (although people everywhere have been shown to perceive colors in the same way[2])."
09:23:58 <kmc> dude, what if, like, yeah
09:24:30 <itidus21> so uk.wikipedia.org could be s/color/colour
09:24:42 <shachaf> I'm more concerned with "license" and "licence".
09:24:46 <shachaf> Since the en. page uses both.
09:26:06 <itidus21> and yet http://en.wikipedia.org/wiki/Favourite
09:27:33 <itidus21> "Successful minister-favourites also usually needed networks of their own favourites and relatives to help them carry out the work of government - Richelieu had his "cratures" and Olivares his "hechuras"."
09:27:56 <kmc> shachaf: well you need to use one of each, so it will be legally binding in all jurisdictions
09:29:36 <elliott> kmc: it is obviously bullshit
09:29:43 <elliott> kmc: also they tend to pester people even if they don't own a tv
09:30:04 <elliott> (otoh, the people who get *persistently* pestered by them tend to be the sorts who seem to be looking for something to complain about in the first place)
09:30:14 <elliott> kmc: you should see their tv ads
09:30:28 <elliott> let me find the one i'm thinking of
09:33:18 -!- Phantom_Hoover has joined.
09:34:05 -!- sebbu2 has changed nick to sebbu.
09:52:28 <elliott> http://www.2012ark.net/
09:57:15 -!- sebbu2 has joined.
09:57:15 -!- sebbu2 has quit (Changing host).
09:57:15 -!- sebbu2 has joined.
09:57:58 -!- sebbu has quit (Ping timeout: 276 seconds).
10:00:04 <oklopol> fizzie: erm, so where can you actually hear the results?
10:00:15 <oklopol> http://www.acoustics.hut.fi/research/asp/ just has a bunch of papers
10:00:44 <oklopol> oh sorry
10:02:49 <itidus21> and so what does that audio topic mean for me? quite simply a game with no pre-recorded audio!
10:05:38 <itidus21> i dunno much about sound and music and stuff.. but like for example, the current sound could be a function of the distances between all the geometrical game entities
10:07:02 <itidus21> like if there were 3 circles, then the sound could be a function of the average distance between them
10:08:04 -!- sebbu2 has changed nick to sebbu.
10:32:09 <itidus21> i guess you would set up a virtual microphone which would recieve soundwaves
10:48:35 -!- Slereah has joined.
11:09:55 -!- monqy has quit (Quit: hello).
11:41:50 -!- ais523 has quit.
12:02:36 <itidus21> my turing machine! http://oi50.tinypic.com/29z9egm.jpg
12:16:29 -!- david_werecat has joined.
12:28:17 -!- pikhq_ has joined.
12:28:23 -!- pikhq has quit (Ping timeout: 255 seconds).
12:30:50 <kmc> itidus21: simulating sound propogation is something that games have done for a long time
12:32:07 <itidus21> humm
12:32:43 <itidus21> kmc: it seems to me that a variable sound response could be a fun way to respond to a collision
12:33:52 <itidus21> like normally that collision response information seems to be used for, well, i'm not sure.. but it could be used as a function of how loud an impact is
12:35:41 <kmc> i think that is done also
12:35:57 <itidus21> but most people have better sense than to do it :D
12:36:08 <kmc> i'm confused
12:36:25 <itidus21> like when an object runs headlong into a wall and the velocity gets set to zero. the amount of velocity which was lost could produce a sound
12:36:30 <kmc> yes
12:36:32 <kmc> why is that a bad idea
12:37:24 <itidus21> i can't see any particular reason why
12:37:41 <kmc> whatever
12:37:44 <itidus21> hmm
12:37:50 <itidus21> i think its a good idea
12:37:52 <kmc> anyway, what you said about the circles flying around and making music and whatever
12:38:07 <kmc> at first i assumed you were just talking about modeling sound propogation in an environment
12:38:13 <kmc> which is not a novel idea -- games have done that for many years
12:38:27 <kmc> but then i thought you meant something more like http://en.wikipedia.org/wiki/Auditorium_(video_game)
12:38:30 <kmc> which is a neat game
12:39:51 -!- lahwran- has quit (Changing host).
12:39:51 -!- lahwran- has joined.
12:39:58 -!- lahwran- has changed nick to lahwran.
12:40:47 -!- sebbu has quit (Read error: Connection reset by peer).
12:41:35 <itidus21> kmc: well in this whole topic, im in trouble from the get-go... my conception of producing sound is nothing beyond the QBASIC function SOUND(frequency, duration)
12:42:03 <itidus21> actually i didnt know it had a duration argument until i looked it up just now
12:42:47 <kmc> yeah i gathered as much
12:42:53 <kmc> video game sound is in fact a bit more complex these days ;P
12:43:59 -!- sebbu has joined.
12:46:09 <itidus21> so, about 3 circles {a,b,c} .. what i had in mind was something like: n=distance(a,b)+distance(a,c)+distance(b,c)/3; SOUND(n,30 milliseconds?)
12:47:03 <itidus21> and actually i think it would be kind of cool in such a system how destroying one of the circles would lead to a sudden change in the sound
12:47:53 <itidus21> well n could be normalized into a comfortable set of frequencies
12:48:34 <itidus21> and this page says duration works in clock ticks.. that could be "tricky"
12:52:06 <itidus21> it was within the last few months i think that it clicked to me that sound can be produced within a physics simulation
12:52:54 <itidus21> to the extent that with enough computing power and good algorithms behind it, we could even hear how fictional objects and instruments might sound
12:53:52 <itidus21> ah but i don't even know what i mean by fictional objects!
12:56:39 <itidus21> perhaps we could simulate the sound of filling some time and place with air and putting a microphone there
12:59:41 <itidus21> i wonder if the truth is if i actually did more in my day i wouldn't feel the need to ramble
13:12:31 -!- boily has joined.
13:13:50 <boily> 'morning, all!
13:16:02 <elliott> hi
13:20:42 -!- AnotherTest has joined.
13:28:33 -!- AnotherTest has quit (Read error: Connection reset by peer).
13:28:37 -!- AnotherTest1 has joined.
13:33:04 <itidus21> hi boily!
13:33:26 <Gregor> itidus21: http://arxiv.org/abs/1203.1895
13:33:57 <itidus21> brb!
13:34:01 -!- AnotherTest1 has changed nick to AnotherTest.
13:35:46 <itidus21> Gregor: infact i actually linked to the very same thing in this room once >:D
13:35:53 <Gregor> Ah
13:35:55 <Gregor> Okidoke
13:35:56 <itidus21> but it is time to take a closer look
13:36:03 <itidus21> i appreicate it though
13:37:07 <itidus21> but i am working on a cool turing machine
13:37:40 <itidus21> and lost deep in browser tab hell
13:38:35 <itidus21> mwahahaha
13:42:07 <boily> itidus21: turing machine and browser tabs... hmm... is it possible to crate a machine where the tape is an infinite stream of browser tabs?
13:44:13 <AnotherTest> boily: not on the iPad for sure(unless they changed that awful limit)
13:44:42 <itidus21> boily: well.. i am fascinated by the movement of a turtle shell in super mario bros. and the way the turtle shell resembles a tapehead
13:46:22 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:46:51 <itidus21> i think i am satisfied now that the turtle shell is a turing machine, not a turing complete language
13:48:48 -!- oerjan has joined.
13:49:29 * quintopia dislodges a spork and returns it to oerjan
13:57:44 <oerjan> yummy
13:57:55 <oerjan> thanks pal
14:08:35 -!- copumpkin has joined.
14:17:58 -!- Patashu has changed nick to Patashu[Zzz].
14:18:07 <elliott> Patashu[Zzz]: don't do that :(
14:18:25 <itidus21> wow... so i go to google and i see the last thing i expected to see
14:19:28 <oerjan> <shachaf> Also, can we have us.wikipedia.org and uk.wikpedia.org? <-- you can have the latter.
14:19:35 <oerjan> er, +i
14:20:00 <oerjan> you may find it disappointingly non-british, though.
14:21:13 <itidus21> so this is the turing machine i made just now: http://oi47.tinypic.com/35n31ip.jpg
14:39:06 <Slereah> If you want you can
14:39:10 <Slereah> Try it out
14:39:24 <Slereah> On my awesome language!
14:39:25 <Slereah> http://esolangs.org/wiki/NTCM
14:58:44 <itidus21> Slereah: so i have a version of python on windows but i have no idea about python.. but it's giving invalid syntax for the > in "while b<>"esc":"
14:59:14 <itidus21> i assume that something in python has changed which has rendered old programs not working right
15:00:12 <itidus21> or that its something screwy with document formats etc
15:00:27 <itidus21> but something tells me i can assume the program itself is fine
15:03:10 <boily> itidus21: "<>" is a very, very old way to write "!=".
15:04:21 <itidus21> i think it just doesn't like the encoding..
15:04:31 <itidus21> i'll sort it out i think
15:06:16 <itidus21> ok i told it the proper encoding
15:06:19 <itidus21> lets see
15:06:49 <oerjan> <> is obsolete, but still in the manual, so it should work...
15:07:06 <oerjan> *obsolescent
15:12:34 <boily> it still works in python 2 (2.7.3 on my machine), but chokes in python 3 (3.2.3).
15:17:02 <AnotherTest> is there an esolang which is based on the idea where the instruction pointer is at multiple positions at the same time
15:17:09 <AnotherTest> ?
15:17:36 <AnotherTest> (that is, always, not optionally)
15:20:41 <itidus21> ok it is working
15:21:36 <itidus21> what i had to change was to replace all the <> with != and to change print foo into print (foo) and change raw_input to input
15:22:17 <oerjan> ah so you have python 3
15:22:37 <itidus21> yeah, not for any good reason though
15:27:51 -!- john_metcalf has left.
15:29:45 <itidus21> i was gonna look into pygame but then i regained my self respect
15:39:10 <itidus21> hmm.. i piped it into a textfile.. which i think is pretty good for a novice windows user
15:39:27 <itidus21> and i quickly got 4mb of hello world!
15:40:59 <itidus21> which leads me to think, a file system should have optional size constraints
15:41:16 <itidus21> so you can say, this file cannot become larger than N bytes
15:41:41 <itidus21> << this is why i don't design OSs
15:53:58 * Phantom_Hoover wonders why Steam so often has to install DirectX.
15:53:58 <lambdabot> Phantom_Hoover: You have 3 new messages. '/msg lambdabot @messages' to read them.
15:54:03 <Phantom_Hoover> You'd think once would be enough.
15:54:21 <itidus21> its conservation of installs
15:54:39 <itidus21> install windows once, install directx many
15:54:58 <itidus21> install linux many, install opengl once
16:02:53 <Gregor> But if you use Steam on Wine on Linux... D-8
16:03:14 <ion> I do
16:06:07 <quintopia> Gregor: did you put egobot on umlbox yet
16:07:24 <Gregor> Nope.
16:07:37 <quintopia> ok bye
16:13:48 -!- Taneb has joined.
16:13:56 -!- aloril has quit (Read error: Operation timed out).
16:17:13 <Taneb> Hello
16:17:27 <oerjan> evening
16:19:25 <Taneb> Had an exam today
16:20:04 <oerjan> fancy
16:24:16 <fizzie> We have a national midsummer holiday day today; no exams.
16:24:23 <fizzie> Lots of fire, though.
16:28:25 -!- aloril has joined.
16:31:26 -!- FireFly has quit (Excess Flood).
16:34:46 -!- FireFly has joined.
16:37:48 -!- pikhq has joined.
16:37:53 -!- pikhq_ has quit (Ping timeout: 252 seconds).
16:39:16 -!- oerjan has quit (Quit: Good night).
16:42:21 <Taneb> Well, the exam went well
17:05:24 <Taneb> The lines in xkcd are thicker now
17:09:09 -!- boily has quit (Quit: WeeChat 0.3.8).
17:10:35 <fizzie> It might be a scale thing. The dude is taller than the last dude, too.
17:11:16 <fizzie> (I haven't checked if they stay a consistent size.)
17:28:14 <Slereah> itidus21 : So did the program work in the end?
17:28:30 <Slereah> Didn't use it in a while
17:28:36 <itidus21> yes :D
17:28:47 <itidus21> infact i just now got the use out of it i wanted
17:28:57 <Slereah> Woo!
17:29:07 <itidus21> but.. i will show you my turing machine in NTCM
17:29:38 <itidus21> [4[5:P0RI:0;0:P0RI:0;1:P1RI:0;2:P2RI:0;3:P3RI:0;4:P4RI:0]|0[5:P4LE:1;0:P0RI:0;1:P0RI:2;2:P1LE:1;3:P2LE:1;4:P4LE:1]|1[5:P4RI:0;0:P0LE:1;1:P0LE:3;2:P1RI:0;3:P2RI:0;4:P4RI:0]|2[5:P4LE:3;0:P0RI:2;1:P0RI:2;2:P1LE:3;3:P2LE:3;4:P0LE:1]|3[5:P4RI:2;0:P0LE:3;1:P0LE:3;2:P1RI:2;3:P2RI:2;4:P0RI:0]][0=5;ims=4;d10;vh;etFecF;t1]
17:31:13 <itidus21> also i added 2 or 3 lines of python so that it will animate the output so i can watch it move
17:32:18 <itidus21> since this machine is really for that purpose >:-)
17:35:45 <Slereah> Iiii don't have Python anymore
17:35:51 <Slereah> What does it do?
17:36:17 <itidus21> well.. it's inspired by super mario bros. turtle shells
17:36:32 <quintopia> NTCM? is that a list of states and transitions? i can almost read it.
17:37:22 <quintopia> 4:P0LE:1 does that mean go to state 4, move left, leave behind a 1?
17:38:14 <fizzie> The "0=5;ims=4;d10;vh;etFecF;t1" seems somewhat nontrivial to figure out with no apriori knowledge.
17:38:23 <quintopia> no
17:38:27 <quintopia> it cant be
17:38:33 <itidus21> hmm it means if the symbol is 4, go to state 1, move left, and leave behind a 0
17:38:46 <quintopia> aha
17:41:13 <fizzie> Is this the turtle shell thing again?
17:41:27 <itidus21> fizzie: lol.. yes.. i didn't stop..
17:41:39 <itidus21> but this is a more sophisticated turtle shell
17:42:53 <fizzie> It seems more complicated than would be necessary for just the left-right bounce. Incidentally, does that formulation permit a don't-move case? All I see is just PxRI or PxLE.
17:43:18 <itidus21> it does a few curious things
17:47:20 <itidus21> i did do a picture of it earlier though
17:47:31 <itidus21> but would that spoil all the fun of reading it in NTCM
17:48:42 <itidus21> http://oi47.tinypic.com/35n31ip.jpg
17:51:50 -!- zzo38 has joined.
17:56:18 <fizzie> Hey, I vaguely recall JFLAP.
17:56:36 <fizzie> Maybe from a course or something.
17:56:58 -!- Taneb has quit (Ping timeout: 245 seconds).
17:57:07 <itidus21> the way it works is that when the head hits a 1, then the turtle shell becomes more powerful
17:57:12 <itidus21> i kind of like it
17:58:39 <itidus21> in addition when it hits a 3 that 3 becomes a 2, and next time it becomes a 1
17:59:19 <itidus21> ahh.. theres all kinds of zaniness that it does
18:00:30 <fizzie> Are you giving it an initial tape to play with? I mean, I might misremember the syntax, but the "square ; 4" bits make it look like it'd just put 4s at the edges.
18:01:21 <itidus21> yeah.. the sample input on the tape i used with NTCM is 40000001012122301040001001
18:01:32 -!- Taneb has joined.
18:01:33 <itidus21> in the NTCM version 5 is a blank
18:01:56 <itidus21> but when testing it with JFLAP i just put random things in similar to that
18:02:11 <Taneb> Hello
18:09:44 -!- FireFly has quit (Changing host).
18:09:44 -!- FireFly has joined.
18:22:37 <elliott> hi
18:26:26 -!- sebbu2 has joined.
18:30:10 -!- sebbu has quit (Ping timeout: 276 seconds).
18:34:47 <zzo38> If we have a computer with 3D display, one thing that can be displayed would be 3D horoscopes.
18:35:56 <zzo38> (Some astrologers say all horoscopes that include objects other than the Sun are 3D, but they don't know what 3D means, that is why they are astrologers.)
18:53:08 <Gregor> addquote <zzo38> (Some astrologers say all horoscopes that include objects other than the Sun are 3D, but they don't know what 3D means, that is why they are astrologers.)
18:53:12 -!- Taneb has quit (Ping timeout: 272 seconds).
18:53:12 <HackEgo> 845) <zzo38> (Some astrologers say all horoscopes that include objects other than the Sun are 3D, but they don't know what 3D means, that is why they are astrologers.)
18:54:10 <itidus21> i am temporarily happy.. i'm in that pattern where i keep working on a thing, unable to let it rest on it's laurels
18:54:32 -!- sebbu2 has changed nick to sebbu.
18:55:00 <itidus21> it is probably not very readable now, but this is one hell of a kick ass turing machine in NTCM:
18:55:07 <itidus21> [4[ :P_RI:4;_:P_RI:4;*:P*RI:4;o:PoRI:4;O:PORI:4;|:P|RI:4;S:P_:0]|0[ :P|LE:1;_:P_RI:0;*:P_RI:2;o:P*LE:1;O:PoLE:1;|:P|LE:1;S:P_:0]|1[ :P|RI:0;_:P_LE:1;*:P_LE:3;o:P*RI:0;O:PoRI:0;|:P|RI:0;S:P_:1]|2[ :P|LE:3;_:P_RI:2;*:P_RI:2;o:P*LE:3;O:PoLE:3;|:P_LE:1;S:P_:2]|3[ :P|RI:2;_:P_LE:3;*:P_LE:3;o:P*RI:2;O:PoRI:2;|:P_RI:0;S:P_:3]][0= ;ims=4;d13;vh;etFecF;t1]
19:01:09 <zzo38> Gregor: Do you like this quotation?
19:01:49 <Gregor> Yes. Quite.
19:01:57 <elliott> No, he hates it. That is why he added it.
19:03:03 <zzo38> Do you agree? Do you have any experience in these matters?
19:19:49 <fizzie> Our "CS theory: basics" course had some turing machine writing exercises; I remember liking those.
19:21:22 <fizzie> They were kind on the trivial side.
19:21:37 -!- monqy has joined.
19:21:49 <fizzie> "Design a two-tape TM that recognizes the language {wcw | w \in {a,b}*}" -- an actual example.
19:22:05 <fizzie> That's, like, "write the word, check the word".
19:23:23 <fizzie> I might've done a single-tape version that just checked letter-by-letter symmetrically around the c, not sure, but that's not terribly interesting either.
19:23:41 <monqy> @messages?
19:23:41 <lambdabot> monqy: You have 8 new messages. '/msg lambdabot @messages' to read them.
19:23:55 <fizzie> Oh, there's also a "design a three-tape TM that adds two binary numbers" question.
19:24:37 <itidus21> when will this thing let go of me
19:24:52 <itidus21> i don't want to edit the TM any more
19:25:42 <fizzie> Oh, there is in fact a third question that's "Design a non-deterministic (single-tape) TM that recognizes {wcw | w \in {a,b}*}. How about a deterministic one?" That's why I had that one-tape version.
19:26:51 <itidus21> i don't even know how to recognize things with a TM
19:27:26 <fizzie> That's just code for "make one that ends up in a particular state when X".
19:28:01 <itidus21> based on an input?
19:28:16 <fizzie> Input typically being the initial contents of the tape.
19:28:42 <itidus21> my TMs are about having fun playing with the tape
19:29:01 <itidus21> they achieve little of actual value
19:29:17 <fizzie> "Recognizes language X" meaning "ends up in state Q whenever the initial content of the tape is a word in language X, and doesn't otherwise".
19:29:43 <fizzie> I wouldn't necessarily say these have any actual value either, they're all quite boring.
19:30:03 <fizzie> I mean, there's even the {a^n b a^n | n >= 0} that you don't even need a TM for.
19:30:07 <itidus21> im gonna now post the umpteenth update of my turtle shell thing
19:30:26 <itidus21> [6[ :P_LE:6;_:P_LE:6;*:P*LE:6;o:PoLE:6;O:POLE:6;|:P|LE:6;S:P_:6;>:P>LE:1;<:P<LE:6]|5[ :P_RI:5;_:P_RI:5;*:P*RI:5;o:PoRI:5;O:PORI:5;|:P|RI:5;S:P_:5;>:P>RI:5;<:P<RI:0]|4[ :P_RI:4;_:P_RI:4;*:P*RI:4;o:PoRI:4;O:PORI:4;|:P|RI:4;S:P_:0;>:P>RI:4;<:P<RI:4]|0[ :P|LE:1;_:P_RI:0;*:P_RI:2;o:P*LE:1;O:PoLE:1;|:P|LE:1;S:P_:0;>:P>RI:0;<:P<RI:0]|1[ :P|RI:0;_:P_LE:1;*:P_LE:3;o:P*RI:0;O:PoRI:0;|:P|RI:0;S:P_:1;>:P>LE:1;<:P
19:30:26 <itidus21> <LE:1]|2[ :P|LE:3;_:P_RI:2;*:P_RI:2;o:P*LE:3;O:PoLE:3;|:P_LE:1;S:P_:2;>:P>:5;<:P<:6]|3[ :P|RI:2;_:P_LE:3;*:P_LE:3;o:P*RI:2;O:PoRI:2;|:P_RI:0;S:P_:3;>:P>:5;<:P<:6]][0= ;ims=4;d13;vh;etFecF;t1;input.txt]
19:31:03 <fizzie> Okay, maybe the one that adds binary numbers could be said to have some sort of value, but still.
19:31:18 <itidus21> i don't expect it can be ledgible there.. but this is the greatest TM!
19:31:27 -!- AnotherTest has quit (Quit: Leaving.).
19:35:12 <itidus21> actually of course it goes without saying it's not
19:35:39 <fizzie> Actually, I think I might've liked these "design a grammar" exercises more. It's almost like writing Thue, except you get course credits. (Indirectly, anyway.)
19:36:22 <fizzie> There's stuff like "design an unrestricted grammar that produces {w \in {a,b,c}* | w has equal amounts of a's, b's and c's}".
19:36:33 <itidus21> this thing basically tries to be like super mario bros
19:36:45 <fizzie> Or {a^(2^n) | n >= 0}. Okay, so they're kinda boring tasks, but it's still funtimes.
19:37:07 <fizzie> I can't even immediately say why the a^(2^n) one works.
19:37:51 <fizzie> (It's probably overly complicated.)
19:38:30 <itidus21> if you imagine each square on the tape is a graphics tile, and that the head is a turtle shell, that is the best way to understand my TM
19:39:31 <itidus21> then again, there may be other valid ways of understanding it
19:39:54 <fizzie> "S -> >AP< | e; PA -> AAP; P< -> Q< | R; AQ -> QA; >Q -> >P; AR -> Ra; >R -> e" where e's epsilon. I guess it's just a "keep either doubling the amount of A's or alternatively make them all a's and remove the trash".
19:40:42 <fizzie> Actually scratch that "| e" from S, that's obviously bogus, what can I have been thinking?
19:46:34 -!- asiekierka has quit (Remote host closed the connection).
19:55:38 <zzo38> I want to make closed/automatic instances in Haskell or Ibtlfmm. In Haskell you might have: auto_instance :: ([Type] -> Q (Maybe [Dec])) -> Q [Dec]; You can use this in a class declaration to make it closed and automatic.
19:56:27 -!- Taneb has joined.
19:56:29 <Taneb> Hello!
19:57:02 <elliott> hi
19:57:29 <Taneb> elliott, if you want to pretend to be good at sport, Germany is winning
19:57:45 <Taneb> Against Greece
19:58:10 <Taneb> Also, does anyone feel like explaining Volume of Revolution to me?
19:58:27 <fizzie> You just rotate a thing.
19:59:05 <Taneb> Oh, I see
19:59:45 <fizzie> It's like a surface of revolution, except you rotate some sort of a blorp and take the insides, instead of rotating a curve and taking just the shell.
20:00:08 <Taneb> Assume my teachers are awful and are teaching me volume of revolution before surface
20:00:54 <fizzie> Well, you know, you take a filled disc and rotate it around a suitable axis outside it, and you get a solid (volume) of revolution that makes a donut.
20:00:57 <elliott> Taneb: what's sport
20:01:09 <Taneb> elliott, it's a thing that normal people sometimes talk about
20:01:31 <Taneb> It's found on the back page of some newspapers
20:01:44 <Phantom_Hoover> Taneb, OK so when you rotate a curve about the x-axis you get a circularly symmetric volume.
20:01:55 <Taneb> Okay, I see that
20:02:09 <Taneb> I remember this from my days of playing with Google SketchUp
20:02:20 <Phantom_Hoover> The area of a cross section of this volume at distance x along the axis is pi*y^2.
20:02:39 <Phantom_Hoover> (Where y is the curve, obviously.)
20:02:41 <Taneb> Yes
20:02:42 <fizzie> If you just rotate a curve, you probably just get a surface.
20:02:44 <Taneb> That makes sense
20:03:07 <fizzie> You can speak of the volume inside it, of course.
20:03:43 <Phantom_Hoover> To find the volume, you integrate the cross sectional area along the x axis; i.e., integral from a to b pi*y^2 dx.
20:03:53 <Taneb> elliott, Greece has scored and they're tying
20:04:08 <Taneb> Phantom_Hoover, ooh
20:04:42 <fizzie> Oh, so you wanted to know the volume of a solid of revolution, not just know general things about a "volume of revolution", which I think I've seen used as a synonym for a solid of revolution before.
20:05:14 <Taneb> Okay
20:05:40 <Taneb> fizzie, I've just got the slides from a lecture I missed due to my exam, and I'm trying to figure it out
20:06:42 <Taneb> elliott, Germany's winning again
20:07:29 <fizzie> Right, well, you can integrate that stuff. If what you want is not "rotate the surface between this curve and the X axis" but instead something like "surface between these two curves" (like if you wanted a hole inside the thing), you might want to use the areas of disc-with-a-hole regions.
20:09:40 <Taneb> Thanks fizzie and Phantom_Hoover
20:09:51 <Taneb> I've understood enough to decipher this
20:12:55 <fizzie> POV-Ray has surface of revolution as one of its object types. (And I'm pretty sure regular 3D modelers like Blender have a tool that'll take a segmented line of N points, rotate it with K steps, and make a N*K point mesh, but POV-Ray actually does intersection tests with the real surface, if I've understood correctly.)
20:13:29 <fizzie> I mean, the curve is sampled, but the rotated surface part if it is right.
20:15:05 <fizzie> (And the points of the curve can be connected by different kind of splines.)
20:16:14 <fizzie> (Okay, there are details and a different-but-related 'lathe' object, but that's all probably outside the scope of this message.)
20:19:27 <Taneb> elliott, it's 4-1 to Germany
20:20:41 <Taneb> Yeah
20:20:48 <Taneb> It's in the knock-out stage now
20:21:48 <fizzie> POV-Ray trivia: it has a "sphere sweep" object type that I think is pretty much meant for making tentacles. (Okay, I guess it could make some sort of tubes too.)
20:22:15 <fizzie> (It's the shape of an object sweeped by a sphere that moves from place to place and varies its radius.)
20:22:19 <Taneb> POV-Ray is on my list of things to learn
20:22:49 <fizzie> It's kind of a silly thing. It's like you write this text stuff in a rude imitation of a programming language, and out comes a picture.
20:23:03 <fizzie> I guess you can also use it as a back-end renderer, but that sounds terribly pointless.
20:23:04 <Taneb> I've tried to use it before
20:23:19 <Taneb> I got a pink sphere on a yellow background
20:23:41 <Taneb> I also have the dubious honour of having my code removed from Uncyclopedia
20:23:52 <fizzie> See, here's a sphere-sweep tutorial, and it's all about tentacles: http://cronodon.com/PovRay/Tentacles.html
20:24:55 <fizzie> "Revert Anon; let us charitably assume he doesn't realize this is a humor site"
20:25:56 <Taneb> (for the record, it was not me who added it to the site, nor was it me who removed it)
20:26:25 <fizzie> It's a bit of a shame, since I think it looks nice.
20:26:59 <Taneb> Just don't try to run it with numbers more than 9
20:27:09 <Taneb> It works /in theory'
20:27:42 <Taneb> But in practise?
20:27:50 <elliott> thanks david
20:28:15 <Taneb> It's trying to store 10! in strict unary encoded by functions
20:29:00 <quintopia> you're welcome
20:29:59 -!- elliott has quit (Read error: Operation timed out).
20:31:26 <zzo38> It looks like something similar to a SK combinator program
20:31:36 <Taneb> Yeah, it essentially si
20:31:40 <Taneb> *is
20:33:16 <Taneb> S = (<*>), K = pure, unsafeCoerce = I
20:34:46 <zzo38> Taneb: Yes I noticed that
20:35:31 <Taneb> Probably the most core-dumps I've ever caused in one day, writing that
20:36:48 <zzo38> What is a good way in a C program to make a white noise?
20:38:15 <atrapado> zzo38, cat /dev/urandom > /dev/dsp ???
20:38:44 <zzo38> atrapado: No, I mean in C
20:39:09 <atrapado> well, uniform or gaussian white noise... just some random samples
20:39:35 <atrapado> just take some random samples
20:40:08 <atrapado> even from rand() or similar
20:40:11 <zzo38> But how can I make a random real numbers in a C code in both Windows and UNIX?
20:40:38 <atrapado> that I do not know
20:41:09 <fizzie> It sounds like you will have to decide whether you want to use rand() or to embed your own PRNG.
20:41:12 <atrapado> well, do you need quite random of just pseudorandom
20:42:25 <fizzie> You can make uniformly distributed double-precision floats from rand() e.g. for the [-0.5, 0.5] interval by dividing the output by (double)RAND_MAX and subtracting 0.5.
20:42:28 <atrapado> 2.0 * ((double) rand() / (double)RANDMAX - 0.5) ???
20:43:07 <fizzie> There's an underscore in the constant. And you only need the latter cast, the rules for finding a common type for / will make it double.
20:43:36 <fizzie> Well, you only need one cast, to be more exact. It could be the first one, too.
20:45:00 <zzo38> Pseudorandom is good enough, and it doesn't matter if different implementations differ although it might be best to have one built-in so that the quality does not degrade too much with different implementation. I want to make it for audio, it will then be converted to integers after calculation finish
20:45:55 <atrapado> for audio I think rand() is enough
20:46:28 <fizzie> I'm reasonably sure even a regular linear-congruential PRNG that you can do in one line will be good enough for audio purposes, if you want to get the exact same results everywhere.
20:46:29 <atrapado> for avoiding always the same sequence
20:46:49 <atrapado> it may sound recognoscible
20:50:40 -!- atehwa has quit (Remote host closed the connection).
20:50:48 -!- atehwa has joined.
20:54:16 <fizzie> I'm slightly curious what it's for, though.
20:54:44 <zzo38> It is a program to make .IT files. You can load external samples, although I also put a simple synthesizer with a few wave forms (including random); other things such as vibrato, tremolo, ADSR, filter, etc, can be provided by .IT format themself (and this program does include commands to enter those commands into the .IT)
20:55:18 <zzo38> It is called ITMCK and is somewhat based on PPMCK (which is used to make .NSF)
20:56:00 <zzo38> That is what it is for. Do you like this?
20:56:05 -!- ais523 has joined.
20:56:16 <itidus21> to see my turing machine in action visit this TM simulator http://morphett.info/turing/turing.html and the pastebin has the necessary code and explanation http://pastebin.com/XJf4cPyd
20:56:24 <fizzie> Oh, that thing again.
20:56:43 <fizzie> I should have guesseded, I guess.
20:56:50 <quintopia> sounds like fun
20:57:27 <zzo38> fizzie: How many programs have you used to write music? Have you written the music on paper?
20:58:00 <quintopia> ive written music
20:58:06 <quintopia> never on paper
20:58:50 <fizzie> zzo38: I don't write music, so I don't really have an opinion. My IT file format experiences are from a different angle.
20:59:31 <quintopia> i wrote a lot of music in mpt, but i never studied the file format
21:00:39 -!- david_werecat has quit (Quit: Page closed).
21:01:05 <zzo38> quintopia: Still it would help, if you have written the music perhaps you would have some opinion about the synthesizers and other features of the music
21:01:22 <zzo38> Including if there are some things you think MPT lacks, or some features you don't use
21:04:44 -!- george97 has joined.
21:04:44 -!- george97 has quit (Client Quit).
21:07:13 <itidus21> fwiw this is a more interesting input "....888.s..c..>.|..8.8.8.8.8.8.8.8.8.8....|...<...888.c.c...c."
21:12:07 <zzo38> When making a computer program which displays the spherical coordinates of the object in space, for the longitudinal angles there can be hours (right ascension and hour angle), astrological signs (ecliptic longitude), and degrees (both). For latitudinal angles degrees are used, but I think another option should be to allow grads for latitudinal angles.
21:16:15 -!- george97 has joined.
21:16:33 -!- george97 has left.
21:20:56 -!- oklopol has quit (Ping timeout: 246 seconds).
21:46:32 -!- atrapado has quit (Quit: Leaving).
21:46:53 <zzo38> How does a white noise change if raised to an exponent?
21:55:58 <fizzie> It shouldn't. As long as the samples are all uncorrelated and zero-mean and finite-variance, the power spectrum will be flat.
21:56:31 <fizzie> Frequency-wise, that is. The amplitude distribution is clearly different.
21:56:38 <fizzie> But it's still a white noise.
21:57:18 <fizzie> Speaking of which, it *might* (though it's perhaps best to ask a music-maker's opinion) be a good idea to provide a pink noise source also, since that's kind of a more natural noise. (White has relatively much stuff at high frequencies.) Even given that it's probably possible to get something pinkish with the IT filters.
21:59:05 <zzo38> I have used "L" for square/pulse wave, "N" for saw wave, "V" for triangle wave, letter omitted for sine wave, what letter for white and pink noise? Also how to generate pink noise?
21:59:49 <fizzie> Well, W and P come to mind. Though the white noise could also be R for random.
22:00:17 <zzo38> I was at first using R for white noise, so I could keep it that way.
22:00:31 <zzo38> So now I can put P for pink noise too
22:01:02 <zzo38> (Although do you know why I have chosen L, N, and V? Maybe it is clear to you, maybe not.)
22:01:25 <fizzie> Oh, I guess it's the letter shapes.
22:01:47 <fizzie> The noises don't probably have so good letters.
22:02:06 <zzo38> What is why we select letters based on different reasons for the noise.
22:02:10 <zzo38> s/What/That/
22:02:51 <fizzie> Anyhoo. There's two well-known ways to do pink noise; one's to generate white noise and apply a filter that approximates a 1/f frequency response (a third-order one could be close enough) while the second uses K (e.g. K=6) white noise sources, and updates each at different rate. (Basically getting a staircase-like approximation.)
22:03:27 <zzo38> OK
22:04:17 <fizzie> I have this bookmark on it: http://www.firstpr.com.au/dsp/pink-noise/
22:04:24 <zzo38> OK
22:08:04 <fizzie> Some of the discussion is a bit overly DSP-oriented. Like the improvement to the several-white-noise-sources that makes the work/sample constant, which isn't really an issue except in a DSP implementation.
22:09:56 <Sgeo> *sigh* I feel more like a code monkey than a developer when I write LSL
22:10:02 <Sgeo> How do I fix myself?
22:10:09 <Phantom_Hoover> don't write lsl
22:10:41 <Sgeo> I like to blame the lagginess of the built-in LSL editor >.>
22:10:47 <fizzie> Code monkeys are also developers too.
22:13:20 <Phantom_Hoover> Sgeo, use objectopattern synergies or whatever it is that developers stereotypically use
22:15:02 <Taneb> Goodnight
22:15:03 -!- Taneb has quit (Quit: Leaving).
22:17:01 -!- calamari has joined.
22:18:43 <fizzie> I'd probably go with the "economy" filter mentioned there, the http://www.musicdsp.org/files/pink.txt
22:21:34 <zzo38> I have already written something and it does multiple white noise updating at different rates (using "R(divider),(amplitude),(exponent)" and then if you have more than one, they are added together)
22:23:49 <fizzie> Well, that's very possible too.
22:34:09 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:38:32 -!- derdon has joined.
22:44:29 -!- aloril has quit (Ping timeout: 244 seconds).
22:51:39 -!- copumpkin has joined.
22:51:44 <zzo38> One thing I also haven't thought of yet, is how the table of the effect rows (which will be converted to patterns) should be internally represented. I currently have: typedef struct chan_row { byte note; byte instrument; byte effectid; byte effectpar; byte volumeset; byte continue_flag; /* 0x01=effect 0x02=volume 0x04=zero next effect */ } chan_row;
23:00:22 -!- aloril has joined.
23:03:25 -!- MDude has joined.
23:10:29 -!- calamari has quit (Quit: Leaving).
23:14:46 -!- Patashu[Zzz] has changed nick to Patashu.