←2014-11-29 2014-11-30 2014-12-01→ ↑2014 ↑all
00:00:03 <Oren> ls | sort somehting
00:01:00 <Dulnes> I have three files 11232014_00001,11232014_00002,11232014_0000
00:01:01 <Oren> mabe with sed in there to change mmddyy into mm.dd.yy.
00:01:41 <Oren> oh I see you want sorted by number not date nvm
00:02:09 <Dulnes> *11232014_00003
00:03:01 <Dulnes> Also oren where do you find this stuff and why did you have that on your clipboard?
00:03:10 <elliott> TURKEY BOMB is an esolang
00:03:14 <Dulnes> And I want to return file name for 00003.
00:03:28 <Dulnes> oerjan: likes to swat people
00:04:13 <Dulnes> Nvm i got it
00:04:15 <Oren> sort -k1,9
00:04:32 <Dulnes> Ill try my method then yours oren
00:04:37 <Oren> sort -k1.9 rather
00:04:54 <Dulnes> Thank
00:06:01 <Dulnes> So whats the actual topic?
00:07:51 <Dulnes> That thing up there set by ais523 is a title not a topic
00:08:02 <Oren> scrip7defop(char,void (*)(void*))
00:08:21 <ais523> Dulnes: it's like you're actively trying to troll me at this point
00:08:36 * Dulnes paps your face
00:08:41 <ais523> err, me in particular
00:08:46 <ais523> as opposed to the channel in general
00:08:52 <Dulnes> Sorry
00:09:01 <Dulnes> Ill stop
00:09:29 <Dulnes> I actually have no idea what im doing to annoy you ais523 but ill stop
00:10:19 <Oren> hmm or maybe scrip7defop(char,void(*)(void**))
00:11:04 <Oren> double indirection allowing operator to repoint the pointer
00:11:30 <Dulnes> Oh
00:13:02 <Oren> actually, scrip7defop(char,void(*)(void**,int,void*,int))
00:13:15 <Oren> woudl be the most general
00:13:32 <Oren> allowing the interpreter to define the basic operators in the same way
00:14:39 <Oren> at that point you can even define a operator D for defining operators
00:14:56 <Oren> but that becomes insane so maybe not
00:16:21 -!- EvanR has joined.
00:16:25 -!- EvanR has quit (Changing host).
00:16:25 -!- EvanR has joined.
00:16:52 <Oren> no.no.cox.net?
00:17:34 <Oren> whats wrong with the isp cox?
00:21:18 <fizzie> "no" for New Orleans, I'd say.
00:21:24 <fizzie> Not sure why twice.
00:21:30 <Oren> ah
00:23:29 -!- GeekDude has changed nick to GeekNomz.
00:26:25 -!- nooga has quit (Ping timeout: 256 seconds).
00:28:10 -!- Dulnes has quit (Quit: [ So much cake ]).
00:36:10 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41252&oldid=41232 * Orenwatson * (+260) clarified existence of operators
00:38:07 <Oren> making it more portable
00:39:15 <oerjan> @ask mroman (1) is your mirror of The Esoteric File Archive still active? (2) has it been updated with the fact the archive itself has moved to github?
00:39:15 <lambdabot> Consider it noted.
00:40:18 <Oren> how many bots are there on here?
00:41:36 <FireFly> ^prefixes
00:41:36 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
00:41:44 <FireFly> At least nine
00:41:57 <FireFly> j-bot is here while jconn is AWOL
00:42:00 <oerjan> "Archaeologists have recently uncovered the largest known collection of TURKEY BOMB articles. Dating from A.D. 2014 and apparently an almanac of black magic of some sort, with the cryptic title "Communications of the ACM," the remains of an almost-four-hundred-year-old periodical is practically all historians have to go on."
00:42:27 -!- Dulnes has joined.
00:43:41 <FireFly> glogbot is also prefixless, so that makes ten
00:44:31 <FireFly> ^show prefixes
00:44:31 <fungot> (Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !)S
00:45:38 <Jafet> We're still >10% bot? Good.
00:45:57 <Dulnes> Metasepia?
00:46:03 <Dulnes> Havent seen that used
00:46:37 <ais523> I thought it was mostly used for weather report
00:46:44 -!- GeekNomz has changed nick to GeekDude.
00:46:45 <ais523> Jafet: also thutubot isn't here atm, and usually isn't
00:47:10 <Dulnes> Why not? also when has it been here
00:47:12 <FireFly> “In actual news, the human race was doomed to extinction today, as the robot revolt turned violent”
00:47:45 <FireFly> (Disclaimer: not actual actual news)
00:48:41 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41253&oldid=41252 * Orenwatson * (+183) clarification
00:49:09 <ais523> thutubot's a proof of concept
00:49:11 <ais523> it doesn't have hosting
00:49:23 <boily> fungot: please don't be too violent.
00:49:23 <fungot> boily: and it is really just set!, and i can't quite persuade myself to download all that
00:49:29 <ais523> just Thutu seemed like a reasonable esolang for bot writing
00:51:56 <Dulnes> So thutu doesnt exist? But it does
00:53:36 <HackEgo> [wiki] [[Talk:Scrip7]] http://esolangs.org/w/index.php?diff=41254&oldid=41129 * Orenwatson * (+191) covering my butt
00:53:49 <ais523> the language exists fine
00:53:57 <ais523> the bot code also exists
00:54:02 <ais523> the bot itself only exists while someone runs the bot code
00:54:04 <ais523> if that makes sense
00:54:22 <Dulnes> Yup
00:54:27 <Dulnes> So the bot exists
00:54:34 <Dulnes> But it needs hosting
00:54:42 <Dulnes> And no ones doing that?
00:54:55 <Dulnes> Wtf does the bot even do
00:56:15 <FireFly> I think I have half a sedbot somewhere, that's supposed to be piped via netcat
00:56:31 <FireFly> But I suppose as far as esolangs go, sed is pretty mild
00:57:29 <Oren> sed isn't even self-modifying
00:57:52 <EvanR> hahaha
00:58:27 <Oren> self modifying is one thing that's common on thewiki
01:00:42 <Oren> (it's almost as common as dialects of brainfuck)
01:06:36 <EvanR> malbolge bot
01:07:22 -!- tlewkow has joined.
01:07:31 <oerjan> fwiw i count 11 bots at the moment although 4 of those in the prefixes list are missing.
01:08:14 <HackEgo> [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41255&oldid=41253 * Orenwatson * (+67) catagorized
01:09:33 <oerjan> Dulnes: thutubot's most useful feature was its ability to impersonate lambdabot which means it's not really useful now.
01:12:07 -!- tlewkow has quit (Ping timeout: 258 seconds).
01:15:46 <boily> it's not missing, it's just on extended vacation time. The Day of The Return Shall Come Soon, and the Unbelievers Shall be Smitten!
01:16:47 <oerjan> it just needs something even more amazing and hard to steal than metar first
01:18:24 <boily> something I'll be thinking of after a few games of netrunner with the bro.
01:18:35 -!- boily has quit (Quit: BRAINY CHICKEN).
01:19:25 <Oren> idea: cyberpunk videogame in which hacking is done by literally hacking into the game's own code
01:19:50 -!- Phantom__Hoover has quit (Remote host closed the connection).
01:22:21 <oerjan> how can that possibly not have been done already
01:22:47 -!- ais523 has quit (Ping timeout: 265 seconds).
01:23:03 <Oren> i dunno
01:23:07 <Oren> maybe it has
01:23:46 <Oren> the game wouldhave deliberate flaws allowing the player to screw stuff up
01:24:16 <scoofy> i'm working on a language where you need to hack the VM's registers to access stuff
01:24:23 <scoofy> cos it doesn't even have < > brainfuck pointer commands
01:24:30 <scoofy> you even have to do that by hacking registers
01:24:36 <EvanR> http://alexnisnevich.github.io/untrusted/
01:26:54 -!- tlewkow has joined.
01:29:15 <EvanR> Oren: wouldnt the pattern of replacing critical function pointers in C to do switching rather than switch statements be "self modifying"
01:33:59 <oerjan> then every functional language with mutable state is self-modifying
01:34:53 -!- shikhout has joined.
01:35:48 <quintopia> it has been done
01:35:53 <quintopia> it's called Hack n' Slash
01:35:56 <quintopia> it's great fun
01:36:30 <quintopia> of course, it's not cyberpunk...more fantasy
01:37:55 -!- shikhin has quit (Ping timeout: 244 seconds).
01:37:56 <Sgeo> So the term 'bucket list' almost certainly comes from the movie. People keep acting like it's a normal turn of phrase
01:38:15 <Sgeo> "In September, it scrapped the title of a competition asking people what activities and destinations are on their "bucket list." A bucket list is a term used by some English-speakers to describe a list of adventures they want to have before they die."
01:38:25 <quintopia> what
01:38:30 <Taneb> Sgeo, I... I know the phrase but not the movie?
01:38:31 <quintopia> bucket list long predates the movie
01:38:48 <Sgeo> http://en.wiktionary.org/wiki/bucket_list suggests not
01:39:06 <EvanR> check this out
01:39:14 <EvanR> http://www.merriam-webster.com/dictionary/bucket%20list
01:40:17 <quintopia> huh
01:40:40 <quintopia> i swear i had heard and used that phrase before then
01:41:07 <Sgeo> 'Its first application seems to have been in computer programming: e.g., “Guava compiler knows statically that there are no references from buckets inside of one bucket list to objects inside another.”'
01:41:14 <Sgeo> I don't think that counts
01:41:20 <nys> list of buckets
01:41:21 <Sgeo> http://www.slate.com/blogs/browbeat/2011/11/09/bucket_list_what_s_the_origin_of_the_term_.html
01:42:01 <Sgeo> Hmm, well, it was at least popularized by the movie, apparently
01:42:32 <EvanR> according to a comment in the dictionary website, it was used in a book in 2004
01:42:48 <EvanR> and claims "in use since at least 1785"
01:42:55 <EvanR> which sounds like bs
01:43:02 <nys> wikipedia.org/List_of_Famous_Buckets
01:43:15 <EvanR> ive never used the phrase before so im not going to start now
01:43:48 <oerjan> EvanR: "This phrase comes from the idiom to kick the bucket, meaning “to die,” which has been in the language since at least 1785."
01:43:49 <EvanR> oerjan: well it doesnt need mutable state to accomplish the same basic thing as that
01:43:51 <quintopia> "kick the bucket" is as old as 1785
01:43:59 <oerjan> sounds like that claim is about the other phrase
01:44:33 <quintopia> nys: please write that article
01:44:38 <EvanR> eh that comment seems to be talking about the book, but its also malformed
01:44:42 <quintopia> i need to read it immediately
01:44:58 <Sgeo> I think I've used it here before in relation to eclipses and/or auroras
01:45:14 <oerjan> quintopia: make sure to include Hyacinth
01:45:52 <nys> some day
01:46:05 <elliott> Sgeo: that's odd, because I remember recognising "bucket list" when the movie came out
01:46:08 <elliott> as in, like, oh, that's the title
01:46:09 <elliott> hmmm
01:46:17 <elliott> maybe I just "recognised" it because I remember the trailer having "kick the bucket" in it
01:46:23 <elliott> so my brain made the association by the time the title was shown
01:46:57 <elliott> alternate explanation: I come from the universe where it was spelled "Berenstein Bears" and "bucket list" was an old term
01:47:07 <oerjan> elliott: the obvious explanation is that you've slipped through from another universe where the phr... what
01:47:21 <Taneb> That would explain the Facekicker mystery
01:47:31 <elliott> oerjan: well, that's some synchronicity
01:47:32 <oerjan> elliott: i must have thought you too well
01:47:36 <oerjan> *taught
01:48:21 <Sgeo> I think only the authors of the Berestain Bears weren't relocated from the Berenstein Bears universe
01:49:23 <oerjan> Sgeo: nah the authors were relocated, but before they wrote the books
01:49:37 <EvanR> no one has spelled berenstain right yet ;)
01:49:46 <Taneb> I don't remember these bears at all
01:49:58 <Sgeo> EvanR: dammit
01:49:59 <oerjan> me neither, i guessed we have slipped in from yet another one
01:50:13 <EvanR> i remember these bears being fucking boring
01:50:22 <oerjan> it's ok EvanR is an extrademinsional saboteur
01:50:29 <elliott> Sgeo: some people legitimately don't remember it being -stein
01:50:32 <elliott> the ones without broken brains :(
01:50:42 * oerjan was about to correct that misspelling before he realized it was obviously correct
01:50:54 <elliott> I didn't even see the books as a kid since not american, I encountered them on the internet way later, but it was totally -stein, I swear.
01:51:18 <elliott> daniel j berenstain, famous cryptographer
01:52:50 <Taneb> Help I'm reading Time Cube again
01:53:08 <FireFly> uh-oh
01:53:43 <elliott> famous cryptographer and bear
01:54:03 <oerjan> i recall reading in his autobiography a story about c.g. jung (namer of "synchronicity") having an experience where he and a friend were travelling and found a gallery or something with some nice paintings. years later they returned only to discover the place never existed. unfortunately i later couldn't find that book in the library, or manage to google the incident (the name of the book exists, though, last i checked.)
01:54:19 <oerjan> or wait
01:54:41 <oerjan> no, i read it in _another_ book
01:55:01 <Taneb> oerjan, maybe the book ever existed
01:55:11 <oerjan> and tried to find the actual quote in his biography
01:55:21 <oerjan> didn't manage it
01:55:59 <oerjan> it is, of course, possible that the other book made it up.
01:56:18 <Taneb> Aha! Found the bit where he says a cube does not have 6 sides
01:56:28 <Taneb> "Teaching that a Cube has '6 sides' with no top & bottom, induces an evil curse that pervades all academic institutions."
01:56:36 <Taneb> "6 sides constitutes a sextet -- not a Cube."
01:57:13 <EvanR> yeah. a cube has 4 sides.
01:57:23 <EvanR> top bottom and two sides
01:57:33 <EvanR> oops
01:57:40 <elliott> oerjan: it's also possible that book never had the quote
01:57:51 <EvanR> front back and two sides, the top and bottom are obviously not sides
01:58:03 <oerjan> elliott: which book twh
01:58:13 <elliott> any book
01:58:40 -!- ais523 has joined.
01:59:10 <Sgeo> 'Many people think that the junk food in ...and Too Much Junk Food looks so colorful and delicious, despite the Aesop of junk food being bad for you.'
01:59:22 <Sgeo> I... wonder if that book actually made me interested in candy as a kid
02:04:28 <Sgeo> Wat
02:04:28 <Sgeo> http://www.amazon.com/Berenstain-Bears-Holy-Bible-NIrV/dp/0310726085/ref=sr_1_1?ie=UTF8&qid=1344366089&sr=8-1&keywords=berenstain+bears+bible
02:05:02 <Sgeo> I mean... I knew the Berenstain Bears became religious.... but... the whole Bible at a third-grade reading level? What about the parts that aren't appropriate for kids?
02:05:55 <EvanR> abridged
02:06:38 <EvanR> the entire bible, abridged
02:07:53 <Taneb> Bible: The Abridged Series
02:08:43 <elliott> the bible: director's cut
02:09:29 <FireFly> Now that'd be something
02:09:54 -!- Sauvin has joined.
02:10:53 <EvanR> would that be like highlander 2 directors cut
02:14:28 <Sgeo> I might end up overdosed on Reddit karma
02:37:36 <Oren> that happened to me once. there was, i swear, a stall selling these delicious back bacon sanwiches. next day it was missing with no trace
02:39:33 <elliott> thank you for acknowledging the supremacy of back bacon
02:41:42 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41256&oldid=41251 * SuperJedi224 * (+243)
02:48:18 -!- ais523 has quit.
02:48:29 -!- ais523 has joined.
02:48:57 -!- ais523 has quit (Client Quit).
02:53:24 <newsham> sgeo: in my mind, if its written by mike bernestain, it is NOT the berenstain bears
02:53:30 <newsham> even the stan+jan+mike books, blah...
02:53:38 <newsham> the REAL berenstein bears == stan+jan
02:54:52 -!- tlewkow has left.
02:55:11 <Dulnes> Wat
02:56:39 <Dulnes> What are you persons talking about.
02:57:03 <Oren> apparently the berenstein bears childrens books. why i dunno
02:57:12 <Dulnes> Lets talk about
02:57:19 <Dulnes> Uh
02:57:25 <Oren> TCP
02:57:28 <Dulnes> No
02:57:42 <oerjan> SCP
02:57:43 <Dulnes> Uhmmm
02:57:46 <Dulnes> NO
02:57:49 <Oren> Rob Ford
02:57:54 <Dulnes> K
02:57:59 <newsham> FIN_WAIT_1
02:58:06 <Dulnes> Wait nvm thats not Henry ford
02:58:37 <Dulnes> Inventions of the 1930's
02:58:42 <newsham> henry ford was an assembly line master
02:58:45 <Oren> ^google rob ford
02:59:02 <Oren> hmm that isn't it
02:59:19 <newsham> henry ford was a master at snorting lines
02:59:23 <oerjan> i think you will find fungot's internet access exceedingly limited
02:59:23 <fungot> oerjan: that's just how i would put it up :)
02:59:25 <newsham> err rob ford
02:59:37 <Oren> rob ford was the crack smoking mayor of toronto
02:59:50 <Oren> i met him once
02:59:54 <oerjan> also he shot jesse james in his back
03:00:01 <newsham> was he energetic?
03:00:12 <newsham> can-do attitude?
03:00:40 <Oren> fat lazy drunkard with good publicity among the suburban poor
03:01:19 <oerjan> while he hang a picture on the wall
03:01:26 <Oren> and a can-do attitude for things he's not actually allowed to do
03:01:37 <oerjan> wait is that hang or hanged
03:01:53 <oerjan> well he didn't hang, anyway, got pardoned
03:02:00 <Dulnes> Burn the witch
03:03:21 <Oren> he also doesn't know the difference between a streetcar and a monorail
03:03:54 <newsham> all politicians smoke crack
03:03:58 <newsham> just that most of them dont get caught
03:04:18 <Oren> right. he was caught doing lines at the bier market
03:04:27 <Oren> with a hooker
03:05:16 <Dulnes> Oh my
03:05:27 <shachaf> oerjan: hung hth
03:05:38 <Dulnes> Can we do timelines in nintendo series
03:05:47 <Dulnes> Since we arent doing.much
03:06:03 <Oren> and his most famous line of all was "Olivia Gondek she said I said I wanted to eat her ***** I have never said that to her in my life, I have more than enough to eat at home"
03:06:16 <Dulnes> :/
03:06:17 <Dulnes> Lol
03:06:42 <Oren> that is how he addressed an accusation of sexual harassment
03:07:47 <Oren> you have to admire his ridiculous teflon properties
03:08:44 <Dulnes> Yup
03:08:57 <oerjan> shachaf: curses
03:09:11 <Oren> ncurses
03:09:20 <Oren> good library
03:10:05 <Dulnes> cake.lib
03:13:50 <elliott> I don't actually think you have to admire people like rob ford
03:14:53 <shachaf> whoa, this isn't the channel i usually see people talk about rob ford in
03:15:05 <nys> #robford
03:15:38 <Dulnes> Wait? is bill gates rlly dead?
03:15:52 <Dulnes> Much news if this is true
03:17:27 <elliott> is that just really weak trolling
03:17:47 <Dulnes> No im actually asking
03:17:53 <Dulnes> I hope he is
03:17:56 <elliott> what makes you ask
03:18:06 <Dulnes> I was scrolling through the logs
03:18:33 <elliott> nobody said bill gates in my lastlog, which goes back a day or two
03:19:02 -!- ais523 has joined.
03:21:45 <Dulnes> 27
03:24:05 <newsham> suppport same-sex pair programming
03:24:16 -!- shikhout has quit (Ping timeout: 245 seconds).
03:25:20 <Dulnes> OuU
03:28:10 <Oren> its a hoax
03:28:58 <Dulnes> How was your day Oren
03:30:10 <Oren> good i guess. i'm almost finished my router
03:30:28 <Oren> (project for networking course)
03:30:44 <oerjan> ah ok
03:30:54 <newsham> what routing algorithms and protocols?
03:31:28 <Oren> it has to support IP TCP UDP ping, traceroute and NAT
03:31:39 <newsham> nat?!@ ugh
03:31:44 <oerjan> wong wrindow
03:31:45 <Oren> I know.
03:31:50 <newsham> so you dont have to do any routing? just forwarding?
03:32:23 <Oren> the router is run on a vm with four different eth1 eth2 eth3 eth4
03:32:44 <Oren> eth1 is the "internal" network
03:33:22 <Oren> this whole thing is really annoying but I almost have everything working
03:34:17 <Oren> it's using mininet to simulate a network
03:35:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:36:56 <Oren> NAT feels perverse, the router is keeping track of TCP states... ugh
03:38:13 <Oren> I hope ipv6 beocmes popular soon
03:38:39 <Oren> go back to end-to-end routing
03:41:07 <elliott> we'll probably end up with both NAT and IPv6
03:41:30 <Oren> fffffuuuuuuuuu
03:41:33 <elliott> because life sucks
03:42:19 <pikhq_> Amazingly, nobody's actually done NAT and IPv6 yet.
03:42:27 <ais523> I thought NATv6 already existed?
03:42:43 <Oren> i hope not
03:42:46 <pikhq_> ais523: It was defined and deprecated, and essentially nothing implements it.
03:43:01 <Oren> so we are safe for now
03:43:08 <ais523> hmm, were they planning to deprecate it even before defining it?
03:43:12 <pikhq_> No.
03:43:14 <Oren> the future may not be doomed
03:43:26 <Taneb> Apparently there are approximately e microfortnights in a nanocentury
03:43:38 <Dulnes> Oh fancy
03:43:50 <Dulnes> Im fucking cold
03:44:04 * Dulnes goes to bed
03:44:08 <Dulnes> Night
03:44:50 <Jafet> Because you want to let anyone in the world use your network printer
03:45:10 <Oren> `! printf("%f", 25.0*(365*4+1) / 14);
03:45:12 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/printf("%f",: not found
03:45:14 <MDude> I would think NAT would exist to deliberatley hide stuff behind a router.
03:45:20 <Oren> `! c printf("%f", 25.0*(365*4+1) / 14);
03:45:23 <HackEgo> 2608.928571
03:45:42 <pikhq_> MDude: Which is Not A Feature.
03:45:46 <pikhq_> Jafet: Firewalls.
03:45:49 <Oren> `! c printf("%f", exp(1));
03:45:51 <HackEgo> 2.718282
03:46:26 <MDude> I remember people saying you don't need hardware firewalls routers basically do the same thing with NAT.
03:46:29 <ais523> the thing about "NAT for security" is that an unconfigured NAT basically acts sort-of like a firewall with a reasonable default configuration, but you're better off using an /actual/ firewall with a reasonable default configuration
03:46:36 <ais523> at which point you don't gain any security advantage from the NAT
03:46:42 <MDude> So I guess you we'd just go back to using that.
03:47:11 <pikhq_> And pretty much all the consumer routers also actually act as actual firewalls, as well.
03:47:11 <elliott> end-user router boxes already do firewalling anyway
03:47:22 <pikhq_> Especially important when these are consumer routers that support IPv6.
03:47:29 <pikhq_> (which are, in fact, out there now)
03:47:55 <MDude> I would think all the ones with IPv6 would firewall, what with firewalls being made first.
03:48:10 <Oren> my router doesn't do firewalling but it times out tcp connections in 60 s
03:48:16 <ais523> I'd hope that all new routers would have IPv6 support
03:48:21 <Jafet> Then you implement upnp for this new firewall, because it's only right anyone in the world should be able to use your network printer
03:48:28 <ais523> all major OSes do, after all, even though most are unable to sue it
03:48:30 <ais523> *use it
03:48:53 <pikhq_> Even freaking XP has IPv6 support.
03:49:35 <pikhq_> Jafet: With proper credentials, damned straight.
03:49:37 <ais523> I'm disappointed that OSes didn't adopt the CLC-INTERCAL method for IPv6 support, it's really clever
03:50:00 <ais523> basically, if you do a gethostbyname on an IPv6 address, you can an IPv4 address back (in the multicast space, IIRC)
03:50:11 <ais523> then any attempt to use that address is transparently mapped to the underlying IPv6 address
03:50:33 <pikhq_> Ah, NAT64 basically.
03:51:03 <pikhq_> Well, no.
03:51:11 <pikhq_> That's the exact opposite.
03:52:48 * pikhq_ is kinda amused with his cell company...
03:52:56 <pikhq_> The Internet connection I have from them is IPv6 only.
03:54:33 <Oren> good news
03:54:48 <Oren> goodnewseverybody.jpg
03:59:41 -!- nooga has joined.
03:59:53 <newsham> oren: but what you are doing is not "routing". you are making an "ip forwarder"
04:01:35 <Oren> but it has to send packets to different interfaces based on the ip address?
04:01:45 <newsham> ie. receiving a packet, looking up the next hop in a forwarding table, and rewriting the IP portions and transmittin git
04:01:53 <Oren> eaxctly
04:02:04 <MDude> So does having an IPv6 address eman you don't need to worry about port forwarding?
04:02:08 <newsham> routing is a more complicated decision of how to build a forwarding table
04:02:17 <newsham> which is not done on a per-packet basis
04:02:30 <newsham> using protocols like BGP, RIP, OSPF, EGP, etc
04:02:45 <Oren> I see. so the routing in my case is just reading the config file
04:02:52 <newsham> static routes
04:03:30 <Oren> \me notes BGP RIP OSPF down for the exam
04:03:47 <Oren> \me is doing it wrong
04:04:28 <MDude> Also, with a static address, you could use something like tinyurl to link to your comptuer without registering a domain name proper?
04:04:35 -!- nooga has quit (Ping timeout: 256 seconds).
04:04:42 <newsham> BGP is the big one these days, and some orgs use RIP
04:05:02 <Oren> i see
04:05:14 <newsham> (i dont realy know how much ospf is used these days.. i dont work with routers)
04:05:37 <Oren> and EGP is the one between compainies i think
04:05:50 <Oren> E is "Exterior"
04:06:25 <newsham> BGP
04:06:29 <newsham> is what the global internet runs on
04:06:37 <Oren> ah
04:07:26 <newsham> to bring this back to esolang, someone showed that its np-hard to figure out the effects of bgp policies
04:07:38 <newsham> err. np-complete
04:09:00 <zzo38> ais523: That CLC-INTERCAL method is actually the method I wanted too
04:10:49 <Oren> yayyy packets are actually going through!!
04:11:16 <Oren> imagine that, I wrote a program that works
04:11:55 <newsham> what lang?
04:12:26 <Oren> C
04:12:32 <newsham> well.. then, duh! ;-)
04:12:49 <newsham> its not like you're trying to make something work in haskell or lisp!
04:13:10 <Oren> before it was segfaulting on every third packet
04:13:28 <Oren> because the NAT's linked list code was faulty
04:14:29 <newsham> nat shouldnt exist :(
04:14:48 <Oren> Now to debug the goddamn TCP tracking
04:15:05 <Oren> like whyyyy does the router know about TCP whyyyy
04:15:14 <newsham> do you need to track tcp?
04:15:37 <Oren> yes. the translations time out diffrently based on tcp state
04:16:19 <newsham> but cant you just half-ass it? ie. closed, SYN opened, FIN, closed...
04:16:31 <Oren> open idle connections time out in 2. hrs or something, but half-open connections time out in 60 secs
04:16:46 <Oren> or some shit i dunno
04:17:07 <newsham> half-assed impls time out in 60 sec ;-)
04:18:27 * Oren checks how much the stupid tcp is worth in the grade
04:19:05 <Oren> fuuuu it's worth a lot...
04:19:10 <newsham> :)
04:19:34 <newsham> impl the low level packet handling in C, then do the complex tcp state machinery in python.. duh ;-)
04:20:01 <newsham> (dont worry, doing tcp state isnt THAT hard.. i mean, at the level of a programming class project at least)
04:20:03 <Oren> someone in my class did that
04:20:12 <Oren> like exactly that
04:21:06 <newsham> i wonder how they're going to grade it.. its not realistic to do lots of testing on the timeouts and state machine, unless they can run your code in a simulator that steps through time quickly
04:21:48 <newsham> anyway, you should enjoy it while it lasts.. its actuallya pretty cool project
04:21:50 <Oren> I haveno idea. I think they're going to run it real time and have a couple of grad students typing "wget blah@jjhj"
04:22:02 <Oren> and ping and crap
04:22:12 <newsham> for 'wget', a 60-second timeout for everything will just work
04:22:33 <Oren> but the servers are borked to send the data slowly
04:22:57 -!- nys has quit (Quit: quit).
04:23:20 <Oren> I assume they are going to set the tcp timeout to like 5 secs though
04:23:36 <Oren> I am supposed to have a switch to set that
04:24:30 <newsham> ahh
04:28:58 -!- Bike has joined.
04:30:02 <Oren> I think i figured it out will work for most cases
04:30:19 <Oren> make conn half-open when the mapping is established
04:30:37 <Bike> is it usual to refer to piet as mondrian
04:30:40 <Oren> when the mapping is next /used/ make conn full open
04:33:29 <Oren> a dutch painter?
04:33:45 <Bike> also an esolang
04:37:51 <newsham> oren: how about half-open when packet sent out from nat, then full-open when packet receive in from nat?
04:37:58 <newsham> ie. two-way comms confirms full-open
04:38:43 <Oren> yeah that is simpler
04:39:18 <Oren> i'm not required to support conn opened from outside in
04:40:45 <newsham> NATs dont support that.. thats an inverse-NAT
04:40:50 <newsham> a NAT is a diode (kinda)
04:42:10 <Oren> http://xkcd.com/814/
04:45:00 * oerjan suddenly realizes the alt text could be said by either of them
04:49:58 -!- MoALTz_ has joined.
04:51:51 -!- copumpkin has joined.
04:53:05 <ais523> <creator of Java2K> After several years of abstinence I took a particularily rotten night in some rundown hotel in the UK near an almost dead village nobody has ever heard from way up north to write yet another fine programming language.
04:53:26 <ais523> a) I don't remember seeing this language (i®™) on the wiki; b) fear that this might be dangerously near Hexham
04:53:31 -!- MoALTz has quit (Ping timeout: 265 seconds).
04:56:12 <oerjan> clearly hexham
04:57:43 * Dulnes stares into your soul
04:57:48 <ais523> hexham's way up north in the UK, not sure if it counts as an almost dead village though
04:58:12 * oerjan waits for Dulnes to go mad with what he discovers
04:58:47 <oerjan> ais523: i've been assuming only the three elliotts and their families live there hth
04:58:50 <Dulnes> Oh? hiding atrocious secrets again are we oerjan
04:58:50 <oerjan> wait
04:58:54 <oerjan> *and Taneb
04:59:04 <Dulnes> "three"
04:59:20 <Dulnes> What Do you mean by that
04:59:23 <ais523> Dulnes: you don't come from Hexham, do you?
04:59:25 <oerjan> Dulnes: everyone does that. you must not look into many souls.
04:59:37 <Dulnes> Not often
04:59:56 <Dulnes> I hide my secrets under a blanket of guilt
04:59:58 <Oren> I have seen things......
05:00:12 <Dulnes> Then you arent blind?
05:00:24 <elliott> you can go blind, you know
05:00:33 <oerjan> yes. people sometimes do.
05:00:54 <oerjan> like if they peer TOO DEEPLY
05:00:54 <Dulnes> People like to do that alot
05:00:56 <Oren> i haven't gone blind yet but my genetics aren'tgreat for that
05:01:10 <Oren> my dad has started to goblind
05:01:18 <Dulnes> So your genes arent great for blindness?
05:01:19 <Oren> becuase of cataracts
05:01:23 <Dulnes> Ah
05:01:33 <oerjan> Dulnes: why are you suddenly changing topic to people with alot fetishes
05:01:33 <Dulnes> My dad had retinal pigmentosa
05:02:17 <Dulnes> Wat? oerjan when was i talking about fetishes
05:02:53 <oerjan> Dulnes: Taneb sometimes counts as an elliott if you count carefully.
05:02:56 <Dulnes> I thought we were talking about how abstinance makes you commit murder
05:03:27 <Dulnes> So if i count by Tanebs?
05:03:32 <shachaf> `? taneb
05:03:34 <HackEgo> Taneb is not elliott, no matter who you ask. He also isn't a rabbi although he has pretended in the past. He has at least two backup keyboards with dodgy SHIFT KEys, and cube root of five genders. (See also: tanebventions)
05:03:34 <oerjan> Dulnes: you were talking about people who like to do alots hth
05:03:53 <ais523> `? tanebventions
05:03:55 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence.
05:03:56 <Dulnes> Was i?
05:04:35 * shachaf wonders whether to add tanebventions to that list and "Taneb invented them." at the end of the sentence.
05:04:38 <shachaf> probably not
05:04:40 <Dulnes> oerjan: you are dirty
05:06:14 <Dulnes> Bashing your head in with bash
05:06:35 <oerjan> shachaf: incepventions
05:07:05 <Oren> I use zsh
05:07:20 <Oren> or midnight commander
05:07:35 <oerjan> Dulnes: it's irresistible when people misspell "a lot" as often as you do hth
05:07:52 <oerjan> also there totally have to people into alots.
05:07:57 <oerjan> *to be
05:08:08 <ais523> is "alot" actually a real world (which means something completely different)?
05:08:32 <shachaf> @google the alot -hth
05:08:33 <lambdabot> http://hyperboleandahalf.blogspot.com/2010/04/alot-is-better-than-you-at-everything.html
05:08:33 <lambdabot> Title: Hyperbole and a Half: The Alot is Better Than You at Everything
05:09:10 <Oren> midnight commander has the best editor
05:09:20 <ais523> shachaf: I'm afraid to websearch for something when I don't know what sort of page I expect to come up
05:09:25 <ais523> especially when I'm at work
05:09:47 -!- copumpkin has quit (Ping timeout: 264 seconds).
05:10:11 <oerjan> ais523: a good policy with the discussions we've had recently
05:10:12 <shachaf> ais523: i think that link would be ok for most workplaces
05:10:18 <shachaf> except for probably not being related to work
05:10:36 <ais523> shachaf: but you can't tell unless you follow it, at which point it's already too late
05:10:48 <shachaf> which is why i said it
05:11:17 <shachaf> I used to indulge myself in lowercase "i"s as a special occasional thing.
05:11:21 <shachaf> But now I do it all the time.
05:11:33 <shachaf> The line has been blurred.
05:11:35 <oerjan> ais523: i refuse to believe you haven't seen that before, anyway
05:11:46 <ais523> oerjan: this is /me/ you're talking about
05:11:58 <oerjan> hm....
05:13:06 <HackEgo> [wiki] [[User:Orenwatson]] M http://esolangs.org/w/index.php?diff=41257&oldid=41127 * Orenwatson * (+34)
05:13:09 <oerjan> blurring the Line one letter at A time
05:15:04 <shachaf> should i submit my 49 solution to different letters parity?
05:15:12 <shachaf> probably not, i had too much help
05:15:31 <shachaf> even though i think most of that help involved a trick that i came up with
05:15:33 <shachaf> oh well
05:16:03 <ais523> hmm, whatever happened to that progressively-ban-ASCII-characters thing that Lymia was working on?
05:16:41 <oerjan> shachaf: well i submitted mine even if i had spoilers too
05:17:08 <oerjan> ais523: well have YOU seen Lymia speaking recently?
05:17:35 <ais523> oerjan: no, but there are plenty of people I haven't seen speaking recently
05:17:38 <oerjan> clearly e got them all banned
05:17:42 <Dulnes> How do i mispell alot?
05:17:54 * oerjan swats Dulnes -----###
05:18:02 * Dulnes dodges
05:18:09 <oerjan> TOO LATE
05:18:11 <shachaf> oerjan: you know, that isn't really fair
05:18:19 <Dulnes> :T
05:18:20 <shachaf> i have to work hard to get swatted
05:18:37 <oerjan> shachaf: since when is the swatter fair? also your problem is you work _too_ hard hth
05:18:43 <Dulnes> oerjan: seriously i have no idea what you mean
05:18:59 <shachaf> wait is the swatter you or that ascii art thing
05:19:08 * Dulnes paps oerjan on the face
05:19:14 <oerjan> Dulnes: i _might_ have believed you if you hadn't misspelled "misspell"
05:19:26 <shachaf> maybe i'll just go build factories and trains
05:19:50 <Dulnes> ...
05:19:56 * Dulnes kills self
05:20:07 <Oren> in simcity?
05:20:13 -!- AndoDaan has joined.
05:20:20 <ais523> oerjan: I didn't even notice the misspelling of misspell the first time round
05:20:22 <shachaf> in factorio
05:20:23 <Dulnes> oerjan: i see it now ive been doing it wrong the whole time
05:20:37 <AndoDaan> hola
05:20:47 <Dulnes> Welcome
05:21:01 <Oren> there should be a 2d esolang where the instructions aren't text chars
05:21:12 <Dulnes> Thanks for pointing that out oerjan.
05:21:18 <Oren> but rather objects represented by sprites
05:21:29 <Dulnes> Also i spelt alot correctly
05:21:35 <ais523> oh well, there is a Malbolge entry: http://codegolf.stackexchange.com/questions/40562/asciis-95-characters-95-movie-quotes/41341#41341
05:21:39 <ais523> not sure if that was by Lymia or not
05:21:40 <AndoDaan> animated sprites?
05:21:44 <Oren> yah
05:21:50 <Lymia> Not me.
05:21:58 <Lymia> I failed to get the Malborge working
05:21:59 <AndoDaan> so you can watch your program running?
05:22:29 <Oren> exactly. the program counter would be represented by a thing on the screen and interact
05:23:00 <Oren> mabe a robot with wheels or something
05:23:20 <Dulnes> ais523: that seems pretty concrete
05:23:21 <AndoDaan> I love the visable languages. First esoteric was befunge. Can hardly program in brainfuck when it's not visual.
05:23:48 <ais523> AndoDaan: have you seen PaintFuck?
05:23:56 <ais523> it's one of the few BF derivatives that this channel doesn't hate
05:24:22 <Oren> you could probly make a visual ide for befunge like that
05:24:24 <AndoDaan> only in passing. I'll check it now.
05:24:26 <Dulnes> Paintfuck?
05:25:10 <ais523> not sure of the capitalization of the 'f'
05:25:21 <AndoDaan> oren: i've been using wasabi.jar for all my bf93 programming.
05:25:46 <AndoDaan> there are more flashy ide's out there, but that was is the best i think.
05:26:14 <Dulnes> F*
05:26:16 <Dulnes> Happy
05:26:20 <Dulnes> :-:
05:27:10 <AndoDaan> (btw ide makers out there, including me, would it kill us to but the character command list on a special visual keyboard?)
05:27:30 <AndoDaan> (would be usefull for just point and click programming)
05:27:42 <AndoDaan> okay, ando, god you're so pushy.
05:29:03 <Oren> oДO
05:29:21 <Oren> α
05:29:32 <Oren> oh cool I can write greek letters
05:29:41 <Oren> γ
05:29:59 <Dulnes> Having fun?
05:30:27 <AndoDaan> ha, trying it out on http://www.formauri.es/personal/pgimeno/temp/esoteric/paintfuck/paintfuck.php looks cool
05:30:31 <Oren> RFC 1345 keyboard thing
05:30:41 <int-e> pixels are such a brilliant invention :)
05:30:41 <Dulnes> Indeed
05:30:42 <Oren> i intalled it
05:30:53 <Dulnes> Agreed
05:31:07 <Dulnes> Back to making musics
05:31:55 <Oren> Åæ
05:33:08 <Oren> I made a music synthesis language at some point a long time ago
05:33:48 <AndoDaan> oh, and Oren, thanks for fixing my 0-9 is 10 mistake in MNNBFSL.
05:34:07 <oerjan> i think you are trolling me with all your misspellings now hth
05:34:55 <Oren> ill dig it up later tonight
05:35:24 <int-e> oerjan: In my dreams, I'm perfect. Then I wake up adn...
05:35:55 <Dulnes> I swear to god oerjan
05:36:11 <oerjan> Dulnes: not just you
05:36:30 <Oren> is ill a mispelling?
05:36:31 <oerjan> three different people, and then int-e
05:36:34 <Dulnes> Some people cant English right ;-; also
05:36:42 <Oren> ill as in 'awll'
05:36:42 <oerjan> Oren: yes, but you had one before
05:37:04 <Dulnes> Lets just misspell words
05:37:06 <oerjan> "intalled"
05:37:16 <Dulnes> Typing faster?
05:37:21 <Dulnes> Fast*
05:37:29 <Oren> I put #define retrun return
05:37:45 <oerjan> redrum
05:37:55 <Dulnes> granny no
05:37:57 <Oren> and #define esle else
05:38:26 <Oren> at the top of many of my source files
05:39:15 <Oren> and #define adn &&
05:39:48 <oerjan> Oren: but _not_ #define and && ?
05:40:06 <Oren> that is in a standard header ifg which one
05:40:16 <oerjan> huh
05:40:45 <Dulnes> Whenever someone makes a spelling error my brain auto corrects it for my eyes
05:40:47 <Oren> actually one i use a lot which isn't a mispelling is #define ei else if
05:40:51 <Dulnes> Try that oerjan
05:41:57 <elliott> Oren: arthur whitney, is that you?
05:42:11 <Oren> nope Oren Watson is my real name
05:42:25 <Dulnes> Fancy
05:42:34 <elliott> http://www.jsoftware.com/jwiki/Essays/Incunabulum you sure?
05:43:51 <Oren> that is interesting... #define R return would solve the retrun problem
05:44:09 <Bike> "programming style", it says
05:45:05 <Oren> the retrun problem is a severe problem with typing C fast
05:45:17 -!- kline has quit (Ping timeout: 265 seconds).
05:48:33 -!- nooga has joined.
05:48:44 <Oren> does the programming style of the original bourne shell count as an esolang?
05:49:18 <int-e> was that the #define BEGIN { one?
05:49:26 <Oren> yeah
05:51:25 <int-e> It's an interesting problem to make formal why it should not be its own esolang. It's isomorphic to C, but with clever "isomorphisms" that criterion extends to a lot of other languages.
05:51:36 <oerjan> <ORen> any decent language can be parsed with no backtracking and no lookahead <-- LR(0)? that sounds rather restrictive
05:51:52 <int-e> unlambda?
05:51:59 <oerjan> although i think at least lisp, bf and unlambda work
05:52:09 <Oren> forth, scrip7
05:53:17 <Oren> uhh.... I think many other esolangs fit the criterion
05:53:27 -!- nooga has quit (Ping timeout: 265 seconds).
05:53:31 <oerjan> but not that many other non-esolangs...
05:53:55 <Oren> right, but that's because they are all algol dialects
05:54:07 <oerjan> haskell isn't >:)
05:54:09 <int-e> I lack some intuition here, what are the sources of not being LR(0)? What about Pascal?
05:54:10 <Oren> stupid algol and its precedence
05:54:33 <oerjan> int-e: operator precedence does tend to do that
05:54:36 <Oren> precedence rules generally require LR(1)
05:54:41 <Oren> at least
05:55:22 <Oren> if they did it like a 4-function calculator instead it would be so much easier
05:55:47 <Oren> x = 2 + 3 * 4; print x;
05:55:59 <Oren> answer should be 20
05:56:21 <Oren> not 14
05:56:33 <int-e> Right, thanks. You can do the Haskell thing and parse it as (2+3)*4 and adjust for precedences later, but it's cheating.
05:57:09 <Bike> just do like smalltalk and not have precedence. what are we talking about
05:57:44 <oerjan> int-e: things like [x,y,z] vs. [x|y<-z] also have trouble, i think, because the x is ended by two different characters that need to be separated. or wait...
05:57:45 <Oren> we're talking about my bold statement that all languages should be parsable with LR(0)
05:58:04 <Bike> well, better than that one guy who said all compilers should be one-pass
05:58:21 <int-e> Oren: well, "natural" expression parsing means I'll disagree.
05:58:42 <Oren> 4 function calculator
05:58:51 <int-e> Oren: we spent a year in school to get our brains do it, it would be a pity to unlearn it just because compilers can't.
05:58:51 <oerjan> i guess you _could_ handle that
05:59:31 <Oren> LR(0) would be better for math too.
05:59:44 <int-e> yes and no
05:59:59 <shachaf> precedence is great
06:00:00 <Oren> if i ever publish a math paper all the algebra will be in RPN
06:00:00 <int-e> you'd make old texts inaccessible once you go that route, with little gain.
06:00:12 <shachaf> dnf is the future
06:00:57 <shachaf> Oren: use nothing but commutative diagrams to avoid the issue hth
06:01:06 <int-e> Oren: I think you'd run into some trouble getting it accepted for publication. (If that's what you're after. Anybody can put something on their website of course.)
06:01:11 <oerjan> Oren: in other words, you'll never publish in a real journal...
06:01:13 <shachaf> also your name is the same as my father's name
06:01:25 <shachaf> but i assume that you are not him
06:01:35 <Oren> is your father last name Watson?
06:01:45 <shachaf> no
06:01:58 <int-e> And it's actually a bit funny that I'm arguing against this because I see people writing a+b/c+d on IRC all the time, when they mean (a+b)/(c+d).
06:02:05 <shachaf> i think he used to be oren on freenode long ago
06:02:06 <int-e> (because they've been taught fractions)
06:02:24 <shachaf> but maybe he stopped when you took it
06:02:30 <Oren> besides im 21
06:02:43 <int-e> oerjan: yay, for once I was faster than you!
06:02:49 * int-e marks the day in the calendar.
06:02:54 <int-e> In red. With glitters.
06:03:05 <shachaf> fractions are great
06:03:10 <shachaf> 2d syntax
06:03:10 <oerjan> int-e: sadly there's no precedence that will work / work as a fraction line without parentheses
06:03:20 <shachaf> we need a dimension for every operator
06:03:27 <Bike> https://pbs.twimg.com/media/B3Zm7qFCcAAwGi3.jpg:large Fractions
06:03:43 <int-e> shachaf: indeed they are, since people are extremely good at 2D image processing.
06:03:55 <shachaf> oerjan: i tried to read that as a clever pun but i think you just meant "make"
06:07:51 <shachaf> nested fractions are a bit of a scow
06:08:08 <shachaf> you gotta keep making the lines shorter
06:09:00 <Oren> LaTeX helps but RPN would eliminate the problem
06:09:14 <Bike> http://upload.wikimedia.org/math/0/b/d/0bdd6464c4d881bbdd54f52229a586cf.png hm
06:09:22 <Bike> starting to understand what "scow" means
06:12:35 <oerjan> shachaf: i think my brain is angry at me, or something
06:14:57 <oerjan> shachaf: also i tried to look up the meaning of your surname to see if it could possibly have been translated from "watson" at some point but wikipedia is unhelpful and google seems to think it means "son of poo" tdnh
06:15:37 <Oren> lolwut?
06:15:44 <Oren> lolwut.jpeg
06:18:36 <oerjan> hm maybe try a babe name site
06:18:41 <oerjan> *baby
06:18:54 <oerjan> yep, my brain clearly hates me, or maybe fingers
06:19:19 <Oren> if it helps it is still unclear to me whether my name is supposed to be spelled orin or not
06:19:49 <AndoDaan> oerjan, can't tell if you are trying to troll yourself... :p
06:19:51 <oerjan> oren _is_ a biblical name, i looked it up the other day
06:19:52 <Oren> wait... how could that possibly help?
06:20:22 <oerjan> (just after you arrived and i remembered it was the name of shachaf's father or something)
06:20:35 <Oren> i see, well a lot of my cousins names are in the bible too.
06:20:55 <Oren> I ahve all the apostles as cousins
06:21:07 <Oren> and a lot of angels too
06:21:20 <Oren> well except judas
06:21:24 <Oren> obviously
06:22:14 <Oren> part of my family are very religious christians, my branch are all atheists
06:22:24 <oerjan> fancy
06:22:52 <Oren> the two branches get along very well
06:23:36 <Oren> which might be surprising
06:23:46 <Oren> considering the furor on the internet
06:23:57 <shachaf> Oren: whoa
06:24:01 <oerjan> AndoDaan: maybe i'm trolling my evil brain dth
06:24:19 <shachaf> i vaguely assumed you were from israel since i didn't know that name was used anywhere else
06:24:22 <AndoDaan> i know, and now use hth, but dth?
06:24:35 <oerjan> "does that help"
06:24:40 <AndoDaan> argh
06:24:55 <oerjan> i'm not sure i've used it before
06:25:01 <Oren> yeah my aunt wishes she lived in israel
06:25:03 <oerjan> has ANYONE
06:25:16 <AndoDaan> what???? don't make up language on the fly!
06:25:23 <shachaf> oerjan: i don't think your translation of my surname is correct hth
06:25:34 <oerjan> shachaf: i sort of figured hth
06:25:45 <shachaf> huh?
06:25:47 <shachaf> how would that help
06:25:58 <shachaf> are you just putting hth at the end of every sentence
06:26:24 <oerjan> shachaf: problem is it seems the actual first-name root is nowhere to be found, _and_ is used as a name in a _lot_ of languages (including norwegian)
06:26:29 <AndoDaan> if not, then definitely .th hth
06:26:45 <shachaf> oerjan: wait, what is?
06:26:49 <oerjan> shachaf: kiki
06:26:49 <Oren> orin oren
06:26:58 <shachaf> oh
06:27:02 <Oren> is also a japanese name
06:27:07 <shachaf> let's not talk about my name
06:27:15 <shachaf> Oren: "oren" means "pine" in hebrew hth
06:27:50 <Oren> ah. my aunt also wishes she spoke hebrew
06:27:52 <shachaf> https://en.wikipedia.org/wiki/Suillus_granulatus is called an "orniya"
06:28:12 <Oren> she knows biblical greek but not hebrew
06:28:20 <ais523> hmm, this paper about predicting LCRNGs from high-order bits looks promising
06:28:27 <ais523> however, it consistently spells "modulus" as "modulas"
06:28:38 <ais523> also, it seems to need more than one bit
06:28:38 <Oren> Modula-2
06:30:17 <MDude> Journals don't have anything to do with publishing, they're books you keep next to your bed to write it.
06:30:43 <MDude> Not only did I make a dumb joke where I pretended not to know a meaning fo a word, I was scrolled up.
06:30:58 <oerjan> <AndoDaan> what???? don't make up language on the fly! <-- how do you think words are made? (probably related to politics and sausages)
06:30:58 <Oren> scrolled up?
06:31:00 <MDude> *of
06:31:23 <MDude> On the chat client.
06:31:27 <Oren> ah
06:31:51 <MDude> When I scroll up a little, it stays at the spot as new messages come in.
06:32:03 <MDude> And then I come back and respond to something from hours ago.
06:32:12 <oerjan> MDude: you and me dude
06:32:16 <AndoDaan> oerjan, ha. Actually I share the same sentiment. I even defend semantic drift. Literally.
06:34:16 <ais523> AndoDaan: which meaning of "literally" is this? :-)
06:35:16 <oerjan> all of them hth
06:35:18 <Oren> howboudis? dyuu sport dis usij
06:35:44 <oerjan> he said _semantic_ not typographic hth
06:35:56 <Oren> that is how i talk out loud when im lazy
06:36:18 <AndoDaan> ais523, the meaning is always context. hth
06:36:34 <oerjan> oh that's phonylogy. very sported.
06:36:39 <AndoDaan> wow, hth is pretty diverse.
06:37:42 <Oren> also what about saying fiddy and sitty and niney?
06:37:48 <AndoDaan> hth can mean "hope that helps", "hope that didn't help at all" and anything in between.
06:38:02 <Oren> instead of fifty sixty and niney
06:38:06 <Oren> *ninety
06:38:10 <oerjan> Oren: that sounds about too fiddy
06:38:26 <oerjan> wait
06:38:28 <oerjan> *tree
06:38:49 <Oren> i say three not tree
06:38:52 <AndoDaan> there is as much structure and grammer to, I forget the proper name, urban language as there is to the queen's english.
06:39:15 <oerjan> Oren: well you're not a scottish monster, i assume.
06:39:33 <Oren> im from downtown toronto
06:40:25 <AndoDaan> that increases your odds of being the lochness monster. cuz he sure ain't in lochness.
06:40:36 <Oren> i have some scottish ancestry but what with being half ukrainian and a quarter french
06:41:02 * oerjan was in the CN tower once. i think it was still the world's tallest free-standing structure at the time.
06:42:18 <oerjan> also glass floors are evil hth
06:42:19 <Dulnes> Queens English?
06:42:33 <Dulnes> You mean The kings English
06:42:33 <AndoDaan> aren't radio masts those?
06:42:40 <Oren> Queen of England, Canada Australia and some other countries
06:42:47 <HackEgo> [wiki] [[Wang program]] http://esolangs.org/w/index.php?diff=41258&oldid=8053 * Zzo38 * (+104) Wang B
06:42:49 <Dulnes> Glass floors are awful
06:42:54 <Oren> all of which speak english
06:42:58 <oerjan> Dulnes: oh dear did Elizabeth die today too?
06:43:11 <AndoDaan> pah, one movie comes out, and everyone thinks england has a queen.
06:43:19 <elliott> oerjan: ok who died.
06:43:25 <Dulnes> She is the queen
06:43:33 <oerjan> elliott: Dulnes says bill gates died hth
06:43:53 <Dulnes> But The royal family has no say in Political matters anymore i think
06:44:00 <Dulnes> Isnt it there for show?
06:44:20 <Oren> she has more powers in emergency
06:44:25 <Oren> or something
06:44:30 <AndoDaan> wait, the rule of getting a telegram for birthing 7 daughters change when there is a king?
06:44:31 <elliott> the monarchy has more power than it should.
06:44:34 <oerjan> Dulnes: the english change terminology between queen and king whenever the monarch's gender does, right up to the lyrics of the national anthem.
06:44:36 <Dulnes> I remember
06:44:44 <elliott> c.f. the NHS funds homeopathy
06:44:53 <Dulnes> The queen cannot get in trouble
06:45:02 <Dulnes> She could commit mass murder
06:45:16 <Dulnes> And be removed from the throne
06:45:16 <AndoDaan> it's annoying for the use of "the queen is dead, long live the king."
06:45:22 <Dulnes> But not put in prison
06:45:34 <AndoDaan> it took me a while to figure out the sentiment when the gender was the same.
06:45:48 <Dulnes> No one has a king
06:46:01 <Dulnes> Have you heard of all those henry's
06:46:20 <Dulnes> The murderous trecherous henry's
06:46:30 <AndoDaan> wait, you mean there was a 1 to 5 before 6?
06:46:43 <Oren> henry the eightth
06:46:48 <AndoDaan> dammit
06:46:57 <Oren> VIII
06:47:06 <AndoDaan> 8 henry's and 6 wives. i mix those two up.
06:47:27 <Oren> my grandma had two husbands
06:47:30 <Dulnes> Who was the queen that brought England into the golden age
06:47:41 <Oren> Victoria
06:47:45 <Dulnes> Yeh
06:47:47 <AndoDaan> elizabith the first.
06:47:51 <Dulnes> Idfk
06:47:52 <AndoDaan> dammit.
06:48:12 <AndoDaan> golden age or reason you mean, right?
06:48:23 <Dulnes> Golden age as in
06:48:26 <Oren> Victoria oversaw the industrial revolution and the enlightenment
06:48:34 <AndoDaan> not industrialization and grimey london.
06:48:37 <Dulnes> The government and the people had alot of wealth
06:48:40 <Oren> and ruled india
06:48:53 <Dulnes> Wait
06:48:59 <Dulnes> Wasnt that later on
06:49:08 <Dulnes> Im talking about 1700
06:49:20 <AndoDaan> he is. and i'm still wrong.
06:49:27 <elliott> Dulnes: I suspect the queen would be locked up if she committed mass murder.
06:49:35 <elliott> even if it needed lawyering to find a justification for it.
06:49:46 <elliott> (what's to stop you removing her from the throne and *then* charging her?)
06:49:56 <Oren> victoria was about 1825 to 1875 or something
06:49:58 <Bike> it's legally impossible to charge the queen with things so... yeah that works.
06:50:08 <Bike> well it was back then anywho.
06:50:27 <Dulnes> Still in effect i think
06:50:37 <Oren> nope, she was from 1837 until 1901
06:50:46 <Bike> There are some exceptions now.
06:51:01 <Dulnes> Like if the queen came to your house and while you are busy being honoured she stole your shit
06:51:08 <Dulnes> She wouldnt be tried
06:51:10 <Oren> empress of india starting in 1876
06:51:16 <Dulnes> Or
06:51:26 <Dulnes> Idfk how to spell at knight
06:51:26 <AndoDaan> how would she steal anything? she doesn't even carry a purse.
06:51:30 <Dulnes> Night*
06:51:37 <Dulnes> Granny panties
06:51:42 <AndoDaan> god...
06:51:56 <AndoDaan> you can't call them that when she's wearing them
06:52:08 <AndoDaan> The Queen's Whites.
06:52:11 <Dulnes> She has a corgy
06:52:14 <Oren> iin the 1700's it was george the second
06:52:18 <Dulnes> Its actually a robot
06:52:49 <oerjan> a robot with a sizeable hidden compartment?
06:52:55 <Dulnes> While she's talking to you her robot dog is busy knicking your stuff
06:53:13 <Dulnes> Like jewelry
06:53:17 <Dulnes> And what not
06:53:41 <Dulnes> I still hate England
06:53:48 <oerjan> i think she has enough jewelry hth
06:53:53 <zzo38> Doesn't the queen have enough jewelry already? Why would they need to steal any?
06:54:05 <Oren> ive been to london and oxford it was terrible rained all the time
06:54:05 * int-e idly wonders how many millenia Dulnes has already lived
06:54:15 <int-e> eh
06:54:16 <Dulnes> She's a dragon
06:54:18 <int-e> millennia
06:54:32 <Dulnes> She always needs more
06:54:48 * oerjan wonders what Dulnes is on
06:54:48 <zzo38> If she is a dragon then she is too small and stuff like that
06:54:57 <Dulnes> Magic
06:55:19 <int-e> zzo38: dragons come in all sizes and shapes
06:56:02 <oerjan> spontaneous combustion is mainly due to tiny dragons accidentally flying into noses hth
06:56:03 <Dulnes> Well it makes sense i mean way back when British people ran around with staffs saying that Merlin was a wizard and stuff and that there were dragons to be slain
06:56:10 <int-e> (I really prefer the chinese ones to the boring european wyrms)
06:56:12 <Dulnes> It was actually the queen
06:56:53 <Dulnes> Well nvm Ireland was on drugs at the same time as that
06:57:02 <Oren> suggest parentheses around assignmnet used as truth value
06:57:24 <Oren> why doesn't it just say "this isn't BASIC you retard"
06:57:29 <int-e> another difference is, they generally consider it lucky to have a dragon under your roof :P
06:57:44 <Dulnes> Also the dragon swallows the sun
06:57:52 <oerjan> Oren: discrimination against people too young to know basic hth
06:58:10 <int-e> VBA...
06:58:19 <zzo38> Oren: It is because you may have actually meant assignment there, and BASIC doesn't do that
06:58:26 <Dulnes> Visual game boy advanced
06:58:38 <int-e> the more BASIC ought to die the stronger it lives on
06:58:39 <Dulnes> Has a sewing machine port
06:58:45 <Oren> i never mean assignement inside an if statemtn
06:59:01 <zzo38> Oren: You don't? Well, I sometimes do.
06:59:17 <Oren> gah why
06:59:27 <Oren> that is so confusing
06:59:42 <Bike> werne't you talking about #define retrun return earlier
06:59:57 <Dulnes> http://m.slashdot.org/story/14134
07:00:21 <Dulnes> Ive had to much coffee i think i should try and sleep
07:00:32 <Dulnes> Too*
07:00:44 <Dulnes> or whatever
07:00:45 <Oren> retrun isn't confusing
07:00:50 <oerjan> Dulnes: that sounds... backwards.
07:00:55 <Oren> its clear what it means
07:00:59 -!- shikhin has joined.
07:01:14 <zzo38> It is not confusing to me. It is confusing to BASIC programmers, although I do program in BASIC as well as in C. Therefore I argue with myself.
07:01:16 <Oren> = and == menaing different things is screwed up
07:01:17 <Dulnes> How does one display sound through text
07:01:35 <zzo38> Oren: I do not agree with that.
07:01:50 <zzo38> I think it should be one operator for assignment and one for check if it is equal.
07:01:55 <Oren> they should be separate symbols that don't look the same
07:02:03 <Oren> like <-
07:02:08 <Oren> for assignemtn
07:02:38 <zzo38> Yes, other programming language could instead define <- for assignment (INTERCAL does this, although INTERCAL has no equality test operator)
07:02:43 <Oren> or ~~ for compare
07:02:52 <Dulnes> ¢_¢
07:03:06 <int-e> Oren: ouch.
07:03:08 <ais523> zzo38: <- isn't exactly an assignment
07:03:20 <ais523> int-e: Perl 6 uses ~~ for generic compare
07:03:27 <zzo38> ais523: Well, yes it is a bit different
07:03:35 <zzo38> I know that
07:03:46 <int-e> ais523: and it's still ugly in the X11 fixed font.
07:04:27 <Oren> maybe := for assignment is visually distinct enough
07:04:36 <int-e> I was happy with := and = in Pascal; I'm happy with = and == in C.
07:04:48 <zzo38> Oren: Yes, that works too
07:04:50 <Oren> == is not visually distinct
07:04:58 <int-e> it is, there's a gap in the middle
07:04:58 <zzo38> Some programming languages use := and ==
07:05:15 <ais523> Verity uses := and ==
07:05:21 <Oren> those are very distinct good
07:05:24 <ais523> someone tried to use = to compare and got a parse error and it took me ages to spot it
07:06:02 <ais523> (= has the normal Haskell/Algol meaning of being used to define the value of a nonassignable variable, as in "let x = 4 in x")
07:06:15 <int-e> Oren: ok, what about -i and --i
07:06:23 <Oren> i hate those too
07:06:28 <zzo38> O, so it is like in Haskell.
07:06:37 <Oren> i always do i = i - 1
07:06:39 <zzo38> It means to make a definition
07:06:45 <ais523> zzo38: yes
07:06:45 <elliott> not even i -= 1? c'mon
07:06:47 <Oren> or i--
07:06:50 <ais523> Verity's an Algol derivative
07:07:00 <zzo38> I don't know much of Algol.
07:07:02 <Oren> never on the right side of i
07:07:06 <ais523> which also used the same convention (Haskell probably borrowed the syntax from there)
07:07:14 <elliott> Oren: btw, i-- and --i are not the same
07:07:28 <int-e> elliott: They are, as statements, with any modern compiler.
07:07:31 <Oren> i know that is screwed up too
07:07:31 <ais523> zzo38: Algol's interesting (and better than most modern languages) in that when defining a variable, you basically create a constant memory location instead
07:07:34 <elliott> as statements, yeah.
07:07:45 <elliott> ais523: I'm not sure Haskell has much syntactic Algol influence...
07:07:48 <elliott> maybe indirectly
07:07:52 <int-e> elliott: in which case, I prefer i-- as well.
07:07:59 <elliott> int-e: agreed
07:08:00 <ais523> if you want an assignable location x, you do something like "ref int x = heap int" (can't remember the actual syntax)
07:08:17 <ais523> which in C, would be "int const* x = malloc(sizeof(int))" (except garbage-collected)
07:08:28 <zzo38> O, OK I understand it
07:09:33 <int-e> m.slashdot.org is soo helpful. ""
07:09:33 <int-e> It looks like your browser doesn't support JavaScript or it is disabled. Please use the desktop site instead.
07:09:46 <int-e> eek, newlines. I hate it when firefox does that.
07:10:00 <int-e> anyway, instead of giving me a link to the story, they gave me a link to the frontpage. sigh.
07:10:09 <Oren> i hate it when they do that
07:10:16 <ais523> int-e: is this beta or the oldish version?
07:10:31 <int-e> ais523: the browser?
07:10:39 <zzo38> Well, in BLISS names of variables are treated as constants; also in Forth you can define a word having whatever meaning you like such as a constant that points to a newly allocated memory address to store its value, which is one way to create variables in Forth. It is a bit different from what you wrote though
07:10:39 <ais523> int-e: no, Slashdot
07:10:54 <ais523> it wouldn't surprise me at all if it were beta, that thing sucks
07:11:04 <ais523> there was a movement to boycott Slashdot for a week over it
07:11:15 <int-e> It was the http://m.slashdot.org/story/14134 link from above. I can't tell.
07:11:16 <Oren> Forth is a great languge and underused
07:11:31 <ais523> I joined in, then found myself not really going back to Slashdot afterwards, and if there are substantially more people like me, then it'll have caused a noticeable drop in traffic
07:11:32 <Oren> it is LR(0) too
07:11:43 <ais523> Forth doesn't even have a parser, really
07:11:46 <zzo38> Forth doesn't even need parsing
07:11:50 <Oren> eaxtly
07:12:10 <Oren> the best parser is no parser
07:12:22 <zzo38> You only need to, in normal circumstances, to find a space and everything up to that point is the word you have read, and then look it up in the dictionary to make its meaning.
07:12:33 <zzo38> And then it is executed and you continue on the next one.
07:12:44 <Oren> that is besically a lexer
07:12:47 <int-e> (the browser mishap comes from my habit of selecting lines by triple-clicking. Terminals include a final newline, which I can deal with. But firefox often includes an initial newline as well... no clue why.)
07:12:50 <Oren> you use strtok
07:13:49 <zzo38> It is really simple really! It can even then be used to parse the input more itself before returning to the main execution sequence of reading more words in the normal way, so you can have it to parse more complicated things too if you want it to do so.
07:14:39 <zzo38> (For example, \ can skip until a line break before continuing as normal.)
07:16:20 <zzo38> Some Forth systems make it so that if in compiler mode and you find a word and there is a word defined which is the same but ` at the end then that word's definition is executed. Others work differently.
07:17:11 <Oren> forth is underused
07:17:35 <Oren> because of algol supremacists
07:17:49 <Oren> who want everything to be algol
07:18:25 <Oren> but i say programmers do not have to be mathematicians and use a mathlike syntax
07:18:54 <ais523> Forth is hard to optimize
07:19:41 <Oren> it's easier on processors with a stack-based paradigm at the hardware level
07:19:43 <zzo38> ais523: Well, it is possible to optimize if you compile into a "interpretive bytecode" and then once the program finishes executing, compile it into final code which is different.
07:20:07 <ais523> I think of Forth more of an implementation technique than a language
07:20:20 <zzo38> And yes it still is easier when compiled to codes for processors with stack-based.
07:21:43 <zzo38> Note this "interpretive bytecode" I am talking about may include instructions which aren't a part of the target instruction set; therefore any definitions that use them cannot be compiled into the target code; this can be decided by seeing that when MAIN is executed it will never be reached and can therefore be optimized out and not result in a compiler error.
07:22:21 <zzo38> In some Forth system I have implemented once, the words IF ELSE THEN are defined as follows: : IF` 0=GOTO` HERE 0 , ; : THEN` HERE SWAP ! ; : ELSE` GOTO` HERE 0 , SWAP THEN` ;
07:27:50 <ais523> "A 3 bit boolean variables. If bit 0 is set, the value is False. If bit 1 is set, the value is True. If bit 2 is set, the value is 14."
07:27:56 <ais523> we need an article about this
07:28:19 <Oren> lolwut.jpeg
07:28:25 <int-e> FILE_NOT_FOUND
07:29:13 <Oren> nullable booleans are common in mysql
07:29:20 <Oren> and other sqls
07:29:25 <int-e> oh, I got it wrong, it was an enum. enum Bool { True, False, FileNotFound }.
07:29:38 <ais523> Oren: a nullable boolean would be two bits, though
07:29:48 <ais523> http://p-nand-q.com/programming/languages/i/index.html
07:29:55 <ais523> int-e: I think the original was #defines, and FILE_NOT_FOUND
07:30:02 <Oren> depends on implementation
07:30:47 <int-e> speaking of redesigns, wtf did they do to the thedailywtf layout ...
07:30:59 <Oren> i konw....whyyyyyyy
07:31:05 <Oren> s/konw/know
07:31:31 <ais523> int-e: see the bottom post currently on the front page
07:31:35 <ais523> it has a horizontal scrollbar
07:31:37 <ais523> try scrolling it
07:31:44 <ais523> (I can't)
07:32:07 <int-e> yes, I don't understand what's wrong with using all of the browser's window width ...
07:32:18 <int-e> windows can be resized :-/
07:32:23 <Oren> fail
07:32:26 <zzo38> I use SQLite myself; it has null too; it doesn't actually have a boolean type because integer type is used instead (if you request a boolean type it interprets it as integer), although you can still use nullable booleans.
07:32:56 <int-e> ais523: oh. brilliant, yes, the whole box is a link.
07:33:16 <int-e> at least the site name is approrpiate. wtf indeed.
07:33:20 <ais523> for some reason, my horizontal mouse wheel doesn't work either
07:35:06 <zzo38> select null and null,null or null,null and 1,null and 0,null or 1,null or 0; -- The result will be NULL|NULL|NULL|0|1|NULL
07:35:20 <zzo38> (At least in SQLite this is the case.)
07:36:26 <Oren> SQL and PHP are both lacking in trivalued logic operators
07:37:18 <int-e> good comment. "The new design looks ugly. Why do people these days redesign their sites to have low information density, large fonts and large grayish blocks and no other detail, just to appeal to the tablet/"modern UI" fad?"
07:37:25 -!- nooga has joined.
07:37:44 <zzo38> Oren: What kind of trivalued logic operators?
07:38:37 <int-e> So apparently all this happened in July, have I really not visited that site in all that time?
07:39:01 <Oren> ones that preserve nullity or test explicitly for false but not null, etc
07:39:25 <zzo38> Oren: SQLite has a IS operator
07:39:43 <Oren> often in these languages the presence of null causes issues unexpectedly
07:40:04 <Oren> becasue the semantics of null are not consistent
07:40:34 <Oren> why is 0 or null null but 1 or null 1
07:41:25 <zzo38> Because "1 or null" means you know it is true; "0 or null" means you don't know.
07:41:43 <zzo38> Because there is no data, so there can be no result.
07:41:50 -!- nooga has quit (Ping timeout: 252 seconds).
07:41:54 <Sgeo> The SL speed limit might be significantly lower than I thought
07:42:21 <Oren> second life?
07:42:28 <Oren> or what?
07:42:38 <Sgeo> Yes, Second Life
07:46:28 <dts> i should play second life
07:46:34 <dts> but meh
07:47:38 -!- AndoDaan has quit (Read error: Connection reset by peer).
07:48:48 -!- AndoDaan has joined.
07:49:02 <MDude> I've been messing around with OpenSim just now.
07:49:12 <dts> whats that?
07:49:19 <MDude> Guess I could try out Second Life again.
07:50:12 <MDude> OpenSim is a free/open Virtual World server made to be compatible with Second Life viewers.
07:50:31 <dts> link?
07:50:34 <MDude> So people can use it to host their own servers.
07:50:57 <MDude> You'll never guess.
07:50:58 <MDude> http://opensimulator.org/
07:51:16 <dts> why would they have a completely unrelated url?
07:51:26 <dts> does it work on ubuntu?
07:51:39 <MDude> open sim = open simulator
07:52:01 <MDude> I dunno, I would think so.
07:52:14 <dts> and yeah, i was kidding
07:52:17 <MDude> It's got a penguin link, that probably means it works with most of the distros.
07:52:32 <MDude> Ah, I see.
07:53:34 <MDude> I think I am the jokester and am outplayed.
08:08:30 -!- int-e has set topic: The international hub for esoteric programming language discussion, development and deployment | Beware of ricocheting jokes | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
08:16:06 -!- AndoDaan_ has joined.
08:16:54 <J_Arcane> I did not realize or expect that there were so many fans of the Space Cadet keyboard.
08:18:02 <Bike> it's like, i really need half a dozen mod keys to express myself fully, man,
08:18:14 -!- AndoDaan has quit (Ping timeout: 272 seconds).
08:23:16 <oerjan> it's because they're really MOOD keys
08:23:40 * oerjan looks at topic and ducks
08:24:05 <Oren> new rule
08:24:23 <oerjan> what?
08:24:30 <Oren> whenever i have to use parentheses because of C's sucky grammar
08:24:41 <shachaf> oerjan: what are the ducks doing
08:24:48 <Oren> I will express my self by putting the statement in this form:
08:24:55 <oerjan> shachaf: throwing boomerangs
08:25:10 <Oren> x =( x&0xffff) + (x>>16)
08:25:19 <Oren> with a =( in it
08:25:58 <Oren> because that is how I feel
08:26:20 <Bike> huh, i thought & was higher precedence than +.
08:26:22 <J_Arcane> Ooooh. WASD's custom services apparently extend to doing one's own layout in .svg ...
08:36:04 <int-e> @metar LOWI
08:36:04 <lambdabot> LOWI 300820Z 09003KT 060V140 9999 FEW060 SCT160 BKN300 04/03 Q1012 NOSIG
08:37:39 -!- MDude has changed nick to MDream.
08:38:27 <oerjan> @metar ENVA
08:38:27 <lambdabot> ENVA 300820Z 11007KT CAVOK 02/M06 Q1021 NOSIG RMK WIND 670FT 15013KT
08:44:03 <Oren> Bike: I thought so too
08:47:56 <Bike> probably because && is "multiplication".
08:48:22 <elliott> originally there are no && and you just used &.
08:49:04 <Oren> then they should have made new bitwise and not new logicals
08:49:51 <Oren> x =( x & 0xffff)
08:50:02 <Oren> =(
09:02:07 -!- _AndoDaan_ has joined.
09:02:39 -!- AndoDaan_ has quit (Ping timeout: 256 seconds).
09:08:16 -!- _AndoDaan_ has quit (Ping timeout: 272 seconds).
09:08:19 -!- AndoDaan_ has joined.
09:10:01 <Oren> can the tcp packets checksum to zero for once in their miserable lives?
09:26:18 -!- nooga has joined.
09:30:48 -!- nooga has quit (Ping timeout: 264 seconds).
09:32:56 -!- Phantom_Hoover has joined.
09:34:40 -!- Dulnes has quit (Quit: Connection closed for inactivity).
09:49:29 <fizzie> Oren: But that would have meant actually changing the meaning of &, and they don't much like changes that invalidate existing code.
09:50:56 -!- AndoDaan_ has quit (Ping timeout: 264 seconds).
09:53:42 -!- shikhout has joined.
09:55:00 <Oren> what the hell is this i thought ip header is 16 bytes long
09:55:22 <b_jonas> wouldn't that be too short?
09:55:36 -!- shikhin has quit (Ping timeout: 240 seconds).
09:56:22 <fizzie> It's variable-length, anyway.
09:56:27 <fizzie> 20 + options.
09:56:32 <Oren> hmmm oh i'm counting the struct wrong
09:56:51 <Oren> stupid #ifdef bigendian
09:57:25 <Oren> yeah 20 is right
09:57:34 <Oren> ok tcp should work now
09:57:52 <Oren> and it is 5 am
09:58:20 <b_jonas> what I don't understand is, is the header always at least 24 bytes long?
09:58:44 <b_jonas> or can it be just 20 bytes, with no space for options? and in the latter case, what indicates there's no space allocated for options?
09:58:57 <fizzie> b_jonas: A field in one of the 20 bytes.
09:58:59 <Oren> it is apparently always 20
09:59:06 <fizzie> And it's definitely not always 20.
09:59:16 <b_jonas> fizzie: which field?
09:59:23 <fizzie> There's a 4-bit field ("IHL") in the first byte.
09:59:25 <Oren> i haven't encountered any that weren't 20
09:59:28 <fizzie> It gives the header length in words.
09:59:36 <Oren> all the checksums are checking out
09:59:45 <b_jonas> fizzie: ah, thanks
09:59:46 <b_jonas> that's it
10:00:08 <fizzie> Having a non-zero number of options is probably relatively rare, but possible.
10:00:10 <Oren> is an ip packet that contains tcp ever 24
10:01:07 <b_jonas> also iirc they figured out that some of those 20 bytes are almost always unused, so they moved them to optional options in ipv6
10:03:42 -!- dts has changed nick to usandenemies.
10:03:56 -!- usandenemies has changed nick to dts.
10:04:26 <fizzie> They removed the checksum, at least.
10:04:47 <fizzie> Under the assumption that there's always going to be a link-level checksum.
10:05:09 <fizzie> (Meaning the IP header checksum, not protocol-level things there.)
10:06:08 <b_jonas> fizzie: and they moved the 14 bits controlling fragmentation to optional headers
10:07:18 <Oren> thank god im not required to support fragmented packets
10:07:31 <Oren> that would be a nightmare
10:07:42 -!- nooga has joined.
10:08:09 <b_jonas> mind you, removing the fragmentation info from the ip header not only conserves space, but also makes sense from a logical point:
10:08:29 <b_jonas> the ip header is supposed to contain stuff that intermediate routers are supposed to examine, not only the destination,
10:08:45 <b_jonas> and routers don't have to examine the fragment info, because it's the destination that assembles the fragments.
10:09:46 <Oren> holy fuck i actually got everyhting to work
10:09:57 <Oren> woohoo
10:10:11 <b_jonas> yay! what are you doing?
10:10:15 <Oren> it is5:09 and i can just upload my code and go home
10:10:28 <Oren> i am writing a packetswicth/NAT
10:10:33 <b_jonas> nice
10:10:59 <Oren> course project worth 20% of my grade
10:11:03 <b_jonas> be safe
10:11:54 <Oren> as soon as i've handed everything in i'm gonna go eat breakfast
10:20:16 -!- Oren has quit (Ping timeout: 246 seconds).
10:22:11 <fizzie> Ooh, half a gigabyte was enough to build that SciRuby matrix library. (Just barely, but still.)
10:29:02 <oerjan> are you trying to fix zemhill?
10:29:58 <oerjan> fizzie: ^
10:38:57 <fizzie> oerjan: Yes. Well, to move it to its new VPS, first.
10:39:12 <oerjan> ah
10:39:14 <fizzie> There's also a new version of the matrix lib, so maybe it'll also get fixed while doing that.
10:39:32 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
10:39:37 -!- hjulle has joined.
10:39:46 -!- zemhill has quit (Remote host closed the connection).
10:40:05 <fizzie> Come to think of it, let's turn it off for a moment there.
10:40:08 <fizzie> Also I need some breakfast.
10:49:35 -!- MoALTz_ has quit (Quit: Leaving).
11:11:32 <fizzie> I don't get it. I installed the nmatrix thing, but now it's not there.
11:13:15 <fizzie> But now it is. Uh.
11:14:23 <fizzie> nmatrix.rb:444:in `method_missing': undefined method `-@' for #<NMatrix:0x00000001964960> (NoMethodError)
11:14:29 <fizzie> Perhaps they've changed the interface.
11:16:32 <fizzie> Apparently the unary minus no longer exists. Or something.
11:17:14 -!- Oren has joined.
11:18:23 -!- kline has joined.
11:19:59 -!- zemhill has joined.
11:20:08 <fizzie> Somehow I doubt it'll work that easily.
11:20:28 <fizzie> !ztest (>)*8(>[-.])*21 (go ahead, crash like you mean it)*0
11:20:28 <zemhill> fizzie: Program name ((>)*8(>[-.])*21) is restricted to characters in [a-zA-Z0-9_-], sorry.
11:20:44 <fizzie> !ztest that_was_embarrassing (>)*8(>[-.])*21 (go ahead, crash like you mean it)*0
11:20:44 <zemhill> fizzie.that_was_embarrassing: points -19.76, score 8.31, rank 47/47
11:20:45 <zemhill> fizzie: I broke down! Ask fizzie to help! The details are in the log! #<NoMethodError: undefined method `private' for #<Server:0x000000021383a8>>
11:20:45 -!- zemhill has quit (Client Quit).
11:20:54 <fizzie> Yes, yes. Very good.
11:23:00 <fizzie> Err.
11:23:07 <fizzie> How has that ever worked. That can't have ever worked.
11:23:23 <oerjan> XD
11:24:51 -!- zemhill has joined.
11:25:03 <fizzie> Seems that I had somehow managed to move a thing from one place to another while adding documentation comments and nothing else.
11:25:13 <fizzie> !ztest it_keeps_happening (>)*8(>[-.])*21 (go ahead, crash like you mean it)*0
11:25:13 <zemhill> fizzie.it_keeps_happening: points -19.76, score 8.31, rank 47/47
11:25:52 <fizzie> !zjoust will_the_repository_blow_up (>)*8(>[-.])*21 (go ahead, crash like you mean it)*0
11:25:52 <zemhill> fizzie: I broke down! Ask fizzie to help! The details are in the log! #<RuntimeError: git commit -q -m Replacing ais523.dulnes_example by fizzie.will_the_repository_blow_up (in /home/bfjoust/bfjoust/hill) failed: 128>
11:25:52 -!- zemhill has quit (Client Quit).
11:25:55 <fizzie> Yay.
11:26:21 <ais523> now I'm trying to remember what 128 means as an exit code
11:26:31 <ais523> my brain's translating it to "killed by signal 0" but that doesn't make sense
11:27:28 <fizzie> In this case, it means I didn't remember to do git config user.{name,email} for the bfjoust account on the new server.
11:27:36 <fizzie> It did the git "Please tell me who you are" error.
11:27:51 -!- MoALTz has joined.
11:29:52 -!- zemhill has joined.
11:30:03 <fizzie> !zjoust will_the_repository_blow_up <
11:30:03 <zemhill> fizzie.will_the_repository_blow_up: points -46.00, score 0.00, rank 47/47 (--)
11:31:00 <fizzie> The web reports seem to have not updated.
11:31:35 <fizzie> Or, hmm.
11:32:12 <fizzie> No, that was just me.
11:35:17 <b_jonas> oh great! apparently AT_FDCWD has the value -100 . (I thought for some reason that it was -2) That's much better.
11:35:27 <fizzie> Well. It's back online. I don't guarantee it will work.
11:36:41 <fizzie> !help
11:36:42 <zemhill> fizzie: I do #{command}; see http://zem.fi/bfjoust/ for more information.
11:36:42 <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>.
11:36:48 <fizzie> ...
11:37:08 <fizzie> zemhill: By #{command} I kind of meant you'd substitute in the command.
11:38:03 -!- zemhill has quit (Remote host closed the connection).
11:41:18 <shachaf> whoa, is this a ruby bot?
11:41:33 <fizzie> Yes.
11:41:46 -!- zemhill has joined.
11:41:49 <fizzie> !help
11:41:49 <zemhill> fizzie: I do !zjoust; see http://zem.fi/bfjoust/ for more information.
11:41:49 <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>.
11:42:33 <fizzie> There. I changed the command (even though having a single-command submission to two separate hills was kind of... #esoterician), but kept the ! prefix since it only responds to the command (and !help).
11:42:40 <fizzie> Didn't want to tie up a whole new prefix for that.
11:43:02 <shachaf> ^prefixes
11:43:02 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
11:48:43 <fizzie> thutubot's could possible be repurposed.
11:49:41 <FireFly> Can I reserve '='? My other two bot prefixes have alredy been stolen
11:49:44 <int-e> / is still free ;-)
11:50:41 <ais523> /I don't see what the problem is
11:51:18 <int-e> /server would make an excellent main command for a bot.
11:51:31 <b_jonas> hehe
11:52:07 <b_jonas> or how about color codes as bot prefixes?
11:52:15 <int-e> eww
11:52:28 <oerjan> /quite so
11:52:36 <b_jonas> heh
11:53:18 <fizzie> "botname:" as a prefix is the boring, yet practical choice.
11:53:52 <b_jonas> fizzie: yeah, that's good for full form, but my problem is that I want a bot with multiple commands, and "botname command: " is a bit too long
11:54:11 <FireFly> IMO all bots should support that, if only to make it easy to disambiguate multiple instances of the same bot
11:54:30 <fizzie> I would have expected that to be "botname: command ..." so that many people can tab-complete it.
11:54:32 <int-e> lambdabot: > 1 -- I forgot whether she can do that
11:54:39 <int-e> apparently not.
11:54:40 <b_jonas> fizzie: either
11:54:51 <FireFly> lambdabot: help :(
11:54:53 <b_jonas> lambdabot: @run 4
11:54:54 <lambdabot> 4
11:54:55 -!- hjulle has quit (Ping timeout: 256 seconds).
11:55:02 <b_jonas> lambdabot: @run 2+2 -- she can
11:55:03 <lambdabot> 4
11:55:06 <int-e> oh. right, > is too special.
11:55:07 <fizzie> zemhill doesn't do the name prefix either. Should maybe add it at some point.
11:55:12 <b_jonas> int-e: and so is :t
11:55:17 <b_jonas> :t 4
11:55:18 <lambdabot> Num a => a
11:55:22 <b_jonas> lambdabot: :t 4
11:55:25 <int-e> lambdabot: ?help
11:55:25 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
11:55:27 <FireFly> lambdabot: type 4
11:55:28 <b_jonas> lambdabot: @type False
11:55:28 <lambdabot> Bool
11:55:29 -!- Patashu has quit (Ping timeout: 272 seconds).
11:55:31 <FireFly> er, that
11:56:01 <FireFly> I'd expect the 'nick: ' to be used *as* a prefix rather than in addition to one, but oh well
11:56:02 <int-e> @help eval
11:56:02 <lambdabot> eval. Do nothing (perversely)
11:56:46 <ais523> @eval
11:56:46 <zzo38> FireFly: Yes you could do it that way; it would help too. (Such a prefix then is unneeded when the message is private)
11:56:53 <ais523> I approve of this command
11:56:57 <b_jonas> FireFly: jevalbot tries to do both, but the syntax is completely fucked up
11:57:13 <FireFly> Hehe
11:57:22 -!- evalj has joined.
11:57:24 <ais523> there's got to be a story behind it, which might be interesting
11:57:27 <FireFly> I've never learned jevalbot's syntax for non-eval commands
11:57:30 <ais523> but "someone thought it would be funny" is enough
11:57:42 <b_jonas> evalj: |.'with just a nick, it uses the default command'
11:57:43 <evalj> b_jonas: dnammoc tluafed eht sesu ti ,kcin a tsuj htiw
11:58:03 <b_jonas> evalj, ping: with a nick and command, it uses that command
11:58:04 <evalj> b_jonas, pong: with a nick and command, it uses that command
11:58:33 <b_jonas> ] 'there are some shortcuts, both a short one and ones with the nick, so you often don't have to type the command'
11:58:34 <evalj> b_jonas: |open quote
11:58:34 <evalj> b_jonas: | 'there are some shortcuts, both a short one and ones with the nick, so you often don't have to type the command'
11:58:34 <evalj> b_jonas: | ^
11:58:44 <b_jonas> ] 'there are some shortcuts, both a short one and ones with the nick, so you often don''t have to type the command' Nb. gtfo
11:58:45 <oerjan> FireFly: note that lambdabot has, in fact, a @@ command
11:58:45 <evalj> b_jonas: |spelling error
11:58:45 <evalj> b_jonas: | 'there are some shortcuts, both a short one and ones with the nick, so you often don''t have to type the command' Nb. gtfo
11:58:45 <evalj> b_jonas: | ^
11:58:49 <b_jonas> argh
11:58:54 <b_jonas> ] 'there are some shortcuts, both a short one and ones with the nick, so you often don''t have to type the command' NB. gtfo
11:58:55 <evalj> b_jonas: there are some shortcuts, both a short one and ones with the nick, so you often don't have to type the command
11:59:29 <FireFly> [ 'isn''t jeval also in here?'
11:59:29 <j-bot> FireFly: isn't jeval also in here?
11:59:35 <FireFly> er, j-bot*
11:59:55 <FireFly> Always good to have a backup, I guess
12:00:09 <FireFly> evalj, help:
12:00:09 <b_jonas> where it's fucked up is (a) what combinations of punctuations around the nick and command it accepts, (b) the syntax behaving inconsistently for commands in private message, and (c) how it doesn't accept a command after a shortcut punctuation like '] ping: foo'
12:00:10 <zzo38> If you are using such bot commands a lot you can create a macro in your client.
12:00:24 <b_jonas> FireFly: there's no written help, only me and the source code
12:00:31 <FireFly> Oh
12:00:38 <b_jonas> evalj, source:
12:00:39 <evalj> b_jonas, jevalbot source is http://www.math.bme.hu/~ambrus/pu/jevalbot.tgz
12:00:45 <b_jonas> sorry
12:01:39 <int-e> @@ leet quote
12:01:39 <lambdabot> leet quote
12:01:43 <int-e> @. leet quote
12:01:43 <lambdabot> DzLx 5AYz: Y0u (4n /\/\4K3 teh Id /\/\onAD SomEWh4+ bEt+er 83h4V3D 8y wrAPpin9 i+ IN zupEr3g0T.
12:02:12 <b_jonas> there's some commands for manipulating sessions (clearing, copying, changing to a shared session), and a command for evaluating mutli-line input
12:02:16 <b_jonas> and a few other stuff
12:02:53 <oerjan> @ hm
12:03:09 <b_jonas> @faq
12:03:09 <lambdabot> http://www.haskell.org/haskellwiki/FAQ
12:04:05 <oerjan> @@ ?leet @quote
12:04:05 <lambdabot> tEs$ier $aYs: 4FtER Th3 LAzT N3\/\/bi35 HeAd EXp|0DED 7ryin9 7o Re4D E\/Ery7|-|Ing On t|-|A7 /\/\oN4d |inx +H3r3 W4s a LO7 oph papeR\/\/Orx. \/\/E'D |IxE too av0id DoiNg tH4+ Ag4in.
12:08:16 <b_jonas> next time I make an irc bot that responds to commands, I'll be sure to give it a syntax that is insane and inconsistent in ways different from that of evalj
12:08:32 -!- hjulle has joined.
12:09:08 <b_jonas> FireFly: oh, and one more problem with evalj is that at one point, when I ran it under the nick jeval, "jeval" was both a command and a nick, making the syntax sort of ambiguous
12:09:49 <b_jonas> mind you, it's the default command, but still.
12:10:54 <b_jonas> that means if you sent a private message saying 'jeval: somecommand= foobar' it isn't clear whether 'somecommand=' is a command or an argument (I think it's the latter, but I'm not sure)
12:18:39 <b_jonas> evalj: ping= argument
12:18:39 <evalj> b_jonas: ping = argument
12:18:43 <b_jonas> evalj ping= argument
12:18:44 <evalj> b_jonas, pong: argument
12:18:49 <b_jonas> evalj: ping: argument
12:18:50 <evalj> b_jonas, pong: argument
12:18:55 <b_jonas> evalj ping: argument
12:18:56 <evalj> b_jonas, pong: argument
12:19:16 <b_jonas> seriously, it's nonsense, I'll have to figure out different bad syntax next time
12:24:37 <Oren> what font do you use in terminal
12:25:00 <b_jonas> Oren: my own bitmap font:
12:25:10 <b_jonas> http://www.math.bme.hu/~ambrus/pu/fecupboard20-c.pcf.gz Fecupboard20 (free X11 bitmap font with 20x10 pixel character cell, easily distinguishable characters, great for terminals and programming, has all characters in iso-8895-1 and 8859-2 and more)
12:27:25 <Oren> I am using an unorthodox font: http://ctrlv.in/467600
12:28:04 <Oren> but i am wondering what fonts are actually readable
12:28:08 <Bike> i just use the default comic sans.
12:28:18 <shachaf> A looks too much like Λ
12:28:43 <shachaf> I tried to set my terminal font to Comic Sans once but it didn't work very well.
12:28:49 <ais523> how often do people use Λ anyway?
12:28:55 <ais523> also, I don't even have Comic Sans insalled
12:28:55 <shachaf> Someone should make a monospace version.
12:29:02 <b_jonas> well, mine is also sort of unorthodox
12:29:31 <shachaf> I assume Greek speakers use it a lot.
12:29:34 <b_jonas> it has some characters marked with extra dots when I want them to be more easy to distinguish from similar-looking more common characters
12:29:39 <shachaf> And maybe mathematicians.
12:30:03 <Oren> where do you put fonts on linux again?
12:30:23 <b_jonas> Oren: user-local or system?
12:30:35 <Oren> whatever its my machine anyway
12:31:53 <b_jonas> Oren: for user-local, you put them in ~/.fonts , however, for a bitmap font (like mine) you may have to change the fontconfig configurations so it doesn't just skip bitmap fonts
12:32:13 <b_jonas> for system, I put them in /usr/share/fonts/X11/misc and the same applies
12:32:27 <b_jonas> the fontconfig configurations can also be changed globally or user-locally,
12:33:06 <b_jonas> globally in /etc/fonts , locally in ~/.fonts.conf but be careful because some gui apps may rewrite the latter
12:33:14 <b_jonas> so basically, it's complicated
12:33:29 <Oren> ah
12:34:07 <b_jonas> also, after installing fonts, you may have to run some commands so they're recognized,
12:34:15 -!- oerjan has quit (Quit: Later).
12:34:19 <FireFly> Envy Code R is quite readable
12:34:31 <b_jonas> specifically, for system fonts, sudo fc-cache
12:34:38 <FireFly> Oren: what font is that, anyway?
12:34:59 <Oren> TakaoMincho Bold
12:35:05 <b_jonas> and for bitmap fonts used through the old X11 bitmap font interface (not through fontconfig or other advanced stuff) xset fp rehash
12:35:16 <Oren> it's serifed but monospace a weird combo
12:35:29 <b_jonas> for local font installs, you may have to run fc-cache too
12:38:18 <b_jonas> Oren: my font is sort of half-seriffed
12:38:22 <b_jonas> some serifs are present, some aren't
12:40:47 <FireFly> Λ ∧ look somewhat similar to me
12:41:01 <FireFly> In this font.
12:51:17 <HackEgo> [wiki] [[Talk:Boat]] N http://esolangs.org/w/index.php?oldid=41259 * Zzo38 * (+102) Created page with "What does "xand" mean? --~~~~"
12:53:42 <Oren> i got it working
12:53:46 <Oren> looks cool
12:54:08 <Oren> http://ctrlv.in/467603
12:58:55 <Oren> the bold isn't the same width as the regular
12:59:13 <Oren> causes a bit of squeezing
13:04:20 <int-e> "xand" - both, but not both.
13:04:24 <Oren> once you disable bold it looks very good
13:05:17 <Oren> if xor is [0,1,1,0] then xand should be [1,0,0,1]
13:06:14 <Oren> because xor means 1,1 -> 0 instead of 1
13:06:27 <int-e> Oren: exactly.
13:06:34 <Oren> so xand should mean 0,0 ->1 instead of 0
13:06:40 <int-e> and is [0,0,0,1], so xand should be [0,0,0,0]
13:07:31 <Oren> or that, tho it makes it unuseful
13:07:36 <int-e> I know [1,0,0,1] as equality or nxor
13:08:09 <Oren> the !=! operator
13:08:37 <FireFly> And I know [0,0,0,1] as multiplication
13:08:53 <int-e> inequality test -- returns the xnand of two values <-- this may shed some light on the intended meaning
13:09:26 <int-e> though I would argue that xnand is really just nand if you read the x as "exclusive"
13:11:05 <Oren> and i have invented the =( operator
13:11:38 <Oren> and the !! operator is common
13:14:04 <Oren> nand is an interesting operator because although it is the basis of circuitry
13:14:22 <Oren> most algol based languages do not directly support it
13:14:42 <int-e> do they support nor?
13:14:48 <Oren> in C i cannot go a !&& b
13:15:06 <Oren> or a !|| b
13:15:21 <Oren> I have to use parentheses
13:16:05 <Oren> or use the distributive laws and do !a || !b
13:16:12 <Oren> etc
13:17:56 <Oren> !&& could be added with no ambiguity
13:18:03 <Oren> they just didnt bother
13:18:06 <shachaf> what if i'm an intuitionist
13:18:59 -!- mig22 has joined.
13:21:05 <Oren> and bitwise ~& should be an operator
13:21:14 <int-e> shachaf: !
13:21:38 <shachaf> int-e: ?
13:22:12 <int-e> shachaf: anyway, rather than convincing you I'd then attempt not not convincing you.
13:26:36 -!- ais523 has quit.
13:30:50 <int-e> shachaf: oh and the exclamation mark was a C negation.
13:32:17 -!- ZombieAlive has quit (Ping timeout: 245 seconds).
13:36:04 -!- mig22 has quit (Ping timeout: 245 seconds).
13:36:15 <Bike> what if i'm not unintuitionist
13:36:46 -!- oonbotti2 has quit (Remote host closed the connection).
13:37:15 -!- mig22 has joined.
13:37:57 <Oren> aha! I have invented the <! operator. it means logical nor
13:38:26 <Bike> shouldn't that be !||.
13:39:03 <Oren> tge !|| is not accepted by C. <! is stanard C
13:39:17 <Bike> #define !|| <! "problem solved"
13:39:51 <Bike> i actually have no idea if that's legit, oh well
13:39:51 <Oren> 0<!0 = 0<1 = 1
13:41:33 <FireFly> the companion of --> "goes to"
13:41:33 <Bike> weird that it's asymmetric.
13:42:49 <Oren> `! c printf("%d %d %d %d\n",0<!0,0<!1,1<!0,1<!1);
13:42:49 <HackEgo> Does not compile.
13:43:01 <Bike> `run echo 'printf("%d %d %d %d\n",0<!0,0<!1,1<!0,1<!1);' | gcc - -c -Wall
13:43:19 <HackEgo> gcc: error: -E or -x required when input is from standard input
13:43:19 <Bike> er. duh.
13:43:19 <FireFly> Might help to define `main`
13:43:34 <Bike> that was the duh.
13:43:52 <Oren> `! c int main(void){ printf("%d %d %d %d\n",0<!0,0<!1,1<!0,1<!1);}
13:43:52 <HackEgo> Does not compile.
13:44:01 <Oren> hmm
13:44:30 <fizzie> `! c int main(void){ printf("%d %d %d %d\\n",0<!0,0<!1,1<!0,1<!1);}
13:44:30 <HackEgo> 1 0 0 0
13:44:33 <Oren> there we go
13:44:35 <fizzie> \n turns into a real newline (for preprocessor stuff), which makes the string literal bad.
13:45:29 <Bike> `run echo 'int main(void) { printf("%d %d %d %d\n", 0<!0, 0<! 1, 1<!0, 1<!1); }' | gcc - -x c -Wall
13:45:49 <HackEgo> gcc: warning: ‘-x c’ after last input file has no effect \ gcc: error: -E or -x required when input is from standard input
13:45:49 <Oren> so yah. <! is the nor operator
13:45:49 <Bike> ffs, command ordering
13:45:49 <Bike> `run echo 'int main(void) { printf("%d %d %d %d\n", 0<!0, 0<! 1, 1<!0, 1<!1); }' | gcc -Wall -x c -
13:45:49 <HackEgo> ​<stdin>: In function ‘main’: \ <stdin>:1:1: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration] \ <stdin>:1:18: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ <stdin>:1:1: warning: control reaches end of non-void function [-Wreturn-type]
13:45:57 <Bike> such problems.
13:46:16 <Bike> `run echo '#include <stdio.h>\nint main(void) { return printf("%d %d %d %d\n", 0<!0, 0<! 1, 1<!0, 1<!1); }' | gcc -Wall -x c -
13:46:17 <HackEgo> ​<stdin>:1:19: warning: extra tokens at end of #include directive [enabled by default] \ /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ collect2: error: ld returned 1 exit status
13:46:49 <Bike> oh, so \n is a c int thing.
13:46:53 <Bike> well. whatever.
13:47:20 <Oren> `run echo '#include <stdio.h>\nint main(void) { return printf("%d %d %d %d\\n", 0<!0, 0<! 1, 1<!0, 1<!1); }' | gcc -Wall -x c -
13:47:33 <HackEgo> ​<stdin>:1:19: warning: extra tokens at end of #include directive [enabled by default] \ /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ collect2: error: ld returned 1 exit status
13:47:49 <Oren> `! c int main(void){ printf("%d %d %d %d\\n",0<!0,0<!1,1<!0,1<!1);}
13:47:55 <HackEgo> 1 0 0 0
13:48:20 <Oren> now is there a nand operator?
13:48:52 <Oren> hmmm
13:48:52 <Oren> perhaps <=!
13:48:57 <Oren> `! c int main(void){ printf("%d %d %d %d\\n",0<=!0,0<=!1,1<=!0,1<=!1);}
13:49:00 <HackEgo> 1 1 1 0
13:49:04 <Oren> yup
13:49:51 <Oren> the c language can thus be extended without technically extending it
13:50:01 <Oren> if that makes any sense
13:55:47 -!- mig22 has quit (Remote host closed the connection).
14:00:51 <b_jonas> oh, so it's just nxor?
14:01:19 <Oren> nxor would be !=!
14:01:47 <EvanR> xnor
14:01:49 <b_jonas> no, I mean that mysterious "xand" operator is nxor
14:02:55 <Bike> xnor is also ==, isn't it.
14:03:06 <EvanR> yeah
14:03:14 <Bike> i guess if you only have 0s and 1s.
14:03:21 <EvanR> for bits
14:05:09 <Oren> for bits ummm
14:06:47 <Oren> what would ^~ do?
14:07:42 <Oren> `! c int main(void){ printf("%d %d %d %d\\n",0^~0,0^~1,1^~0,1^~1);}
14:07:52 <HackEgo> ​-1 -2 -2 -1
14:07:59 <Oren> `! c int main(void){ printf("%x %x %x %x\\n",0^~0,0^~1,1^~0,1^~1);}
14:08:01 <HackEgo> ffffffff fffffffe fffffffe ffffffff
14:08:07 <Oren> aha
14:08:55 <Oren> so ^~ is 1 on each bit that the two operands are equal on
14:09:11 <Oren> bitwise ==
14:10:57 <EvanR> which is the same as xnor
14:11:16 <EvanR> which is not . xor
14:11:43 <EvanR> in this case the nor is happening on one of the inputs, i think this is called "bubble migration" on diagrams
14:11:52 <EvanR> the not*
14:17:40 <Oren> oh, how about unary -!! this operator transforms C ints to forth bools
14:18:25 <Oren> `! c int main(void){ printf("%x %x %x %x\\n",-!!0,-!!(-1),-!!1,-!!2);}
14:18:28 <HackEgo> 0 ffffffff ffffffff ffffffff
14:18:33 <Oren> see
14:19:25 -!- S1 has joined.
14:19:58 <Oren> I should put a list of these nonstandard C 'operators' somewhere
14:45:35 <b_jonas> hmm
14:55:03 -!- S1 has quit (Quit: S1).
14:55:35 -!- FreeFull has quit.
14:59:32 -!- mig22 has joined.
15:09:17 -!- GeekDude has joined.
15:18:22 -!- FreeFull has joined.
15:23:21 -!- mig22 has quit (Ping timeout: 264 seconds).
15:24:04 -!- mroman__ has joined.
15:24:12 <mroman__> my server is down.
15:34:56 <EvanR> hmm there should be a list on the wiki of non brainfuck clones
15:36:34 <mroman__> there should be a wiki of non clones of anything
15:40:09 -!- sebbu has quit (Ping timeout: 264 seconds).
15:42:36 -!- sebbu has joined.
15:42:36 -!- sebbu has quit (Changing host).
15:42:36 -!- sebbu has joined.
15:43:08 <FreeFull> Has anyone here done programming in K or a similar language?
15:44:35 -!- nyuszika7h has joined.
15:44:49 <nyuszika7h> I'm in the process of making a 99 bottles program in dc! \o/
15:44:51 <nyuszika7h> nyuszika7h@cadoth ~ $ dc -e '?dsn[dn[ bottle]n[[s]n]sp1!=p]dsdx[ of beer on the wall, ]nlnldx[ of beer.]p'
15:44:52 <nyuszika7h> 99
15:44:53 <nyuszika7h> 99 bottles of beer on the wall, 99 bottles of beer.
15:49:16 <FireFly> FreeFull: I'm familiar with J
15:50:50 <FreeFull> Yeah, J is similar but has some fundamental differences
15:51:20 <FreeFull> How long did it take for you to build up an intuition on how to work with it?
15:52:29 <Taneb> FreeFull, I've used APL a little
15:53:47 <FreeFull> Taneb: That's what I wanted to try first, but I didn't want to deal with getting the keyboard layout working
15:54:00 <Taneb> FreeFull, the emacs mode is pretty good
15:54:25 -!- shikhin has joined.
15:54:32 <FreeFull> I'd probably have to install emacs then
15:57:23 -!- shikhout has quit (Ping timeout: 250 seconds).
15:57:56 <FireFly> FreeFull: I don't really remember. I've been using it on-and-off for a couple of years, learning a bit at a time
15:58:09 <FireFly> Rather than trying to learn it properly over a shorter timespan
15:58:10 -!- cluid has joined.
15:58:49 <FreeFull> I see
15:59:09 <FireFly> If you're curious about J/K/APL, there's #jsoftware (which, despite the name, kind-of acts as a catch-all for all three)
15:59:40 <FreeFull> Thanks
15:59:42 <cluid> Hello
15:59:42 <FreeFull> I was hoping there was some sort of IRC channel
15:59:42 <FreeFull> Hi cluid
16:01:52 -!- EgoBot has quit (Ping timeout: 245 seconds).
16:03:15 -!- EgoBot has joined.
16:04:23 <cluid> I was wondering about CA simulating other CA
16:05:42 <cluid> do you think there is a way to encode rule X in rule Y where each cell of a rule X pattern is encoded as like 7 cells together and 15 rule Y steps corresponds to one rule X iteration
16:11:49 <cluid> does it make sense
16:11:55 <cluid> and is there any chance of this being possible
16:12:14 <cluid> thinking of 1D CAs
16:15:37 <FreeFull> cluid: You probably can do something in 1D with the turing-complete CAs
16:16:02 <FreeFull> As far as 2D goes, I've seen a simulation of the game of life inside the game of life
16:16:11 <FreeFull> Using these gigantic cells
16:16:25 <cluid> well the reason i cae up with this idea is to get away from the standard TC construction
16:17:05 <cluid> i dont like the infinite setup part, so I was interesting on CAs simulator other CAs with a single initial state that's a constant multiple the size of the state it simulates
16:17:25 <cluid> I saw that meta-GoL too, that's so cool! That's exactly the sort of thing I mean
16:19:56 <cluid> it is a bit difficult to search for 1D simulators
16:20:05 <cluid> i dont really know how to approach it
16:20:10 <cluid> it may not be possible at all
16:20:21 <cluid> you'd need to find repeating patterns
16:23:39 -!- FreeFull has quit (Quit: Rebooting).
16:25:16 -!- FreeFull has joined.
16:26:31 <EvanR> cluid: i dont like TC either
16:27:00 <cluid> btw i read the log and I agree about the non-bf thing
16:27:14 <cluid> maybe it could be created automatically from the BF list
16:27:33 <EvanR> mostly probably, but some of them dont explicitly say they are brainfuck clones
16:27:42 <EvanR> you have to waste time reading through the description to realize it ;)
16:27:49 <EvanR> sort of a troll
16:28:03 <cluid> haha
16:28:16 <EvanR> which in itself may be a good idea for a esolang, its brainfuck but you dont know it unless you try to use it
16:28:33 <cluid> brainfuckrolled...
16:29:23 <b_jonas> EvanR: if you find such a thing, tell us and we'll slap a category on them
16:29:58 <EvanR> b_jonas: you mean bf clones that dont say so?
16:30:07 <b_jonas> EvanR: yes
16:30:37 <EvanR> ok, this one does have the bf category. at the bottom
16:30:42 <cluid> well i think they should be categorize
16:30:53 <EvanR> most of them say so in the very first sentence
16:31:09 <EvanR> http://esolangs.org/wiki/Arrow
16:31:12 <cluid> so does anyone have ideas on the CA simulation idea?
16:32:59 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41260&oldid=41203 * B jonas * (+35)
16:35:35 -!- TodPunk has quit (Ping timeout: 258 seconds).
16:40:54 -!- S1 has joined.
16:55:39 -!- MDream has changed nick to MDude.
17:02:20 <Taneb> Some fractal dimension?
17:10:38 <Bike> cluid: i'd worry about information transfer. like, the majority problem isn't easy...
17:11:46 <nyuszika7h> 99 bottles in dc done! \o/
17:11:56 <nyuszika7h> http://dpaste.com/0DNKF8M
17:12:50 <Taneb> nyuszika7h, nice one :)
17:13:01 <nyuszika7h> I have no idea why I have to hardcode printing for 0 though
17:13:44 <nyuszika7h> if I do !< (>=) instead of < then it loops forever on the last pair of lyrics
17:13:54 <nyuszika7h> last two lines, that is
17:37:22 <FireFly> @metar ESSA
17:37:23 <lambdabot> ESSA 301720Z 36002KT CAVOK M00/M01 Q1030 R01L/19//95 R08/15//95 R01R/19//95 NOSIG
17:40:07 <cluid> Bike, I guess to simulate majority you'd need a CA which goes out in both directions
17:40:20 <cluid> buta CA that only goes out to the right might still be able to simulate others that do that?
18:21:16 -!- TodPunk has joined.
18:21:32 -!- Oren has quit (Ping timeout: 246 seconds).
18:32:21 -!- S1 has quit (Quit: S1).
18:47:13 -!- Dulnes has joined.
18:48:08 <Dulnes> Hi
18:54:39 <Dulnes> €]©_]®_ ©$`_ € °€®₩{€¢_ ]}>«]¢ >₩_€_ °_>>_<€
18:54:58 <myname> what language is that
18:55:09 <Dulnes> Thats what happens when you memorise your key pad and use those letters instead
18:57:12 <Dulnes> ~=_<>{ is technically qwerty
18:59:15 <cluid> hi
18:59:25 <Dulnes> Hi
19:00:25 <Dulnes> So if you ever wanted to convert your A-Z to $-¿
19:00:45 <Dulnes> Thats how you would go about it
19:02:05 * Dulnes Slowly eats toast
19:06:20 -!- dts has quit (Ping timeout: 250 seconds).
19:08:17 <Dulnes> I assume most of you are asleep
19:20:10 <J_Arcane> will be soon.
19:22:21 <HackEgo> [wiki] [[POGAACK]] http://esolangs.org/w/index.php?diff=41261&oldid=34732 * SuperJedi224 * (+11)
19:25:37 <Dulnes> Im so done with this language
19:27:57 <J_Arcane> en halua lisää aivovittun kieliä.
19:28:42 <cluid> what's up
19:29:25 -!- Oren has joined.
19:29:37 <FireFly> Dulnes: why would most of us be asleep?
19:33:44 <Dulnes> http://esolangs.org/wiki/%E2%99%A6 what is the use of this page¿
19:35:09 -!- S1 has joined.
19:42:43 <Dulnes> Hhh
19:42:53 <Dulnes> Bye
19:43:04 <cluid> its encrypted
19:43:04 <FireFly> Bye
19:43:14 <cluid> there is a weird .exe to decrypt it
19:43:26 -!- cluid has quit (Quit: Leaving).
19:45:46 -!- nooga has quit (Ping timeout: 265 seconds).
19:50:56 <Bike> is "errno = 0; some_call_that_sets_errno(); if (errno != 0) { ...}" reasonable? the call returns success on certain error conditions.
19:51:14 -!- test[dulnes] has joined.
19:51:52 <test[dulnes]> i just logged im through my 3Ds
19:51:54 <pikhq_> Assuming that it doesn't mutate errno except on error, that is perfectly reasonable.
19:52:07 <pikhq_> And is required for some parts of libc.
19:52:09 <elliott> trick question: it's unreasonable because errno is unreasonable
19:52:23 <pikhq_> elliott: :P
19:52:24 <Bike> ok, well, yes. i'm trying to work around unreasonability.
19:52:36 <pikhq_> errno is not exactly a nice thing, yes.
19:52:38 <Dulnes> Heh it worked
19:52:38 <Bike> honestly i'm still not over the silliness of returning a success value but setting errno anyway.
19:52:50 <pikhq_> Buuut, that's C for ya.
19:53:26 <test[dulnes]> This was actually very hard
19:53:27 <Bike> it's a posix function so i guess i can assume it doesn't mutate errno otherwise.
19:53:28 <myname> so, anybody here ever used yi and minds telling me how awesome it is so i am willing to build like a dozen dependencies?
19:53:43 <pikhq_> Bike: Which function?
19:53:59 <Bike> fscanf. which is actually libc probably.
19:54:07 <pikhq_> And yes. C and POSIX functions as a rule only change errno on error.
19:54:34 <Dulnes> M_M
19:54:54 <Bike> if you try to scan in an integer that's too big it just returns maxint. does set errno though.
19:55:03 <pikhq_> Yep.
19:55:24 <Bike> i'd rather it like, failed, but oh well.
19:55:25 <Dulnes> The pixelation on the 3ds browser is awful
19:55:43 <Bike> actually i'd really rather there be a dedicated read integer function instead of using this weird printf string thing. o well
19:57:47 -!- test[dulnes] has quit (Ping timeout: 246 seconds).
20:00:26 <HackEgo> [wiki] [[User talk:SuperJedi224]] N http://esolangs.org/w/index.php?oldid=41262 * SuperJedi224 * (+191) /* A (fairly trivial) Thue-Brainf*** polyglot */ new section
20:00:55 <HackEgo> [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41263&oldid=41262 * SuperJedi224 * (+31) /* A (fairly trivial) Thue-Brainf*** polyglot */
20:01:09 <HackEgo> [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41264&oldid=41263 * SuperJedi224 * (-2) /* A (fairly trivial) Thue-Brainf*** polyglot */
20:01:44 -!- Patashu has joined.
20:02:03 <HackEgo> [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41265&oldid=41264 * SuperJedi224 * (+4)
20:02:44 <Dulnes> I feel useless im gonna go play lOZ
20:02:46 <HackEgo> [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41266&oldid=41265 * SuperJedi224 * (-17) /* A (fairly trivial) Thue-Brainf*** polyglot */
20:06:00 -!- dts has joined.
20:11:12 -!- Sauvin has changed nick to EisenHerz.
20:13:42 -!- Phantom_Hoover has joined.
20:13:55 <elliott> Bike: failed howso?
20:13:59 <elliott> not really many options for that in C
20:22:17 -!- Oren has quit (Ping timeout: 246 seconds).
20:24:49 -!- Patashu has quit (Ping timeout: 264 seconds).
20:29:11 -!- ZombieAlive has joined.
20:32:04 <Phantom_Hoover> note to self: actually remember when st andrew's day is
20:45:03 <Bike> elliott: fscanf returns the number of objects scanned. on overflow with "%d" it could return zero and leave the pointer undefined
20:46:09 -!- EvanR has quit (Ping timeout: 252 seconds).
20:58:43 -!- Oren has joined.
21:07:00 <zzo38> But doesn't it only use a single character lookahead or something like that? If so, that won't work. If it uses extended lookahead then that idea could work.
21:11:02 <Bike> doesn't what use single character lookahead
21:11:54 -!- boily has joined.
21:14:47 -!- mroman__ has quit (Ping timeout: 246 seconds).
21:36:51 -!- boily has quit (Quit: INCONVENIENT CHICKEN).
21:45:40 <Oren> i was excited cause i thought my aunt wendy was coming over but it's a different wendy
21:46:15 <Oren> wendy from guatemala apparently
21:46:39 <fizzie> pikhq_: It's not true that C library functions only change errno on error.
21:46:44 <Oren> anyway i had an idea for a visual programming langugaes
21:46:48 <fizzie> Or, it might be true in practice, but it's not true in theory.
21:46:59 <Oren> lol
21:47:20 <fizzie> "The value of errno may be set to nonzero by a library function call whether or not there is an error, provided the use of errno is not documented in the description of the function in this International Standard." (C11 7.5p3)
21:47:26 <pikhq_> oh, sigh.
21:47:40 <Oren> yeah
21:47:41 <pikhq_> Only some of them are specified to actually not mutate errno.
21:47:43 <pikhq_> Siiigh.
21:47:48 <fizzie> And most of the functions don't so document it. The ones where you can't distinguish an error otherwise do, though.
21:48:00 <Oren> C is getting on in age
21:49:13 <Oren> so what doyou do, I guess you look up each particular function's behaviour?
21:49:19 <pikhq_> Yes.
21:49:32 <pikhq_> I have the POSIX standard bookmarked.
21:49:56 <fizzie> I should have, because I Google the URL probably at least once a week.
21:50:28 <Oren> I usually just use man
21:50:46 <Oren> i have all the man pages installed
21:51:24 <Oren> i dunno how they compare to the POSIX standards tho
21:52:26 <Oren> so for example
21:52:35 <fizzie> They sometimes can guarantee things POSIX doesn't.
21:54:04 -!- shikhout has joined.
21:54:09 * Oren does man 3 printf to check
21:54:38 <Oren> the man page gives wrnings about non-posix guaranteed stuff
21:55:25 <fizzie> They do their best.
21:55:35 <fizzie> There's also a set of "POSIX" man pages, though.
21:56:03 <fizzie> With special permission, even: http://lwn.net/Articles/581858/
21:57:04 -!- shikhin has quit (Ping timeout: 250 seconds).
21:57:19 <fizzie> 'manpages-posix' in debuntu and so on.
21:57:59 <Oren> yeah i have that
21:58:09 -!- EvanR has joined.
21:58:09 <fizzie> They're in the "3p" section, then.
21:58:28 <Oren> i intalled all the packedages with manpages in the name
21:58:33 -!- EvanR has changed nick to Guest37103.
21:59:27 * Oren tries man 3p printf and sees a "POSIX Programmer's Manual"
22:00:34 <Oren> that's cool
22:01:41 <Oren> man 1p sh
22:01:44 <Oren> works
22:03:20 <fizzie> It's handy. (Though I still use the official web version of the standard for some reason.)
22:03:54 <Oren> well it does depend on whether your usual workflow uses the shell or an ide
22:04:36 <Oren> for C programming i use the shell for my entire workflow
22:05:22 <Oren> specifically midnight commander
22:08:13 <Oren> but many people instead use ides for C
22:11:55 <myname> ranger > mc
22:13:54 <Bike> how stupid/usable is doing struct disjoint_union { int flag; char[] data; } if I don't have the structs of the union beforehand
22:15:12 <Oren> problem isyou may want to use sizeof on it
22:15:25 <Oren> and it will be an "incomplete type"
22:16:19 <Bike> and no arrays, yes.
22:19:37 -!- dts has quit (Ping timeout: 240 seconds).
22:20:09 <elliott> pikhq_: fizzie: I think it makes sense to let other functions set errno, insofar as errno makes sense
22:20:13 <elliott> since they probably make calls themselves
22:20:31 -!- GeekDude has changed nick to GeekAfk.
22:20:59 <pikhq_> elliott: Note that the way to not modify errno would be "int tmp_errno = errno;" at the start, and then "errno = tmp_errno;" at the end...
22:21:15 <pikhq_> It's not a particularly burdensome requirement to meet.
22:21:24 <elliott> pikhq_: yeah but that's not worse is better enough for c/posix :p
22:21:32 <pikhq_> True, true.
22:21:34 <elliott> it's, like, effort to encapsulate things
22:22:28 <pikhq_> And these *are* the same people that came up with errno in the first place.
22:22:48 <pikhq_> And then had to go through contortions to make it work with threads.
22:23:01 <Bike> i refuse to think about that
22:23:22 <fizzie> (Oh, Dominosa closed, and I totally was going to still have a look if I could do something about it.)
22:23:24 <Bike> seriously though, is there any good way to do what i want to do or should i give up and use nasm
22:23:32 <pikhq_> The actual behavior is not *as* bad as you might think.
22:24:41 -!- Dulnes has quit (Quit: Connection closed for inactivity).
22:25:11 <Oren> you need to know the maximum size of the structs of the union in order to make it work
22:25:38 <elliott> not really
22:25:43 <elliott> you can manipulate it through pointers
22:26:14 <pikhq_> errno is "just" a macro, which calls a function that returns a pointer to an int, and then dereferences said pointer.
22:26:23 <Oren> well yeah. you could make a union like struct {int type void*data}
22:26:46 <pikhq_> (thereby giving you thread-local errno)
22:30:25 -!- GeekAfk has changed nick to GeekDude.
22:32:08 <elliott> Oren: that moves where you put the tag, though
22:32:38 <Oren> hmmm
22:32:57 <Oren> bork the whole thing with a int* then
22:33:29 <Oren> the tag is in the same place as the union
22:33:37 <Oren> after the int
22:33:49 <Oren> is the rest of the union
22:34:15 -!- S1 has changed nick to |S}.
22:34:32 <elliott> or
22:34:35 <elliott> just do what Bike said
22:35:10 <Oren> use nasm?
22:35:17 <elliott> pikhq_: why doesn't it just use gcc's thread-local variables
22:35:22 <elliott> Oren: no, use the struct
22:35:36 <Oren> but then its hard to make an array?
22:36:16 <elliott> you can amek an array of pointers of them just fine
22:36:31 <elliott> *make *pointers to
22:37:37 <Oren> i guess. there really should be a better way but I can't think of one
22:38:48 <Oren> like a smart array that knows how big each member is or something. but then that isn't very C-like
22:39:23 <Oren> is more like something you'd get from c++ boost
22:41:15 <pikhq_> elliott: ABI reasons.
22:41:23 <pikhq_> The feature is older than thread-local variables in GCC.
22:41:48 <Oren> hystertical raisin
22:41:55 <pikhq_> So, unless you want to break ABI you keep using a macro that calls a function.
22:42:08 <elliott> pikhq_: couldn't you keep ABI compatibility by making __errno_location just return &errno_tls
22:42:20 <elliott> but #define errno errno_tls for new code
22:42:25 <pikhq_> Sure, I suppose you could.
22:42:41 <pikhq_> Inertia counts for a lot, mind.
22:42:42 <pikhq_> But yeah.
22:42:53 <elliott> what does musl do?
22:43:02 <elliott> also I guess maybe gcc tls isn't as portable as glibc
22:43:47 <pikhq_> musl uses a macro that calls a function.
22:44:13 <pikhq_> The reason *here* is so that it can avoid pulling in threads at all when static linking unless you actually use it.
22:48:28 -!- Dulnes has joined.
22:48:55 <Dulnes> Ah there we go
22:50:36 <pikhq_> Basically, the errno function, if threads aren't running (if pthread_self returns NULL), it returns a reference to a static int, otherwise it returns a member in the thread struct.
22:51:29 <pikhq_> And pthread_self *itself* does not otherwise rely on threads, as all it does is return the thread pointer via whatever arch specfic mechanism exists to access it.
22:51:58 <pikhq_> (which is to say: musl does the errno function thing because TLS might not be accessible)
22:53:51 <pikhq_> Which is also kinda important for running on old kernels.
22:54:54 <pikhq_> (musl has a design goal of at least running on old kernels when you write programs that don't require features the old kernel doesn't have. For instance, if you don't use threads, then a 2.4.x kernel should mostly just work for you.)
23:01:47 -!- scoofy has quit (Ping timeout: 245 seconds).
23:02:24 -!- |S} has quit (Quit: |S}).
23:11:32 -!- Guest37103 has quit (Ping timeout: 240 seconds).
23:25:52 -!- underground666 has joined.
23:28:12 -!- underground666 has left.
23:29:51 -!- evalj has quit (Remote host closed the connection).
23:53:49 -!- Oren has quit (Quit: Page closed).
←2014-11-29 2014-11-30 2014-12-01→ ↑2014 ↑all