00:00:17 <FireFly> zzo38: given the [WUBRG] I'm going to guess it matches a Magic mana cost or something
00:04:41 -!- interest1ng has joined.
00:08:47 -!- jaboja has joined.
00:17:35 -!- Tod-Autojoined has joined.
00:20:46 -!- Todpunk has quit (Ping timeout: 240 seconds).
00:22:47 -!- TodPunk has joined.
00:22:47 -!- bb010g has joined.
00:23:00 <shachaf> But colorless is also a color now.
00:23:08 -!- Tod-Autojoined has quit (Ping timeout: 276 seconds).
00:27:31 -!- oren has joined.
00:27:59 -!- \oren\ has quit (Quit: leaving).
00:28:11 -!- oren has changed nick to \oren\.
00:29:45 -!- boily has joined.
00:33:06 <\oren\> I'm gonna head up to CYYB tomorrow, so I've switched to ircing thru my web server
00:34:42 <lambdabot> CYYB 210000Z 16012KT 15SM OVC230 M02/M06 A3000 RMK CI8 SLP182
00:38:24 <boily> CYYB is a little in the middle of Nowhere, Ontario...
00:38:59 -!- oerjan has joined.
00:40:31 <lambdabot> CYQB 210000Z 25005KT 15SM FEW030 BKN100 OVC210 M07/M11 A3034 RMK SC1AS7CI1 SC TR SLP282
00:40:37 <lambdabot> CYUL 210000Z 13006KT 15SM BKN038 OVC140 M02/M07 A3034 RMK SC7AC1 SLP278
00:40:43 <lambdabot> CYOW 210000Z 12007KT 15SM BKN130 BKN180 BKN240 M04/M07 A3027 RMK AC5AC1CI1 SLP260
00:53:52 -!- TellsTogo has joined.
00:56:19 <b_jonas> Man, this is scary. Network providers are trying to do "interesting" things with routing where they parse the TCP and UDP headers but break traffic that isn't TCP or UDP or that doesn't use TCP the way they expect.
00:56:36 <coppro> \oren\: why on earth do you want to go there?
00:56:54 <b_jonas> So people build protocols that pretend to use TCP and UDP the ordinary way, but actually use it to tunnel something completely different through it, so that the routers don't break their stuff.
00:57:17 <b_jonas> But that's an arms race! Eventually routers will try to parse the nested protocols, then people nest some more,
00:57:33 <b_jonas> and people will be sending packets with hundreds of bytes of nested header just to fool rooters.
00:57:49 <b_jonas> coppro: funnily, multi-path TCP is trying to be based on TCP in such a way that it's transparent to routers.
00:57:49 <coppro> routers shouldn't break non-TCP/UDP packets :(
00:57:59 <oerjan> b_jonas: that arms race should break pretty fast the moment the users include ssl anywhere in the mix
00:58:09 -!- tromp_ has joined.
00:58:10 <b_jonas> coppro: they shouldn't, yes. That's why IP and TCP are separate layers, the routers have to speak only IP.
01:00:41 -!- triggerwarning has joined.
01:01:18 -!- triggerwarning has quit (Changing host).
01:01:18 -!- triggerwarning has joined.
01:02:08 <\oren\> Most routers already have NAT which involves parsing UDP and TCP anyway
01:02:50 <b_jonas> and that's just the start, some firewall stuff does much more than that
01:03:51 <coppro> yeah, IPv4 doesn't have enough info for NAT
01:04:17 <coppro> IPv6 doesn't either AIUI, but it obviates NAT in a lot of cases
01:08:54 -!- dcentral has quit (Ping timeout: 250 seconds).
01:08:55 -!- triggerwarning has quit (Ping timeout: 240 seconds).
01:09:33 <boily> chelloppro! are you calgarying now?
01:24:12 -!- tromp_ has quit (Remote host closed the connection).
02:02:36 -!- ^v has joined.
02:04:09 <boily> fungot: where do you go when you vacation?
02:04:09 <fungot> boily: javascript is cool xd space...) and expr within a string rewriting language, but without getting lost in it
02:04:46 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
02:05:54 -!- Phantom_Hoover has joined.
02:18:32 <oerjan> fungot: so you're saying javascript is ok to visit, but you wouldn't want to live there?
02:18:32 <fungot> oerjan: you probably consed them in the future.
02:18:58 <oerjan> fungot: how do you know that? are you a dreen?
02:18:58 <fungot> oerjan: whats up? girlfriend trouble? i recently upgraded glibc 2.3.3 2.3.4, and now he's speaking english d:
02:19:37 <FireFly> fungot: uhm, that is a rather personal question
02:19:37 <fungot> FireFly: i do, but don't have enough space to copy it
02:19:55 <boily> FirelloFly. remember, fungot has two girlfriends.
02:19:55 <fungot> boily: riastradh will get sick of macosx, macosx, windows), then
02:20:02 <oerjan> fungot: i think girlfriend trouble presupposes a girlfriend
02:20:03 <fungot> oerjan: then you have my undying admiration or wonder". i just want to be
02:20:41 <FireFly> How does it feel to be admired by fungot?
02:20:42 <fungot> FireFly: the variable file is not present in the cheese help to counteract the ill effects of sword swallowing. design: letters sent to sword swallowers requesting information on technique and complications. setting: membership lists of the form
02:21:47 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
02:22:33 <FireFly> irc is the true fungot style
02:22:34 <fungot> FireFly: ' issue' should be distinguished. piracetam also helps healthy people. i have a problem
02:22:58 <FireFly> fungot: I'm sorry. Can I help you somehow with your distinguished issue?
02:22:59 <fungot> FireFly: most things are built to develop. :) " hey, we'll do it together)
02:23:19 <FireFly> Are you saying that you feel your codebase has been neglected, fungot?
02:23:20 <fungot> FireFly: okay, gotcha. didn't think of
02:24:41 -!- tromp_ has joined.
02:26:11 -!- andrew_ has joined.
02:28:54 -!- tromp_ has quit (Ping timeout: 245 seconds).
02:42:55 <hppavilion[1]> How about a programming language for which the bulk is Itertools and Functools?
02:48:37 <FireFly> Aren't functional Turing tarpits basically languages based on functools(ish)?
02:48:51 <FireFly> Assuming functools have, like, at least composition and const
02:49:24 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:01:11 <shachaf> whoa whoa whoa, what's this "incompressibility method" thing and why did no one tell me about it?
03:07:49 <boily> SKI combinators FTW!
03:07:59 <boily> hellochaf. what's an incompressibility method?
03:08:51 <shachaf> a trick which is too long to type about on my phone hth
03:09:21 <shachaf> and i don't know the details anyway
03:10:25 <shachaf> the idea is apparently that if you want to know the average runtime of an algorithm, or something like that, you can pick a special representative "incompressible" input and look at the runtime for that one input
03:10:50 <shachaf> or maybe there point is that it isn't special
03:11:50 <shachaf> but it is representative, so many statements about it will extend to almost all inputs
03:12:52 <boily> something something everything something...
03:13:54 <shachaf> anyway kolmogorov complexity is p. nifty
03:28:40 <zzo38> shachaf: Colorless is not also a color now; it is just that now there is the symbol that can be paid only by colorless mana. I think still, if you choose a color you can't choose colorless, and something that has both colorless and colored mana costs is not colorless (unless it has the devoid ability), etc
03:29:25 <zzo38> Once Wizards of the Coast will say what letter represents the colorless mana symbol then I can put that in too.
03:30:43 <zzo38> That command does match a mana cost for Magic: the Gathering though; it is deciding the converted mana cost of a card if the full mana cost is the input of that (given as '0' in the example).
03:34:56 <FireFly> Is 'U' for blue mana official? I thought it was just a convention
03:35:03 <zzo38> Yes it is official.
03:35:15 <zzo38> It is even in the rules.
03:41:09 -!- tromp_ has joined.
03:45:35 -!- tromp_ has quit (Ping timeout: 255 seconds).
04:11:51 <\oren\> wow this is the stupidest harem anime setup in the history of stupid harem anime setups
04:13:13 <\oren\> (Rokujouma no shinryakusha. the stupidity has to be seen to be believed)
04:14:25 <zzo38> I don't watch a lot of anime or even other TV show
04:16:30 <\oren\> I didn't watch a lot, until I started working and therefore had more spare time
04:19:19 <boily> probably the only good haremanime (haranimem?) is Love Hina, if only because it has a flying turtle.
04:21:20 -!- mauris has quit (Ping timeout: 260 seconds).
04:25:13 -!- tromp_ has joined.
04:29:27 -!- boily has quit (Quit: SHIFTY CHICKEN).
04:29:53 -!- tromp_ has quit (Ping timeout: 265 seconds).
04:35:40 -!- tromp_ has joined.
04:44:13 <hppavilion[1]> I'm making a funny programming language based on sexiness because why the hell not.
04:44:51 <hppavilion[1]> I wound up formalizing the way you specify n-somes in the process.
04:55:13 -!- tromp_ has quit (Remote host closed the connection).
05:12:52 <\oren\> hppavilion[1]: There's already a formalization of that. They are mapped to strings matching the regex /m*f*/. hth
05:13:23 <hppavilion[1]> MF can have 2 possible meanings, and it just inflates from there
05:13:44 -!- jaboja has quit (Ping timeout: 250 seconds).
05:14:30 <\oren\> well whata bout labeled directed graphs then?
05:14:54 <\oren\> (edges and points labeled)
05:15:19 <hppavilion[1]> \oren\: That works, but it has to be able to be put into a tag
05:16:33 <hppavilion[1]> I formulated a system that I'm pretty sure is unambiguous, AND it allows for vagueness as needed (e.g. if you don't care exactly how much tail this guy is getting at once), AND it incorporates time delay, AND it is familiar to anyone who knows regex
05:25:23 <zzo38> RDF is one kind of labeled directed graphs
05:56:16 -!- tromp_ has joined.
06:01:07 -!- tromp_ has quit (Ping timeout: 276 seconds).
06:01:56 <hppavilion[1]> What's wrong with this regex?: /"[^"\\]*(?:\\.[^"\\]*)*"/
06:02:19 <hppavilion[1]> For some reason, PLY uses Docstrings for stuff like this.
06:12:37 <oerjan> i thought today's xkcd had a way for the patient to theoretically escape alive if they had > 100 limbs, but then i read the hovertext.
06:17:35 <oerjan> i guess the bet option is neverending scalp massaging.
06:19:28 <oerjan> i think you can get there without harm if you fake discomfort in the right spot.
06:20:29 <oerjan> wait, is oxygen injection fatal
06:29:03 -!- interest1ng has quit (Quit: Leaving...).
06:32:18 <izabera> now that i own a smartphone i can download an app to read xkcd
06:32:37 <izabera> there are several apps for this! which one do i pick
06:35:00 <Elronnd> Oh, there are apps for xkcd?
06:35:16 <Elronnd> Oh, screw it. I'm not reading xkcd on a tiny phone screen
06:35:23 * Elronnd just got a phone recently too
06:43:42 <myname> bigger screen = better at reading manga
06:43:46 <Elronnd> Because, they're huge and unweildy
06:45:45 <myname> i use a nexus 5 and it could be a little taller
06:46:59 <myname> i mean, basically you are saying there is such a thing as a computer screen too big
06:47:06 -!- FreeFull has quit (Ping timeout: 240 seconds).
06:47:07 <myname> that doesn't make sense
06:47:08 <lifthrasiir> myname: I've got Nexus 5X that is slightly larger
06:47:30 <Elronnd> myname: for something to carry around, I want it small. For something stationary, I want it big
06:47:53 <myname> lifthrasiir: sounds neat
06:48:17 <myname> i am interested in the note series from samsung, but they are just too expensive
06:48:33 <lifthrasiir> I don't want to have a larger phone than that, but 5" seems to be a sweet spot
06:49:02 <pikhq> What I hate is the 6 or the 6p.
06:49:08 <pikhq> Those things are way too big.
06:49:24 <myname> the only valid reason i heard is that pockets on pants for girls are ridiculously small
06:49:39 <pikhq> I want to *hold* my phone.
06:49:53 <lifthrasiir> myname: at 6" you cannot comfortably reach the top area of the screen with one hand
06:50:17 <pikhq> Yes. I have a human hand that I use for holding my phone with one hand and interacting with it.
06:50:21 <myname> lifthrasiir: the trick is to make it so that you barely ever need the top of the phone
06:50:34 <pikhq> If you are not a human being this may not be applicable to you.
06:50:39 <lifthrasiir> myname: greatly depends on apps you are using
06:50:56 <myname> indeed, but just have a look at good apps
06:51:10 -!- triggerwarning has joined.
06:51:12 <myname> the put everything you need on the bottom for a reason
06:51:26 <pikhq> Also, frankly, the 5x is just about the maximum size I'd be comfortable with in my pocket.
06:51:32 -!- dcentral has joined.
06:51:59 <myname> with LMT or any other PIE control you don't even need to reach the top to drop down the notification area <3
06:57:25 <izabera> why do people buy samsung notes?
06:57:52 <myname> because bif screens are awesome for doing computer stuff
06:57:53 <izabera> reminds you of the resistive screens age
06:58:31 <myname> like, my sßartphone is an ssh client at many times
06:58:45 <myname> i want to have a big terminal and keyboard
07:00:25 <myname> nah, 12" laptop at most
07:00:42 <myname> alsoy laptops ten not to last 24h+ with ankers
07:03:15 <myname> on that topic, i'd love to have an arm laptop with like 11", trackpoint and a fullhd display
07:05:09 -!- oerjan has quit (Quit: Testing...).
07:05:26 -!- oerjan has joined.
07:18:02 -!- ais523 has joined.
07:24:18 -!- triggerwarning has quit (Quit: Leaving).
07:25:15 -!- FreeFull has joined.
07:27:58 <izabera> https://arin.ga/1AXjZf/raw
07:28:26 <izabera> i feel dumb because i wrote noglob like a thousand years ago and didn't realize i could write the others until now
07:28:53 <izabera> then i needed nullglob and i was like "damn, it'd be nice to have something like noglob for nullglob... oh wait"
07:29:25 <izabera> sharing because they may come in handy <.<
07:30:30 <lifthrasiir> (or 32^5, depending on the character set used, but doesn't matter)
07:30:53 <izabera> nope, just using php's tempnam
07:32:23 <izabera> doesn't goo.gl use something similar?
07:32:52 <lifthrasiir> izabera: I thought arin.ga is sequentially numbered because of 000002
07:33:06 <izabera> nope, those are just a few file i hand picked
07:34:44 <izabera> it used to be 000000-000006 but now there's only 0-2
07:35:14 <izabera> also there's arin.ga/aringa
07:37:01 <lifthrasiir> (which is sequentially numbered, by the way)
07:37:07 <izabera> my client is better than theirs
07:37:07 -!- Patashu has joined.
07:38:30 <izabera> >:o the source isn't available
07:38:50 -!- jaboja has joined.
07:41:15 <izabera> also they have users, that's not very minimalistic... >.>
07:52:56 -!- oerjan has quit (Quit: More testing).
07:53:29 -!- oerjan has joined.
08:05:57 <izabera> i didn't sleep enough, i went to work tired
08:06:14 <izabera> my alarm didn't even ring this morning, wonder why
08:06:26 <izabera> monday morning it's closed
08:29:12 -!- oerjan has quit (Quit: Testing again...).
08:29:34 -!- oerjan has joined.
08:29:48 <oerjan> ah adding explicit -n options fixed it
08:30:08 <oerjan> tmux wasn't showing the actual command names in the status line for some reason.
08:31:57 <oerjan> except for the one which is an actual shell.
08:41:34 <izabera> i downloaded the force awakens and it's in spanish or portuguese
08:43:21 <oerjan> sorry, only the original galactic basic is acceptable hth
08:46:45 <izabera> found an english version yay
08:46:51 -!- andrew_ has quit (Ping timeout: 260 seconds).
08:49:33 -!- andrew_ has joined.
08:57:07 -!- tromp_ has joined.
08:59:02 -!- Elronnd has changed nick to realdonaldtrump.
09:01:15 -!- tromp_ has quit (Ping timeout: 240 seconds).
09:03:46 -!- realdonaldtrump has changed nick to Elronnd.
09:09:52 -!- ^v has quit (Remote host closed the connection).
09:11:11 -!- FreeFull has quit (Ping timeout: 265 seconds).
09:13:55 <coppro> read Kaye, Laflamme, & Mosca or Nielsen & Chuang.
09:14:04 <coppro> Former is more accessible but also less comprehensive
09:28:20 -!- hppavilion[1] has quit (Ping timeout: 256 seconds).
09:36:31 -!- ais523 has quit.
09:44:53 -!- perrier____ has joined.
09:48:50 -!- diginet_ has joined.
09:49:55 -!- fungot has quit (*.net *.split).
09:49:55 -!- perrier___ has quit (*.net *.split).
09:49:55 -!- izabera has quit (*.net *.split).
09:49:55 -!- j-bot has quit (*.net *.split).
09:49:55 -!- diginet has quit (*.net *.split).
09:49:55 -!- Xe has quit (*.net *.split).
09:50:13 -!- Elronnd has changed nick to earenndil.
09:51:45 -!- Xe has joined.
09:52:09 -!- earenndil has changed nick to Elronnd.
09:54:19 -!- TellsGoto has joined.
09:55:53 -!- oerjan has quit (Quit: Latêr).
09:56:37 -!- contrapumpkin has joined.
09:57:45 -!- izabera has joined.
10:02:07 -!- ais523 has joined.
10:02:49 -!- Melvar` has joined.
10:08:02 -!- J_Arcane_ has joined.
10:11:07 -!- zgrep_ has joined.
10:11:26 -!- trnv2 has joined.
10:12:07 -!- TellsTogo has quit (*.net *.split).
10:12:08 -!- copumpkin has quit (*.net *.split).
10:12:08 -!- J_Arcane has quit (*.net *.split).
10:12:08 -!- trn has quit (*.net *.split).
10:12:08 -!- zgrep has quit (*.net *.split).
10:12:08 -!- fractal has quit (*.net *.split).
10:12:08 -!- Melvar has quit (*.net *.split).
10:12:08 -!- relrod has quit (*.net *.split).
10:12:12 -!- J_Arcane_ has changed nick to J_Arcane.
10:20:13 -!- trnv2 has changed nick to trn.
10:25:21 -!- fractal has joined.
10:37:09 -!- Welo has joined.
10:43:25 -!- jaboja has quit (Ping timeout: 260 seconds).
10:58:00 -!- tromp_ has joined.
11:02:32 -!- tromp_ has quit (Ping timeout: 255 seconds).
11:03:22 -!- jaboja has joined.
11:13:23 -!- Phantom_Hoover has joined.
11:13:54 -!- jaboja has quit (Ping timeout: 245 seconds).
11:41:10 -!- Patashu has quit (Ping timeout: 260 seconds).
11:56:13 -!- Melvar` has changed nick to Melvar.
11:59:56 -!- jaboja has joined.
12:10:36 -!- dcentral has quit (Ping timeout: 250 seconds).
12:15:12 -!- Welo has quit (Quit: Leaving).
12:15:51 -!- TellsGoto has quit (Quit: Leaving).
12:22:07 -!- dcentral has joined.
12:30:37 -!- hppavilion[1] has joined.
12:31:36 -!- hppavilion[1] has quit (Read error: Connection reset by peer).
12:32:30 -!- dcentral has quit (Ping timeout: 260 seconds).
12:38:34 -!- callforjudgement has joined.
12:38:38 -!- ais523 has quit (Disconnected by services).
12:38:39 -!- callforjudgement has changed nick to ais523.
12:38:56 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
12:44:00 -!- dcentral has joined.
12:51:29 -!- andrew_ has quit (Remote host closed the connection).
12:57:29 -!- Phantom_Hoover has joined.
12:58:56 -!- tromp_ has joined.
13:03:15 -!- tromp_ has quit (Ping timeout: 240 seconds).
13:11:30 -!- gniourf has quit (Quit: Leaving).
13:14:13 -!- gniourf has joined.
13:17:48 -!- mauris has joined.
13:19:58 -!- TieSoul has joined.
13:24:31 -!- TieSoul has quit (Ping timeout: 260 seconds).
13:31:21 -!- TieSoul has joined.
13:56:54 -!- tromp_ has joined.
14:05:15 -!- dcentral has quit (Remote host closed the connection).
14:08:07 -!- tromp_ has quit (Remote host closed the connection).
14:32:40 <HackEgo> [wiki] [[Special:Log/newusers]] create * Celeritas * New user account
14:47:24 -!- Celeritas has joined.
14:48:25 -!- Celeritas has quit (Client Quit).
14:52:10 <b_jonas> ais523: ok, so I wanted to ask some things about nh4, especially the save system
14:52:18 <ais523> b_jonas: in #esoteric?
14:52:22 <ais523> I mean it's not 100% an incorrect place
14:52:25 <b_jonas> ah no, let's try in the other channel
14:52:26 <ais523> but we're both in #nethack4 too
14:52:56 -!- `^_^v has joined.
14:55:47 -!- contrapumpkin has changed nick to copumpkin.
14:59:44 -!- jaboja64 has joined.
15:00:32 -!- Frooxius has quit (Quit: *bubbles away*).
15:03:14 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
15:03:35 -!- jaboja has quit (Ping timeout: 260 seconds).
15:04:53 <Melvar> Hey, what was the thing that reads C types and describes them linearly?
15:05:21 <ais523> it's both a website and a command-line tool
15:05:38 <ais523> seems to be in the ubuntu repos
15:06:10 <Melvar> Not in Fedora, it appears.
15:06:21 <ais523> I'm still waiting for it to install
15:07:57 <ais523> cdecl> cast x into pointer to array 4 of float
15:08:09 <ais523> (an example that actually came up earlier today)
15:08:40 -!- tromp_ has joined.
15:13:07 <ais523> " The declare, cast and explain statements try to point out constructions that are not supported in C. In some cases, a guess is made as to what was really intended. In these cases, the C result is a toy declaration whose semantics will work only in Algol-68. "
15:13:12 -!- tromp_ has quit (Ping timeout: 265 seconds).
15:14:40 <Melvar> For example, “declare foo as array of function (int) returning int”.
15:15:44 <ais523> Warning: Unsupported in C -- 'Array of function' (maybe you mean "array of pointer to function") int foo[](int )
15:16:03 <Melvar> (I tried it on the website.)
15:17:26 <Melvar> Or “declare foo as array of array of int”.
15:18:06 <ais523> actually Verity doesn't let you do either of those either
15:18:17 <ais523> arrays can only contain int pointers
15:18:34 <ais523> (Verity, being an Algol, has all variables const, but you can define const pointers that point to "stack" locations)
15:19:03 <ais523> in algol 68 it's something like "int ref x = loc int"
15:19:15 <ais523> then you can dereference and assign to x, which is the /name/ of a variable
15:19:19 <ais523> rather than the variable itself
15:20:13 -!- TellsTogo has joined.
15:21:39 -!- Welo has joined.
15:25:44 <Melvar> Huh. Can C actually allow more than two “long” in a row?
15:26:18 <ais523> hmm, you'd expect short short and long long long to have been made illegal (if they weren't already) to allow for future expansion
15:26:25 * ais523 vaguely wonders if unsigned unsigned is legal
15:26:39 <ais523> actually I think there's a specific list of what adjective and adjective/noun combos work
15:29:00 -!- SgeoIsrael has joined.
15:29:28 <Melvar> `cc int main(void) { long long long x = 0; printf("%zu\n", sizeof(x)); }
15:29:37 <HackEgo> <stdin>: In function ‘main’: \ <stdin>:1:28: error: ‘long long long’ is too long for GCC \ compilation terminated due to -Wfatal-errors.
15:29:53 <SgeoIsrael> Figured people would be interested. Also messaged Gregor and pikhq in the hopes they would say something here, but meh
15:30:26 <ais523> GNU folks must have been having fun when they wrote that error message
15:30:30 <SgeoIsrael> (Not that they didn't, but I decided to be impatient)
15:30:34 <ais523> `cc puts("does this work without a main?");
15:30:35 <HackEgo> <stdin>:1:6: error: expected declaration specifiers or ‘...’ before string constant \ compilation terminated due to -Wfatal-errors.
15:30:58 * Melvar giggled profusely in a lecture about that error message just now.
15:31:26 <SgeoIsrael> The lecture was about that error message?
15:35:46 <Melvar> No, I just saw the error message here and am simultaneously sitting in an “OS Security” lecture, which is not really for giggling about most of the time.
15:36:59 <ais523> I'd seen the message before but had forgotten about it
15:37:14 <ais523> `cc int main(void) { short short x = 0; printf("%zu\n", sizeof(x)); }
15:37:15 <HackEgo> <stdin>: In function ‘main’: \ <stdin>:1:24: error: duplicate ‘short’ \ compilation terminated due to -Wfatal-errors.
15:37:22 <ais523> OK, that's less interesting
15:37:29 <ais523> `cc int main(void) { unsigned unsigned x = 0; printf("%zu\n", sizeof(x)); }
15:37:30 <HackEgo> <stdin>: In function ‘main’: \ <stdin>:1:27: error: duplicate ‘unsigned’ \ compilation terminated due to -Wfatal-errors.
15:38:57 <ais523> it refers to a type that's at least 64 bits long, possibly longer
15:39:36 <Melvar> Oh? It doesn’t only need to be strictly longer than int and at least as long as long?
15:39:39 <ais523> on 32-bit Linux systems and 32- or 64-bit Windows systems, the usual is char=8, short=16, int=32, long=32, long long=64
15:39:53 <ais523> on 64-bit Linux, it's slightly different: char=8, short=16, int=32, long=64, long long=64
15:40:16 <ais523> 16-bit Windows was char=8, short=16, int=16, long=32; long long would be 64 but I'm not sure it has any C99 compilers
15:40:29 <ais523> Melvar: hmm, I'm not sure
15:40:39 <ais523> possibility of the standard integer types being out of order hadn't crossed my mind
15:40:51 <ais523> there is no good reason for them to be out of order, so I'd hope the standards committee had banned that
15:41:38 <SgeoIsrael> Just use the number of bits in the name of the type >.>
15:41:46 <Melvar> Not out of order, but IIRC there’s a few “at least as big as” rules.
15:42:08 <Melvar> SgeoIsrael: #include <stdint.h>
15:42:24 <ais523> there's also inttypes.h
15:42:29 <ais523> we have two competing integer headers!
15:42:36 <ais523> also limits.h, which serves a similar purpose
15:42:53 <Melvar> “The <inttypes.h> header shall include the <stdint.h> header.”
15:47:06 -!- ais523 has quit.
15:48:20 <izabera> i'm a functional programming noob, so this is a noob question: how is memoization "functional"?
15:52:11 <izabera> doesn't it require an external data structure to save the data?
15:55:18 <Melvar> I wouldn’t call it functional.
15:56:46 <SgeoIsrael> It's a non functional thing that makes functional programming more efficient in some ways sometimes
15:57:04 <SgeoIsrael> It's non functional but helps functional code more often
16:08:02 * izabera relabels functional languages as liar languages
16:13:08 -!- J_Arcane has quit (Ping timeout: 265 seconds).
16:13:24 -!- SgeoIsrael has quit (Ping timeout: 252 seconds).
16:25:15 -!- Phantom_Hoover has joined.
16:31:41 -!- J_Arcane has joined.
16:31:51 <b_jonas> Ok, so did I reassemble the comfy armchair slanted, or is it the desk that's slanted? I bet it's the former
16:44:51 -!- boily has joined.
16:45:32 <lambdabot> CYQB 211642Z 07005KT 12SM -SN OVC064 M02/M05 A2999 RMK SC8 SLP160
16:46:35 <b_jonas> `8-ball Did I reassemble the comfy armchair slanted?
16:47:39 <boily> cursed by ikea furniture?
16:48:05 <b_jonas> it's still quite a good chair
16:48:11 <b_jonas> was totally worth to get it here in the new home
17:14:19 -!- hppavilion[1] has joined.
17:17:45 -!- jaboja64 has quit (Ping timeout: 260 seconds).
17:19:33 -!- jaboja has joined.
17:19:45 -!- jaboja has quit (Remote host closed the connection).
17:20:03 -!- ^v has joined.
17:21:13 -!- relrod_ has joined.
17:21:16 -!- relrod_ has quit (Changing host).
17:21:16 -!- relrod_ has joined.
17:23:32 -!- relrod_ has changed nick to relrod.
17:42:37 -!- ais523 has joined.
17:43:33 -!- Lord_of_- has quit (Excess Flood).
17:44:36 -!- Lord_of_Life has joined.
17:47:40 -!- mauris_ has joined.
17:51:00 -!- mauris has quit (Ping timeout: 260 seconds).
17:53:11 -!- Welo has quit (Quit: Leaving).
18:14:26 <hppavilion[1]> And I'll have to restructure the code to implement environments. I need an environment in LISPy languages, right?
18:14:55 <boily> helloppavellon[1]!
18:15:01 <boily> yay for LISPing the world!
18:17:16 <Elronnd> "languages, right?" was on a nother line in my client, so it looked like "I need an environment in LISPy"
18:18:53 <boily> (def chicken (x) (print (+ (to-uppercase x) "CHICKEN")))
18:19:20 <hppavilion[1]> I was considering making my LISP support Python libraries as a backup when importing a normal lib doesn't work
18:19:21 * Elronnd doesn't actually know lisp
18:19:33 <ais523> boily: does + concatenate strings in the lisp variant you're using?
18:20:13 <b_jonas> fungot, do you like grapes?
18:21:06 <HackEgo> Robots are deterministic finite Belgians that repeat themselves. Taneb invented them.
18:21:23 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wisdo: not found
18:21:24 <HackEgo> cosplay/Cosplay is the art of dressing up as people to show off to other people dressed up as people.
18:21:29 <HackEgo> module/A module is like a vector space, except with a ring instead of a field.
18:21:36 <HackEgo> moth/Moths are the main ingredient of mothballs.
18:22:59 <shachaf> would people object if i changed the no-wisdom-found message
18:23:12 <boily> ais523: his523. I went with what I could remember Python used.
18:23:19 <shachaf> it's bad with this terminal and it's also kind of bad in general
18:23:27 <boily> I haven't Pythonned in a long time, and my memory's getting fuzzy about it :/
18:23:47 <boily> Kids, Java is bad for you programental health. Don't do it at home.
18:23:48 <ais523> idea: a sexp-based language which is semantically nothing like lisp
18:23:48 <b_jonas> shachaf: and I should make a command for multi-search of wisdoms instead of just one in aline
18:23:50 <hppavilion[1]> boily: Well to uppercase you use str.upper() in python
18:24:04 <b_jonas> shachaf: also, change the "command not found" message because it's ugly
18:24:07 <boily> hppavilion[1]: see! too much of the J-word!
18:24:37 <shachaf> b_jonas: We can't change that from within the system.
18:24:58 <b_jonas> `le/rn not found/not found? ¯\(°_o)/¯
18:26:34 <b_jonas> hppavilion[1]: no. plain scheme works like that. sadly.
18:27:17 <b_jonas> hppavilion[1]: scheme has crazy interpretations of too many arguments to some of the arithmetic primitives.
18:27:39 <hppavilion[1]> The most advanced program ever written in my LISPy is (WHILE (INPUT) (PRINT "You said something!"))
18:27:56 <boily> variadic functions are interesting, but are too much of a mess imho hth
18:28:03 <hppavilion[1]> Perhaps we should make a mathematical lisp for mathematicians?
18:28:17 <b_jonas> hppavilion[1]: that one exists too, sadly. it's called Mathematica.
18:28:23 <boily> much better to 'foldl (>) minBound'.
18:28:32 <b_jonas> (It's quite well done actually.)
18:28:48 <b_jonas> But it's not for the kind of mathematicians I am.
18:30:20 <shachaf> foldl and reduce are approximately the same thing, and neither of them makes sense.
18:31:17 <shachaf> :t let xs = [5,4,3,2,1] in and (zipWith (>) xs (tail xs)) -- maybe
18:35:00 <b_jonas> The difference is that Python and Mathematica also supports mixing of relation signs in chains, such as x <= y < z, whereas scheme doesn't.
18:35:47 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
18:39:03 -!- ^v has quit (Ping timeout: 260 seconds).
18:39:44 <b_jonas> oh, and the fun starts when you try to see the value of (0 != 1 != 0) in different languages
18:40:07 <b_jonas> in Mathematica, it's false. in Python, I think it's true. In scheme, I think it's also false. But I'm not sure I remember this right.
18:50:22 -!- hppavilion[1] has joined.
18:52:54 <hppavilion[1]> For my MathLISP, should I allow sets to be constructed in sety notation ({1, 2, 3}), or should I restrict it to something like "(set 1 2 3)"?
18:53:22 <shachaf> As long as you allow bag brackets for bags, it's fine.
18:53:34 <hppavilion[1]> The former is more readable and more mathematical, but it also obligates me to implement set-builder notation in a simple way. The latter is more in line with LISPiness
18:54:07 <hppavilion[1]> shachaf: Well of course. I'd probably allow either {$ $} as well as the unicode characters, though
18:54:21 <shachaf> I think almost none of those are true.
18:54:50 <hppavilion[1]> (That moment when you use s notation and completely change a sentence's meaning)
18:55:43 <hppavilion[1]> shachaf: The latter is definitely LISPier, and the former is more mathy to most people. Set-builder notation seems obligatory.
18:56:11 <hppavilion[1]> I mean, obviously {1, 2, 3} and (set 1 2 3) are equivalent, because syntax /= reality, but...
18:56:36 <hppavilion[1]> shachaf: But what do you think? {...} or (set ...)?
18:56:50 <hppavilion[1]> If I do {...}, I'll also implement matrix notation
18:56:57 <hppavilion[1]> shachaf: Because you were the first person to respond to me.
18:57:04 <shachaf> I'll make sure not to do that next time.
18:57:27 <hppavilion[1]> And thus you are required by esia law to answer my question about implementation
18:57:44 <hppavilion[1]> izabera: shachaf isn't going to help. What do you think?
18:58:02 <izabera> literally sit down at my computer 20 seconds ago
18:58:03 <shachaf> Don't pick on people like that.
18:58:31 <shachaf> Especially not me, but also other people.
18:59:37 -!- FreeFull has joined.
19:02:43 <hppavilion[1]> Another question: since I'm implementing num*const (e.g. you can write 5i and it is a complex number), should I allow inline complex numbers? i.e. can you write 2+5i, or should you have to do (+ 2 5i)?
19:03:07 <hppavilion[1]> Or maybe I should even make you do (+ 2 (* 5 i)) or even (+ 2 (* 5 (i)))
19:03:36 <izabera> yeah don't make it too easy
19:04:42 <hppavilion[1]> izabera: I thought sloth was a virtue among programmers.
19:04:58 <izabera> not when they're implementing languages
19:05:10 <hppavilion[1]> Sloth leads to minimalism if channelled correctly, and to effective tools to do stuff for you.
19:05:21 <izabera> minimalism harms usability in this case
19:05:59 <hppavilion[1]> Though I do think that (set 1 2 3) might actually be better
19:06:17 <hppavilion[1]> And that way I can get away with more restricted set-builder notation
19:07:01 <hppavilion[1]> Fuck it, I'll implement set notation later if ever.
19:07:23 -!- ^v has joined.
19:10:19 -!- `^_^v has quit (Ping timeout: 260 seconds).
19:12:49 -!- hppavilion[1] has quit (Ping timeout: 276 seconds).
19:21:55 -!- ^v has quit (Ping timeout: 240 seconds).
19:27:19 -!- hppavilion[1] has joined.
19:28:01 <hppavilion[1]> 5.0 is becoming the int 5, followed by the function ., followed by the number 0
19:33:28 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
19:40:57 -!- Phantom_Hoover has joined.
19:42:56 <hppavilion[1]> Somehow, Lex detects the order in which functions are defined in the file
19:43:19 <hppavilion[1]> Which, AFAIK, shouldn't be possible, even with the C API, because I'm pretty sure globals() returns a dict, not an odict
19:51:24 <zzo38> Why is my system load average stuck at 3.0?
19:52:15 -!- heroux has quit (Ping timeout: 240 seconds).
19:56:05 <izabera> you didn't shake it properly
19:56:55 <ais523> zzo38: look for three processes using 33% CPU each
19:57:17 <ais523> or if you have more than one core, 50% or 100% each for 2 and 3+ cores respectively
19:58:32 -!- heroux has joined.
19:59:04 <zzo38> Actually it seems to be working except that it always adds 3.0 to what it is supposed to be; I don't know how system load average is calculated in Linux though
20:04:38 -!- dcentral has joined.
20:07:09 -!- Patashu has joined.
20:08:02 -!- mihow has joined.
20:09:22 -!- ais523 has quit.
20:10:35 <hppavilion[1]> What should the empty (output) be for bit shifts and bitwise operations?
20:10:54 <hppavilion[1]> e.g. what's the MathLisp expression `(&)` (no arguments) equivalent to?
20:15:44 <mauris_> well, it should be the identity for the operation in question
20:15:46 -!- mauris_ has changed nick to mauris.
20:15:57 <mauris> so (+) is 0 because x + 0 == 0 + x == x
20:16:07 <mauris> and (*) is 1 for the same reason
20:16:27 <mauris> so (&) should be -1, and (|) and (^) should be 0
20:16:44 <mauris> whereas (<<) and (>>) aren't defined
20:29:10 <hppavilion[1]> mauris: They aren't defined because they are side-based?
20:29:55 <mauris> yeah. (the mathsy way to say that is "not commutative", i.e. x << y isn't y << x)
20:30:48 <shachaf> Things that aren't commutative can still have identities.
20:30:50 -!- oren_webclient has joined.
20:32:18 <hppavilion[1]> oren_webclient: Hack the shit out of their wifi then. They deserve it.
20:32:44 <hppavilion[1]> mauris: COMMUTATIVE! THAT'S THE WORD I WAS LOOKING FOR!
20:33:22 <hppavilion[1]> Or I suppose in the case of <<, they're the same, but there's another one?
20:33:51 <hppavilion[1]> I suppose for x<<y, x=0 is commutative, x=111... is commutative, and y=0 is commutative
20:34:02 <hppavilion[1]> Oh, but you shift in zeros, because << isn't rotate
20:34:09 <mauris> commutativity isn't per se reason, yeah, oops
20:34:32 <mauris> if you call string concatenation ++, then having (++) be the empty string is a good idea, because it's a left and right identity
20:34:44 <mauris> but "a" ++ "b" isn't "b" ++ "a", of course
20:35:16 <mauris> hppavilion[1]: "commutative", here, applies to the operator, not its operands
20:35:17 <hppavilion[1]> So <<< for rotate would have 4 identities: x<<<y where x=0, x=1 for all the slots, y=0, and y=the number of slots
20:35:51 <mauris> i think both have a right identity (0) but no left identity
20:36:53 <hppavilion[1]> mauris: But if <<< is rotate with a fixed size (say, 64 bits), then doesn't it have the left identities 0 and 2**64?
20:37:14 <mauris> (hmm... i don't know how shifts work with negative numbers. i suppose x >> y is x << (-y) and vice versa)
20:37:36 -!- oren_webclient has quit.
20:38:19 <hppavilion[1]> mauris: Perhaps x<<y where x<0 is... OK, I have NFC unless we do something petty like use encodings
20:38:42 <hppavilion[1]> If we allow encodings, we could make the low bit the sign bit (as there is not "high bit" on unbounded integers)
20:39:13 <mauris> for <<, 0 is a left "absorbing element". (0 << x) == 0. there's no left identity L so that (L << x) == L, though
20:42:11 -!- Patashu has quit (Ping timeout: 264 seconds).
20:42:27 <shachaf> whoa whoa whoa, it's mauris the automaton expert
20:43:51 <shachaf> are there classes of DFAs/NFAs that you can intersect efficiently?
20:48:07 <mauris> this guy says yes http://cstheory.stackexchange.com/a/28061
20:50:28 <mauris> i can also think of the silly example where: it's easy to determine if one of them accepts nothing at all, and then you can "intersect" them "efficiently" :(
20:51:50 <shachaf> is there a standard algorithm for collapsing a tree with various equal subtrees into a minimal graph?
21:01:02 <mauris> hmm, i imagine you could iterate over it post-order, and keep track of a set of subtrees you've already seen?
21:01:47 <shachaf> I suppose this is a special case of DFA minimization.
21:07:44 <mauris> ooh http://galaxy.eti.pg.gda.pl/katedry/kiw/pracownicy/Jan.Daciuk/personal/adfa.html
21:13:17 <mauris> hmm, an idea i had: if you're not sure whether some set is countably infinite or even bigger, you can ask the question "can i visually represent each element of the set?"
21:14:59 <mauris> finite automata and trees and graphs are good examples! you can draw each of them, so there's some injection from "automata/trees/graphs" to "bitmap images of drawings of automata/trees/graphs"
21:16:14 <mauris> and bitmap images are just sequences of bytes, which clearly form a countably infinite set
21:17:11 <shachaf> Well, another question you can ask is whether you can use strings of bits.
21:17:22 <mauris> what this boils down to: i guess for a set to be bigger than aleph_0, its elements need to encode some kind of "infinite" structure themselves?
21:20:02 <mauris> i wonder if there's a more formal way to state that. "structure" is so vague!
21:23:21 <shachaf> I would state it structurally.
21:23:49 <shachaf> Which I guess is to say, in terms of injections and surjections with finite and infinite setts.
21:32:47 -!- dcentral has quit (Quit: Leaving).
21:34:10 <shachaf> Maybe not very helpful to you.
21:35:47 <hppavilion[1]> That seems like an excellent idea... What could possibly go wrong?
21:40:31 -!- Frooxius has joined.
21:45:40 <izabera> CMD as in windows' cmd.exe ?
21:45:54 <izabera> are you going to host a public shell?
21:48:25 -!- TieSoul has quit (Read error: Connection reset by peer).
21:52:40 <hppavilion[1]> izabera: A command line. Not a public shell; more of a tool to be 1337 on the internet
21:53:16 <hppavilion[1]> Since everything is moveing to browser, I figure why not make a browser-based command line?
21:59:43 <hppavilion[1]> Now I just have to figure out how to parse with YACC...
22:00:39 <izabera> parsing shell scripts proprly isn't trivial
22:01:04 <izabera> also i don't know the difference between "a command line" and "a pubblic shell"
22:01:45 <hppavilion[1]> izabera: It's not a public shell. It's a command-line interface that is used for interacting with the interwebz instead of with someone's computer
22:03:18 <izabera> or rather what do you want it to do?
22:03:59 <hppavilion[1]> Instead of a traditional filesys, you'll store webpage URLs
22:10:56 <lambdabot> CYYB 212200Z 10003KT 1/2SM R08/5000VP6000FT/D -DZ FG VV003 01/01 A2974 RMK FG8 SLP087
22:14:30 -!- dcentral has joined.
22:16:58 <hppavilion[1]> izabera: There. I wrote a 6-mode unixy CLI lexer/sorta parser.
22:17:31 <hppavilion[1]> It matches strings, -flags (equivalent to -f -l -a -g -s), --flags (no equivalent), and --key=value
22:18:22 <hppavilion[1]> It produces a 3-tuple: first argument is the command and its argument, second is a list of non-valued flags, third is a dict matching flags to values.
22:18:42 <hppavilion[1]> Only thing it can't do that I wish it could is lists
22:19:19 -!- mauris_ has joined.
22:22:24 -!- mauris has quit (Ping timeout: 256 seconds).
22:42:13 -!- TellsTogo has quit (Ping timeout: 265 seconds).
23:00:01 -!- zzo38 has quit (Disconnected by services).
23:00:13 -!- zzo38 has joined.
23:00:33 <zzo38> There is already program such as curl and wget and nc and so on can be used to work with internet resources
23:17:06 -!- Sprocklem has quit (Ping timeout: 272 seconds).
23:24:01 -!- Sprocklem has joined.
23:51:36 -!- jaboja has joined.