00:05:31 <ajf> I wrote another example
00:05:41 <ajf> crap, I think writing semi-useful programs is possible
00:06:24 <Bike> see, this is an advantage of formalization.
00:06:43 <Bike> once you strip away obfuscation, you can get a formalism that is itself fucked, and go from there. this woulda been more obvious without the smoke!
00:08:33 <FreeFull> It's not turing complete, but I wonder how powerful it is
00:09:31 <ajf> well, only today have I discovered its power
00:09:36 <ajf> ...two years after creating it
00:10:47 <ajf> here's another semi-useful program! http://esolangs.org/wiki/Deviating_Percolator#Countdown
00:10:54 <ajf> proving you can indeed write loops in this thing
00:12:31 <FreeFull> It does have a conditional jump
00:13:54 <ajf> the thing was I didn't realise there was any practical way to change a variable's value multiple times and keep track of it
00:14:51 -!- Bike has quit (Ping timeout: 246 seconds).
00:16:15 * oerjan learns that #haskell activity has decreased since 2009
00:17:17 <elliott> oerjan: note that lambdabot used to announce the title of every link.
00:17:26 <elliott> (and lambdabot activity has also decreased.)
00:18:22 <ajf> shame I didn't include any trig functions in DevPerc
00:18:26 * shachaf learns that #rust activity is at an all-time high.
00:18:34 <shachaf> last i checked kmc was also at an all-time high
00:19:15 -!- Bike has joined.
00:19:27 <oerjan> shachaf: don't joke, he _has_ already offered you cookies you know
00:20:06 <kmc> I won't drug shachaf
00:20:12 <kmc> that's Not Cool
00:20:39 <shachaf> not without permission at least??
00:20:58 <oerjan> i've learned from browsing r/all in previous days that r/trees is all about cookies.
00:21:44 <shachaf> kmc: when we were in SF i was going to make a drugz joke when someone talked about setting off fireworks while "surrounded by trees""""
00:21:45 <oerjan> lol#, is that the .net derivative of lol?
00:22:02 <kmc> it's an unboxed lol
00:22:19 <kmc> shachaf: yeah if you asked for some, that would be different
00:22:28 <kmc> also i'm glad you approve of the term 'trees'
00:22:31 <shachaf> a cosmic giggle on the breath of the universe
00:22:37 <kmc> TREEEEEEEEEEES
00:22:46 <kmc> i'm not sure
00:22:57 <shachaf> it's a p. popular term at stanford
00:23:13 <kmc> also ++ for remembering the cosmic giggle quote
00:23:22 <kmc> also I didn't know you know stanford things
00:23:32 <shachaf> well i do live right by it
00:23:58 <oerjan> <ajf> shame I didn't include any trig functions in DevPerc <-- bit tricky with only integers, no?
00:24:06 <shachaf> if nothing else there are people with "party with trees" shirts and a stanford logo on the back
00:24:10 <shachaf> which i assume is a drugz joke??
00:24:29 <kmc> seems likely
00:24:39 <Bike> oerjan: obviously SINE OF X should be sin(x*pi)
00:24:44 <kmc> is the stanford logo tree El Palo Alto?
00:25:17 <ajf> oerjan: round(sin(x*180/Math.PI)*128 +127)
00:25:19 <oerjan> Bike: i admit that _is_ simple
00:25:21 <shachaf> does kmc answer his own questions?
00:25:57 <shachaf> it's also the mascot or something
00:26:01 <Bike> ajf: degrees?? get out
00:26:56 <oerjan> yeah make that *128 instead
00:28:08 <ajf> Bike: yes, degrees are inappropriate
00:28:15 <ajf> it would make more sense to use a 0-255 scale
00:29:18 <ajf> I could add some "character" to the language by adding COSEC and SEC, but not SINE or COSINE :P
00:30:42 -!- Bike has quit (Ping timeout: 264 seconds).
00:31:31 -!- Bike has joined.
00:32:54 -!- sprocklem has quit (Remote host closed the connection).
00:33:10 -!- tertu has quit (Ping timeout: 256 seconds).
00:33:46 <ajf> fun fact: sin^2(x) = 4/(cosec^2(x/2) + sec^2(x/2))
00:34:28 <Bike> now do sin(sin(x))
00:35:30 <ajf> it looks mostly like a normal sine graph
00:35:44 <elliott> f^2(x) as notation for f(x)^2 is :(
00:36:22 <Bike> let's just use exp instead of everything.
00:36:47 <shachaf> elliott: esp.ly when you use sin¯¹ to mean the inverse of sin
00:37:06 <shachaf> i don't know what the inverse of sin is but i bet Fiora has mmitted it
00:38:29 <shachaf> kmc: i didn't know you were half-methodist
00:39:36 <kmc> actually I did go to a methodist church for a while
00:39:41 <kmc> don't really have any interesting stories about it
00:40:00 <kmc> I think I took church somewhat more seriously than my parents intended, and I'm slightly pissed off about it still
00:40:12 <shachaf> Fiora: it's like the dual of "committed"
00:40:28 <Bike> that makes impressively little sense
00:40:34 <Bike> well not impressively.
00:40:45 <shachaf> maybe i should've said cosin
00:40:53 <shachaf> kmc: is that why you say things like "religion is a personality flaw"
00:41:11 <Fiora> I don't understand...
00:41:27 <Bike> that's because it doesn't make sense.
00:42:46 <Bike> D(sin^n) = D(sin^(n-1)) * (cos . sin^(n-1))
00:42:50 <Bike> that's kinda neat.
00:43:01 <Bike> where ^n is composition, as god/elliott intended.
00:43:13 <shachaf> Bike: hey you should've been at conal's talk about automatic differentiation
00:43:55 <Bike> I don't know what the other one is
00:44:15 <Bike> kmc: have you considered manichaeism
00:44:28 <Bike> oh, still cali.
00:46:30 <shachaf> Bike: Well, conal used to live in WA.
00:46:35 <shachaf> But then you didn't say hi so he moved.
00:48:16 <Bike> http://www.guardian.co.uk/global-development-professionals-network/2013/jul/24/open-source-drug-discovery-research i think my favorite part of open source culture is all the parts that have nothing to do with computer programming
00:49:54 -!- kallisti has joined.
00:49:55 -!- kallisti has quit (Changing host).
00:49:55 -!- kallisti has joined.
00:50:05 -!- yorick has quit (Remote host closed the connection).
00:52:04 <Bike> my least favorite part is stallman whining in the comments there
00:52:44 <Lumpio-> good grief that walloftextcomment
00:53:42 <Bike> https://id.guardian.co.uk/profile/rmstallman/public
00:56:41 <Bike> the other joke here is that i guess stallman likes nader?
00:57:37 <Bike> or pseudo stallman as the case may be.
01:00:23 <kmc> shachaf: do you think the use of uintptr_t here is a little odd? https://github.com/mozilla/rust/blob/master/src/rt/rust_log.cpp#L321-L325
01:02:08 -!- Bike has quit (Ping timeout: 260 seconds).
01:03:24 -!- Bike_ has joined.
01:03:32 -!- kallisti has quit (Ping timeout: 260 seconds).
01:03:48 -!- Bike_ has changed nick to Bike.
01:06:26 <Bike> isn't there %p or something
01:06:35 <kmc> the originals are size_t
01:06:40 <kmc> so %z would work but it's maybe a glibc extension
01:06:47 <kmc> but I will just cast them to unsigned long instead
01:06:50 <Bike> oh, that's weird
01:07:02 <kmc> Linux kernel code has a policy of "fuck it, unsigned long is the one true type"
01:07:20 <Bike> i assume that's a torvalds quote
01:07:30 <kmc> they definitely assume pointers fit in an unsigned long
01:07:34 <kmc> but you can do that when you're a kernel
01:07:36 <Fiora> kmc: I actually ran into a crash bug at work on windows
01:07:40 <Fiora> where a log message used %z, I think
01:07:43 <kmc> and refuse to build on compilers other than gcc
01:08:08 <Fiora> and because windows interpreted the message differently, it dereferenced a non-pointer as a pointer
01:15:11 <Gracenotes> abstraction is an obstacle that makes it hard to build features
01:15:38 <Gracenotes> the wrong feature is easier to change than the wrong abstraction
01:43:08 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
01:44:00 -!- ajf has quit.
01:46:23 -!- carado has quit (Ping timeout: 264 seconds).
01:55:53 <comex> kmc: %zu is standard
02:35:18 -!- kallisti has joined.
02:35:18 -!- kallisti has quit (Changing host).
02:35:18 -!- kallisti has joined.
03:15:50 -!- sacje has quit (Ping timeout: 240 seconds).
03:21:02 -!- Nisstyre has quit (Quit: Leaving).
03:21:08 -!- sacje has joined.
03:23:40 -!- kallisti has quit (Quit: Reconnecting).
03:28:41 -!- kallisti has joined.
03:28:41 -!- kallisti has quit (Changing host).
03:28:41 -!- kallisti has joined.
03:34:30 -!- nooodl has quit (Ping timeout: 256 seconds).
03:44:12 -!- conehead has joined.
03:45:24 -!- conehead has quit (Remote host closed the connection).
03:46:06 -!- conehead has joined.
04:04:03 <Gracenotes> I like the annotated UI of /r/rust, btw
04:05:33 <Bike> is that a word
04:06:00 <oerjan> it is, but not for uis afaik
04:06:07 <oerjan> it applies to wine tasting
04:06:32 <Gracenotes> that is one such use. as with all French terms, they have to make it about food/drink
04:08:16 <Gracenotes> or I guess you could use 'ambiance', but who wants English words
04:09:48 <Gracenotes> Anyway, it's like those designs that use Cyrillic/Hebrew characters to write English. Except it's using syntax, and of a programming language.
04:10:12 -!- Bike has quit (Ping timeout: 256 seconds).
04:11:14 -!- Bike has joined.
04:11:38 -!- oerjan has quit (Quit: Ngiote).
04:15:35 -!- tertu has joined.
04:21:05 <shachaf> Hmm, I think I'm going to be sick in the next few days. :-(
04:23:11 <Gracenotes> Hope you get better after getting worse soon
04:30:07 -!- kallisti has quit (Quit: Lost terminal).
04:31:42 -!- kallisti has joined.
04:32:34 -!- kallisti has quit (Client Quit).
04:32:45 -!- kallisti has joined.
04:56:47 -!- oklopol has joined.
05:00:45 -!- kallisti has quit (Ping timeout: 264 seconds).
05:06:19 -!- kallisti has joined.
05:06:20 -!- kallisti has quit (Changing host).
05:06:20 -!- kallisti has joined.
05:17:52 -!- copumpkin has quit (Ping timeout: 276 seconds).
05:18:31 -!- tertu has quit (Ping timeout: 276 seconds).
05:46:11 -!- copumpkin has joined.
05:48:02 -!- mnoqy has joined.
05:51:43 -!- tertu has joined.
06:18:19 -!- sprocklem has joined.
06:38:38 -!- tertu has quit (Ping timeout: 240 seconds).
06:42:04 -!- douglass_ has quit (Ping timeout: 256 seconds).
06:51:23 -!- augur has quit (Ping timeout: 245 seconds).
06:54:12 -!- Bike has quit (Ping timeout: 246 seconds).
06:56:59 -!- pumpkin has joined.
06:56:59 -!- copumpkin has quit (Remote host closed the connection).
06:57:48 -!- Bike has joined.
07:00:32 -!- sebbu has quit (Ping timeout: 260 seconds).
07:03:08 -!- augur has joined.
07:05:03 -!- conehead has quit (Quit: Computer has gone to sleep.).
07:06:25 -!- sacje has quit (Excess Flood).
07:06:54 -!- sacje has joined.
07:08:53 <Vorpal> How the hell do you write "const char* const *myVar;" in a sensible way in C? "const char * const * myVar;"? It doesn't fit into my normal pattern of "type *var;"
07:09:35 <Vorpal> That is, how should the spaces be done.
07:09:52 <shachaf> const is like a subscript. *_{const}
07:10:26 <Bike> typedef const char * const * vorpal; vorpal blade; clearly
07:11:41 <Vorpal> I think I could make it const char *const *const myVar actually, since i never change it after assignment (it is set early in main() and read far outside of main)
07:12:11 <Vorpal> /home/arvid/src/own/cfunge/trunk/src/main.c:264:5: warning: will never be executed [-Wunreachable-code]
07:12:22 <Vorpal> GCC complains if I remove the break!
07:12:29 <Vorpal> Clang complains if I have the break.
07:12:50 <Bike> shachaf is on the mark here.
07:13:22 <Vorpal> shachaf, I guess GCC isn't really smart about non-standard abort functions, even if that function does call abort in the end
07:13:44 <Vorpal> shachaf, does unicode even work in that context?!
07:13:45 <comex> Vorpal: consider adding __attribute__((noreturn)) as needed
07:14:14 <shachaf> Maybe you'll need a space after the ★, though. Not so great.
07:14:43 <Gracenotes> "Innovative? Not really innovative. Ever since the Ipad came out, that was the last innovation."
07:15:08 <shachaf> Gracenotes: innovation in trolling technologies
07:15:24 <Vorpal> comex, hm good point. But what about other compilers then? Even though we can obviously hide the attribute from them, they won't understand that
07:15:27 <shachaf> Vorpal: Speaking of which, "char* x;" is the devil. You should use "char *x;" everywhere.
07:15:38 <Vorpal> shachaf, that is what I do as I said
07:15:42 <Vorpal> "It doesn't fit into my normal pattern of "type *var;""
07:15:46 <comex> Vorpal: actually, C11 has stdnoreturn.h and compilers actually support it these days
07:15:57 <comex> well, some of them
07:17:17 <comex> then either use an ifdef and __attribute__, or turn off that stupid warning
07:17:50 <shachaf> imo burn that bridge when you come to it
07:18:27 <HackEgo> comex: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
07:19:03 <comex> wow, that's horrible :p
07:19:57 <fizzie> shachaf: You can't (portably) #define ★, macro names must be identifiers and identifiers consist only of [a-z0-9_] or "other implementation-defined characters".
07:20:35 <fizzie> (Or universal-character-name's.)
07:21:26 <comex> nope, not in universal character names
07:21:45 <Bike> c needs a trigram for ★.
07:22:10 <fizzie> I seem to recall that GCC needs a flag before it accepts \uXXXX in identifiers.
07:22:40 <kmc> shachaf: bummer, hope you aren't sick for your birthday and/or trains-doings in SF
07:23:55 <fizzie> Aww, "error: universal character \u2605 is not valid in an identifier" even with -fextended-identifiers.
07:25:08 <fizzie> "Each universal character name in an identifier shall designate a character whose encoding in ISO/IEC 10646 falls into one of the ranges specified in D.1."
07:25:46 <shachaf> kmc: perhaps i will sleep and wake up and see
07:26:07 <kmc> Rust is the only language I know of that specifies a Unicode normalization form for source (NFKC)
07:27:57 <fizzie> D.1 allows 00A8, 00AA, 00AD, 00AF, 00B2-00B5, 00B7-00BA, 00BC-00BE, 00C0-00D6, 00D8-00F6, 00F8-00FF, 0100-167F, 1681-180D, 180F-1FFF, 200B-200D, 202A-202E, 203F-2040, 2054, 2060-206F, 2070-218F, 2460-24FF, 2776-2793, 2C00-2DFF, 2E80-2FFF, 3004-3007, 3021-302F, 3031-303F, 3040-D7FF, F900-FD3D, FD40-FDCF, FDF0-FE44, FE47-FFFD, 10000-1FFFD, 20000-2FFFD, ..., E0000-EFFFD.
07:28:08 -!- variable has quit (Ping timeout: 256 seconds).
07:30:05 <Vorpal> Why does ungetc() exist?
07:30:20 <fizzie> For easy making of one-character lookahead parsers?
07:30:46 <Vorpal> Hm okay, but that seems like a very minor use case
07:31:19 <Vorpal> Why would you want to do that with newlines?
07:31:26 <fizzie> It doesn't sound all that minor. "Read all the digits but not anything after the last digit", for example, sounds reasonably common.
07:31:54 <Vorpal> Hm I guess so, yeah. I was thinking in terms of language parses
07:32:14 <Vorpal> Which mostly tend to work on lexers anyway
07:32:42 <fizzie> Any set of strings is a language. :p
07:33:06 <shachaf> kmc: oops i meant to send that in this channel
07:33:15 <Vorpal> /home/arvid/src/own/cfunge/trunk/src/fingerprints/SCKE/SCKE.c:66:30: warning: cast from 'struct sockaddr *' to 'struct sockaddr_in *' increases required alignment from 2
07:33:24 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `oops'': not found
07:33:26 <Vorpal> Huh, I thought you were supposed to do that
07:33:58 <kmc> Vorpal: me too, awkward
07:34:20 <Gracenotes> if you created it as a sockaddr_in, it should be aligned nicely enough
07:34:34 <shachaf> kmc: not entirely sure what happened but i hope things work out one way or another
07:34:37 <kmc> i'd think struct sockaddr should have the max alignment requirement of any sockaddr_*, so this is a library bug
07:34:38 <lambdabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
07:34:43 <kmc> thanks shachaf
07:34:53 <Vorpal> Well I do check that the family is AF_INET first, so it should not matter
07:35:40 <Vorpal> fizzie, fungot uses STRN right?
07:35:40 <fungot> Vorpal: firstfew x ( y:ys) m y: o ( drop m ys) m
07:35:47 <Gracenotes> do you see what I mean, though? if you are receiving the pointer from somewhere, the code that instantiated that point should have gotten the alignment right
07:35:53 <Bike> http://www.floodgap.com/software/classilla/
07:35:53 <fizzie> Vorpal: A lot, yes. Especially the Underload bit.
07:36:05 <Vorpal> fizzie, do you happen to remember if it uses G (get string from fungespace)?
07:36:24 <fizzie> Vorpal: I'm sure it does use both G and P extensively.
07:36:55 <Vorpal> fizzie, I found a potential bug in cfunge's G here, thanks to clang's warnings. I use a stringbuffer helper module to build up the char. Which uses char*, not funge cells...
07:37:01 <Vorpal> So it truncates the value. Heh
07:37:38 <Bike> cfunge needs a security audit, clearly
07:37:40 <fizzie> Well, I wouldn't probably have hit that bug, since you can't get anything into the Underload program that isn't in the input that came over IRC.
07:38:06 <Bike> i mean this is just irresponsible, what if someone hacked fungot's server to do something silly.
07:38:07 <fungot> Bike: well yes, that's a urban legend i think. they usually feature manga characters, fan art and some times even nudity and hentai. :p they'll send invitations soon to the people
07:38:34 <Bike> what mode is this. i forget how to check
07:38:38 <Vorpal> Wow, what a life fungot is living
07:38:38 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube
07:38:45 <Bike> but of course.
07:38:48 <fizzie> fungot: We've all noticed *that*.
07:38:49 <fungot> fizzie: and the scheme is just loads of interactive fiction in general. there are probably a great deal
07:39:09 <fizzie> (And the other major use of G/P is also related to the IRC messages; I don't think I use G/P for "data strings".)
07:39:49 <kmc> shachaf: I'm trying to change the thing where my default way of dealing with interpersonal conflict is to stop talking to that person forever
07:40:33 <kmc> it's tough because that solution ``works'' 100% of the time and often there is no clear other solution
07:40:46 * Vorpal considers how to make the string buffer module generic with respect to the element size
07:41:18 <fizzie> Templates! Oh, wait, C.
07:41:35 <Bike> implement a templating system through the preprocessor, duh
07:41:35 <fizzie> Templates done with the C preprocessor, then.
07:42:01 <Vorpal> fizzie, you can of course use macros for that. I do that for my hash library for no particular reason.
07:42:30 <Vorpal> #define SUFFIX _long, #define TYPE long, #include "actual_header.h"
07:42:53 <Vorpal> fizzie, gah you beat me to that, while i was typing
07:43:20 <Vorpal> Anyway the code becomes such a mess, I would not recommend it
07:44:02 <fizzie> I had some sort of a macro-driven templatey thing for a "generic" fixed-size memory-block pool somewhere, it used some build-time helpers to collapse the implementations for all types with the same sizeof into one piece of code. That was also a mess.
07:44:32 <fizzie> Makes me wonder if C++ compilers do that for template instantiations that generate code that only depends on the size of the type.
07:45:39 <Vorpal> Can you use sizeof with the preprocessor or how did you do the size-merging?
07:46:22 <fizzie> Build system scripts that compiled int main(void) { printf("%d", sizeof (TYPE)); } kind of programs and wrote new .h files, or something like that.
07:46:38 <fizzie> (The preprocessor doesn't indeed know about sizeof.)
07:46:43 -!- Bike has quit (Ping timeout: 276 seconds).
07:46:52 <fizzie> Er, %zu and not %d, I hope.
07:47:14 <kmc> GNU Radio uses some Python template system (Cheetah?) to template some of its C files
07:47:42 <kmc> Gecko has a Python script that outputs an expando macro header!!
07:47:52 <Vorpal> Dammit, doing this with a element_size member of the struct is annoying, since I have to do indexing and what not into the array, and write a proper null byte at the end and so on...
07:51:50 <kmc> maybe I'm sad that Rust can't do anything directly analogous to expando macros
07:51:52 <fizzie> If C++ compilers don't innately do it, I'm sure you could do it "manually" with just template <unsigned int N> class sized_pool { ... }; template <class T> class typed_pool : public sized_pool<sizeof (T)> { ...}; kinda thing.
07:52:10 <olsner> some linkers can merge functions that ended up identical
07:52:47 <kmc> I'm not sure if that's a standard name... I mean the thing where you have a file that's like FOO(bacon) \n FOO(celery) and then you can do #define FOO(x) printf("I like to eat " x); \n #include "foods.h"
07:53:02 <Vorpal> Yeah this is too messy, Hm
07:54:59 <fizzie> Though often the file is #define THINGS \\n FOO(bacon) \\n FOO(celery) instead, so that you can #define FOO(x) ... \n THINGS \n #undef FOO \n #define FOO(x) something_else(x) \n THINGS \n #undef FOO.
07:56:11 <fizzie> (I suppose it's not all that different from just #including twice, but at least it lets you stick other stuff in the file than just the list.)
07:56:40 <kmc> that's nice too
07:57:13 <kmc> what are the rules for repeated macro expansion, anyway?
07:58:57 <fizzie> I'm not sure what "repeated macro expansion" here exactly means.
07:59:11 <Vorpal> Aha, got a better solution, make it completely multibyte internally.
07:59:39 <fizzie> The macro replacement rules in general are, I think, kinda tricksy, what with the rescan thing.
08:00:15 <kmc> fizzie: well in this case you have a macro expanding to something which contains another macro (that wasn't "in scope" when the first macro was defined, although I wouldn't expect that to matter)
08:00:43 <Vorpal> I remember the rules for stringification in macros being weird
08:01:04 <Vorpal> Which is why you have to do two layers of macros for it sometimes iirc
08:01:23 <kmc> yeah I've never understood that
08:01:24 <fizzie> "A parameter in the replacement list -- is replaced by the corresponding argument after all macros contained therein have been expanded."
08:01:48 <Vorpal> kmc, I hit the issue once I know, I forgot what exactly trigged it
08:02:07 <fizzie> That's the main rule that, I think, is in play for the above scenario. The replacement list of "THINGS" is "FOO(bacon) FOO(celery)", and "all macros contained therein" will be expanded before plonking it in.
08:03:08 <fizzie> But there's also the rescan: "After all parameters in the replacement list have been substituted -- The resulting preprocessing token sequence is then rescanned, along with all subsequent preprocessing tokens of the source file, for more macro names to replace."
08:03:26 <fizzie> All of it combined makes for pretty unobvious behaviour.
08:04:05 <fizzie> E.g. the first rule I pasted above isn't used when the argument comes immediately after # or ##, which causes that stringification issue.
08:04:51 <fizzie> #define FOO bar #define S(x) #x and then S(FOO) expands to "FOO", because the x in the replacement list follows a # and therefore isn't macro-replaced.
08:05:44 <fizzie> Whereas #define FOO bar #define S(x) S_(x) #define S_(x) #x has S(FOO) expand to "bar", because of S(FOO) -> S_(bar) -> "bar".
08:06:18 <fizzie> (When processing the replacement list "S_(x)", x isn't an argument of # or ##, and therefore gets macro-expanded.)
08:07:33 <fizzie> I think the rationale said something about it being this way so that you can, if you want, stringize the actual non-expanded argument. But it's all still kinda messy.
08:12:25 <fizzie> And the rescan step makes a difference e.g. in #define FOO(x) 1+x #define BAR(x) (2*x) FOO(BAR)(42) where the initial expansion of "FOO(BAR)" is to "1+BAR" which can't macro-expand further, but in the rescan step also the rest of the source file is considered, and the "1+BAR(42)" expands into "1+(2*42)", which it wouldn't if preprocessing continued from the "(42)" without a rescan.
08:15:54 <Vorpal> fizzie, heh, when does the rescan matter in non-obfuscated code though?
08:16:13 <Vorpal> Because I never seen anyone write FOO(BAR)(42)
08:16:46 <fizzie> I think I've seen someone give an example that was at least slightly more reasonable, but I can't invent one.
08:18:28 <fizzie> The Rationale also gives a intentionally-left-ambiguous example of #define f(a) a*g #define g(a) f(a) f(2)(9) which can legally expand either to the tokens 2*f(9) or 2*9*g, depending on whether the f(9) is counted as "nested" in the expansion of f(2).
08:19:56 <fizzie> "f(2)" expands initially to "2*g", and in the rescan the g is combined with (9) to produce "g(9)", which expands to "f(9)", but then it's ambiguous whether it's still part of the expansion of f(2) in which case f is not available for expansion due to the no-recursion rule, or not.
08:20:33 <fizzie> "The C89 Committee intentionally left this behaviour ambiguous as it saw no useful purpose in specifying all the quirks of preprocessing for such questionably useful constructs."
08:20:46 <Vorpal> Hm there is an issue with snprintf & related function. They return number of chars written as an int.
08:21:01 <Vorpal> Unless my man page is wrong
08:21:30 <fizzie> It's int in the standard. But it can return a negative error code, too.
08:21:46 <fizzie> ssize_t is not standard, though.
08:22:39 <Vorpal> ssize_t is kind of weird, since it basically is smaller than size_t.
08:23:00 -!- Taneb has joined.
08:23:05 <Vorpal> Unlikely today that sizes won't fit into 63 bits sure
08:23:51 <fizzie> It is a bit of a compromise.
08:24:15 <Vorpal> On a 32-bit system I would assume that means it can't represent anything larger than 2 GB, which is not an unreasonable size on many systems
08:24:53 <fizzie> I suppose it's allowed for ssize_t to be a 65-bit signed type (with a lot of padding), but I don't know of any systems where it isn't just the two's-complement interpretation of size_t.
08:25:23 <fizzie> POSIX just says "ssize_t: Signed integer type used for a count of bytes or an error indication."
08:44:19 <Vorpal> fizzie, a couple of the other STRN functions also have similar issues, such as using libc's strstr, strcmp and similar.
08:44:30 <Vorpal> Not sure what I was thinking when writing this
08:44:57 <Vorpal> obviously not an issue for the IO functions, but for the rest...
08:46:16 -!- sprocklem has quit (Remote host closed the connection).
08:46:32 -!- MindlessDrone has joined.
08:50:14 -!- variable has joined.
08:51:45 -!- sprocklem has joined.
09:30:01 <Vorpal> switch (sizeof (longword))
09:30:02 <Vorpal> case 4: magic_bits = 0x7efefeffL; break;
09:30:02 <Vorpal> case 8: magic_bits = ((0x7efefefeL << 16) << 16) | 0xfefefeffL; break;
09:30:09 <Vorpal> That case 8-line is weird
09:30:17 <Vorpal> Very strange way of writing a 64-bit number
09:30:36 <Vorpal> (This is eglibc source code)
09:33:37 <fizzie> Yeah; doing a plain << 32 is UB if sizeof (T) * CHAR_BIT was <= 32, but I suppose in "case 8:" they know that's not the case.
09:34:00 <Vorpal> fizzie, I was thinking: why not use a ULL constant
09:34:36 <fizzie> LL (long long) in general is C99.
09:35:45 <fizzie> If they know that plain long can hold that large values, there should be no issues with just writing 0x7efefefefefefeffL, but I guess the idea is to avoid errors when it's being compiled for a smaller 'longword'.
09:36:19 <fizzie> And possibly also << 32 (even when not executed) causes warnings in that case, that could be the reason.
09:37:47 <Vorpal> lifthrasiir, strchr, and that specific pattern is looking for \0
09:38:15 <lifthrasiir> yeah, that magic constant looked familiar.
09:38:36 <Vorpal> I'm reading up on how an efficient strstr is done, turns out it uses strchr to find potential matches first for example
09:38:56 <Vorpal> Then it does a two_way_short_needle() search, whatever that is
09:42:20 <Vorpal> Heh, there is code here to handle CHAR_BIT < 10 and CHAR_BIT >= 10 separately
09:44:47 <fizzie> Trivia factoid of the day: SH3 has an instruction "CMP/STR Rn, Rm", which sets the T bit if any of the bytes of Rn equals the corresponding byte in Rm. (It's for making four-bytes-at-a-time string operations easier.)
09:45:20 <Vorpal> what sort of architecture is SH3?
09:45:29 <fizzie> E.g. you can do the "is there a zero byte" by CMP/STR'ing against all-bits-zero.
09:46:05 <fizzie> It's an (arguably) RISC microcontroller with some DSP leanings.
09:46:15 <fizzie> At least RISC enough to be a load-and-store type of thing.
09:46:15 <Vorpal> Ah, that is why I never heard of it
09:47:37 <Vorpal> Well, bbl, won't have time to finish fixing STRN today, probably not until the weekend.
09:48:26 <fizzie> Many of the SH family chips have ended up in Sega consoles.
09:49:12 <fizzie> (SH-2 in 32X and Saturn, SH-4 in Dreamcast.)
09:51:05 <Vorpal> Hm, when I drag a maximised chromium window from my primary monitor to my (slightly smaller) secondary monitor, it often decides to go full screen...
09:51:12 <Vorpal> And sometimes get stuck in full screen
09:51:15 <Vorpal> which is quite annoying
09:55:18 <fizzie> Fiora: Re the pairing thing from yesterday, I was going to say that (IIRC) (at least older) MIPS FPUs have 32 single-precision float registers, but each consecutive (even, odd) pair can be used as a single double-precision float; you just use the .d version of the instruction and give the even-numbered register as the operand.
09:56:07 <fizzie> Fiora: (Not that in that case the ability to address the high or low half of a double-precision float as a single-precision float is perhaps terribly useful.)
09:58:34 -!- sprocklem has quit (Remote host closed the connection).
10:13:15 -!- Jafet1 has joined.
10:14:57 -!- Jafet has quit (Ping timeout: 248 seconds).
10:38:14 -!- oklofok has joined.
10:39:53 -!- Jafet1 has changed nick to Jafet.
10:42:42 -!- oklopol has quit (Ping timeout: 268 seconds).
11:22:09 -!- carado has joined.
11:41:21 -!- MindlessDrone has quit (Quit: MindlessDrone).
11:43:52 <Fiora> um, I don't really know whose thing this would be but maybe kmc or someone?
11:43:54 <Fiora> http://www.leafpetersen.com/leaf/publications/icfp2013/vectorization-haskell.pdf
11:44:06 <Fiora> it's an intel paper on a vectorizing haskell compiler
12:01:18 -!- mnoqy has quit (Quit: hello).
12:04:01 -!- Sgeo has quit (Read error: Connection reset by peer).
12:14:06 -!- pumpkin has quit (Ping timeout: 246 seconds).
12:14:42 -!- copumpkin has joined.
12:24:10 -!- Taneb has quit (Quit: Leaving).
12:43:49 -!- yorick has joined.
13:50:54 -!- copumpkin has quit (Ping timeout: 265 seconds).
13:51:16 -!- copumpkin has joined.
14:16:16 -!- oerjan has joined.
14:29:37 <oerjan> <fizzie> Well, I wouldn't probably have hit that bug, since you can't get anything into the Underload program that isn't in the input that came over IRC. <-- clearly you should check if this can be the cause of fungot's weird input line scrambling bug hth
14:29:38 <fungot> oerjan: http://www.imdb.com/ name/ fnord/ fnord/ fnord/ fnord
14:30:40 <oerjan> fungot: sounds like a scary movie
14:30:41 <fungot> oerjan: the seaside framework has a lot of c++
14:30:52 <oerjan> fungot: as i said, scary.
14:30:52 <fungot> oerjan: you could use csw to organize meetings.
14:34:23 -!- nooodl has joined.
14:48:52 <Vorpal> oerjan, that was one reason I poked fizzie about it. But I don't think that it would be handling binary data much outside of the bf interpreter?
14:49:16 <Vorpal> And it only takes effect for certain STRN instructions for values above 255
14:49:22 -!- nooodl has quit (Ping timeout: 268 seconds).
14:49:57 <Vorpal> Hm since I used unsigned char* it *would* affect negative values too
14:55:39 <Vorpal> oerjan, also data read in files using FILE for example (byte IO) is of course treated as using unsigned chars rather than signed. That could I guess cause issues for some programs. But since Funge doesn't define that behaviour afaik. Meh
14:55:55 <Vorpal> Pretty sure it is the same for all IO in fact.
14:56:48 <Vorpal> I only convert unsigned char* to char* where needed by system calls and similar (fopen and so on)
15:02:21 <fizzie> Vorpal: I only use values 0..127 in any "binary" files, for portability.
15:02:46 <Vorpal> fizzie, Hm, just looked at STRN V... What is that supposed to do when the number isn't valid...
15:03:28 <Vorpal> Since I implement it with a call to atol, it would silently ignore errors
15:03:46 <fizzie> Vorpal: "For V, a non-numeric value in the string is not an error and will push a 0. Other interpreters may have implemented this as reflecting. This function is implemented as the c function atoi (or equivalent for cell size), It will not search the string for a numeric value."
15:04:08 <Vorpal> Hm I'm actually using atoi, should be atol/atoll.
15:04:35 <Vorpal> Anyway this explains why I didn't use my normal funge-strtol here I guess
15:04:54 <fizzie> (The "Official definitions for RCS Fingerprints" page is much more complete than the RC/Funge-98 V2 manual, even for fingerprints they have in common.)
15:05:13 <Vorpal> fizzie, shouldn't it really be atol/atoll for non-32 bit cells
15:05:43 <Vorpal> fizzie, got a link to that first page? I'm not sure where it is
15:05:45 <elliott> I just want to point out that for over half an hour, everyone who has talked has had the exact same nick length and it's lined up perfectly
15:05:58 <fizzie> Vorpal: http://www.rcfunge98.com/rcsfingers.html
15:06:47 <fizzie> (Maybe "much more complete" was a bit of an exaggeration.)
15:07:31 -!- yorick has quit (Remote host closed the connection).
15:08:23 <Vorpal> fizzie, I will chose to interpret that as using the function from the atoi-family that is correct for the cell size
15:09:58 <Vorpal> fizzie, only F in STRN remains to be fixed. Implementing an efficient strstr appears somewhat annoying
15:10:44 <Vorpal> fizzie, by the way, is jitfunge dead or just dormant?
15:14:35 -!- yorick has joined.
15:14:41 <fizzie> I don't know for sure; somewhere in-between. I still intend to get back to it some day, but don't have any immediate plans.
15:15:42 <fizzie> Regarding the line scrambling bug, I guess it's not entirely impossible I've been "clever" and used G to read, in addition to a line, some kind of length prefix/suffix value on the stack, and that could be getting clipped.
15:15:49 <fizzie> Though I don't remember doing that.
15:17:05 -!- Bike has joined.
15:20:04 -!- nooodl has joined.
15:24:05 <Vorpal> fizzie, that would surely break all long lines?
15:27:31 <oerjan> hm i vaguely thought what broke was long _output_ lines.
15:28:16 -!- Taneb has joined.
15:29:02 <oerjan> also, i think the bug requires the interaction of two consecutive irc lines, at least one of which needs to contain something triggering fungot to act.
15:29:02 <fungot> oerjan: you just have a single list, pointer at head only with the call to k.
15:29:52 <oerjan> hm have we ever checked if the bug is deterministic if we _do_ give fungot identical pairs of consecutive lines
15:33:11 <fungot> quintopia: but it's practical. but i'm not surprised that a guy coming from here has lived there for years; family still there
15:33:11 <fungot> quintopia: no i don't see it in " general", though
15:33:11 <fungot> quintopia: although it isn't mine, a fnord, roughly speaking. thanks for the opportunity to thank you for remember of the man :d... i know
15:33:12 <fungot> quintopia: mostly it just needs to run through every possible sentence hashing to that value
15:35:59 <Vorpal> quintopia, an extremely rare bug where it sometimes give two lines in response to one remark, possibly with the wrong nick.
15:36:52 <quintopia> in that it says "nick: message" and then "nick: message" again?
15:37:39 <quintopia> it would be awfully convenient if said bug was always preceded by someone else making a remark to fungot and getting no reply :P
15:37:44 <Vorpal> iirc, was so long ago I saw it
15:56:21 <fizzie> It gives the second line in response to some unrelated comment that doesn't mention fungot at all.
15:56:21 <fungot> fizzie: of course movies are a bit limited
15:57:00 <fizzie> I've pasted examples from fungot's "rawlog" as to how it thinks the input looks; generally it has parts of the actual unrelated comment, some "random-looking" stuff, and a copy of the previous input line.
15:57:01 <fungot> fizzie: there's that ' fnord', and accented it becomes " int ret free; fnord" it can actually be simulated on a fnord
15:58:42 <fizzie> http://sprunge.us/iRYi has an example.
15:59:29 <fizzie> It also seems to have a higher chance of occurring if it has tried to generate a very long output from the babbling code.
15:59:58 <Vorpal> Hm, it is hot and I hate off by one errors.... Does this look right?
15:59:59 <Vorpal> funge_cell * funge_strchr(const funge_cell *s,
15:59:59 <Vorpal> const funge_cell* p = s;
16:00:06 <Vorpal> return (funge_cell*)p;
16:00:24 <Vorpal> Don't really need p, could just advance s
16:00:32 <fizzie> But it's still quite random; I should probably fuzz it out by some randomized testing that keeps track of ? seeds, so that I can then debug it.
16:01:18 <fizzie> "const funge_cell* p" looks inconsistently spaced w.r.t. "const funge_cell *s".
16:03:18 <quintopia> fizzie: so it is filling up the output queue and overflowing it...and then something triggers it to flush it?
16:04:56 <fizzie> quintopia: Yes, except that the output message (and the token stream for babbling) are all on different rows of the fungespace than where the buffered input is stored, so nothing *should* be getting overfloweded.
16:05:28 <Vorpal> fizzie, we clearly need a funge MMU to debug the issue
16:05:35 <Vorpal> So we can get cell faults
16:06:08 <Vorpal> Actually, something like that would be somewhat useful
16:06:13 <quintopia> fizzie: i was thinking more of a bug in the interpreter's output system.
16:07:21 <fizzie> quintopia: SOCK's W (which is what is used for output) is probably pretty much a direct write syscall to socket, so there isn't too much there to mess up, either. It is a mystery.
16:07:47 <Vorpal> Yeah it is get string from stack or whatever (I don't remember) then just write it
16:07:54 <quintopia> fizzie: but what about the funge interpreter?
16:08:25 <Vorpal> for (size_t i = 0; i < (size_t)len; ++i)
16:08:25 <Vorpal> buffer[i] = (unsigned char)fungespace_get(vector_create_ref(v.x + (funge_cell)i, v.y));
16:08:25 <Vorpal> sent = send(sockets[s]->fd, buffer, (size_t)len, 0);
16:08:34 <Vorpal> Indentation screws up on IRC
16:08:39 <fizzie> quintopia: What about the funge interpreter, indeed?
16:08:56 <quintopia> that is what is being analyzed here?
16:09:24 <fizzie> quintopia: Yes, and I just said there isn't much of an "output queue" or anything to overflow in it.
16:09:39 <fizzie> Vorpal: I suppose that buffer is long enough?-)
16:10:01 <Vorpal> fizzie, buffer = malloc((size_t)len * sizeof(unsigned char));
16:10:22 <Vorpal> Also that line is pointlessly verbose
16:10:33 <Vorpal> sizeof(unsigned char) is somewhat silly
16:11:39 <oerjan> <quintopia> hi fungot <-- not identical _lines_, identical _pairs_ of lines hth (and possibly they might have to be from different nicks!*@*
16:11:40 <fungot> oerjan: sure, but is very slow by looking at its signature.) now take take out the b and the d mailing list, so i'll probably ask, eventually.
16:12:34 <quintopia> fizzie: there's only one possible solution! make another bot that monitors fspace and the channel and writes out the last few minutes of fspace to a file when it sees the buggy behavior!
16:12:57 <fizzie> Personally I suspect my in-fungot input buffering; it does up-to-3375-byte reads from the socket, and then extracts individual lines; there's a slightly kludgy-looking piece of code to move the leftover incomplete line and continue reading from where it ends.
16:12:57 <fungot> fizzie: ( gah why do i have an existing scheme environment, like an animated gif?
16:13:14 <fizzie> fungot: Well I haven't added that, don't look at me.
16:13:14 <fungot> fizzie: yes. that basic level is hardly very motivating... it's crap :) but i like to ask you
16:14:18 <quintopia> fizzie: is it possible to guarantee that a read ends on a newline? isn't there a library function that does that?
16:14:42 <Vorpal> Oh nice, it now crashes with clang in release mode. Works fine with gcc!?
16:15:44 <Vorpal> It doesn't crash in debug build...
16:16:30 <Vorpal> ==28041== Warning: client switching stacks? SP change: 0x7fefffff8 --> 0x3feffffb0
16:16:30 <Vorpal> ==28041== to suppress, use: --max-stackframe=17179869256 or greater
16:16:30 <Vorpal> ==28041== Process terminating with default action of signal 11 (SIGSEGV)
16:16:38 <Vorpal> Great valgrind gets confused by it
16:17:32 <Vorpal> It crashes on the function call itself???
16:17:37 <Vorpal> => 0x000000000040b51b <+155>:callq 0x40b450 <funge_strchr>
16:18:02 <Vorpal> Oh yeah, stack frame is corrupt...
16:18:45 <fizzie> quintopia: There certainly isn't a "read until end of line" function in the SOCK fingerprint.
16:19:28 <fizzie> (As for in general, GNU and modern POSIX have a 'getline', but that's for FILE * streams, not file descriptors.)
16:21:51 <Vorpal> GCC in release mode is fine
16:22:15 <oerjan> <fizzie> [...] there's a slightly kludgy-looking piece of code to move the leftover incomplete line and continue reading from where it ends. <-- that's what i would suspect too, from how the buggy lines are shifted beyond the messed up part
16:22:37 -!- sebbu has joined.
16:23:51 <oerjan> except how does that get affected by the babble generator.
16:24:05 <Vorpal> Something goes very very wrong in the actual call
16:26:13 <Vorpal> Hm the stack is already corrupt at that point
16:29:12 <Vorpal> fizzie, wow, I manage to get a corrupt stack between the entry of the function and the first actual line of code...
16:30:49 <Vorpal> fizzie, quintopia oerjan: If any of you are good at assembler... http://sprunge.us/FDFL
16:31:07 -!- augur has quit (Ping timeout: 268 seconds).
16:31:12 <Vorpal> This is the start of the function, at the first line the stack is ok, at the last line (first source line in code) it is not
16:31:45 <Vorpal> Those sub lines look weird
16:33:23 <Vorpal> This happens in clang at -O2 or more
16:36:17 <fizzie> I can have a look in a bit.
16:36:55 <Vorpal> fizzie, I'm pretty sure it is miscompilation by adding a bunch of sub $0x7fffffff,%rsp
16:40:50 <Vorpal> Well there is a thunderstorm, I have to leave, use lambdabot for replying
16:41:19 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
16:51:14 <fizzie> @tell Vorpal Well, I don't have an offhand guess as to what that could be all about; I mean, what it looks like is a 16-gig stack allocation. You could paste the corresponding C too, though.
16:54:18 <fizzie> @tell Vorpal (2^32 32-bit values equals 16 gigs, which is probably relevant.)
16:58:06 <fizzie> @tell Vorpal I mean, that's the "normal" way you get that kind of subs at start -- http://sprunge.us/eETD -- of course I doubt your C code looks quite like that.
17:34:39 -!- oerjan has quit (Quit: leaving).
17:41:25 -!- AnotherTest has joined.
17:41:36 -!- Phantom_Hoover has joined.
17:54:26 -!- conehead has joined.
17:59:49 <ion> Playing some music. http://overviewer.org:8001/
18:01:46 <Gracenotes> you should get cloud hosting and use irssi and have a permanent tmux session and idle in all channels forever
18:03:30 <fizzie> ion: What exactly are we listening to?
18:03:56 <ion> Misc. stuff i’m listening to. http://www.last.fm/user/hapanvelli (and i’m also playing FTL. :-P)
18:08:16 -!- AnotherTest has quit (Read error: Connection reset by peer).
18:10:19 -!- augur has joined.
18:15:16 -!- clog has quit (Remote host closed the connection).
18:31:04 <fizzie> I took a look at the survey, and the questions looked too hard for me. :/
18:31:31 <Phantom_Hoover> i filled it out fine and i am the laziest person at filling out surveys ever
18:33:10 -!- Frooxius has quit (Read error: Connection reset by peer).
18:33:21 -!- Frooxius has joined.
18:36:52 <fizzie> I don't know what a proper value for the "hours per week" question is, because the instant value is so variable, and I can't really guesstimate-average over the last 10 years.
18:37:26 -!- kallisti has quit (Ping timeout: 240 seconds).
18:38:22 -!- kallisti has joined.
18:43:17 -!- kallisti has quit (Ping timeout: 248 seconds).
18:55:10 -!- kallisti has joined.
18:55:10 -!- kallisti has quit (Changing host).
18:55:10 -!- kallisti has joined.
18:58:02 -!- clog has joined.
19:05:54 -!- oklofok has quit (Ping timeout: 268 seconds).
19:09:17 -!- Phantom_Hoover has quit (Quit: Leaving).
19:09:54 -!- Hoax has joined.
19:10:18 -!- Hoax has changed nick to Guest18414.
19:17:49 -!- jconn has quit (*.net *.split).
19:17:50 -!- Deewiant has quit (*.net *.split).
19:17:50 -!- nortti has quit (*.net *.split).
19:17:51 -!- HackEgo has quit (*.net *.split).
19:17:51 -!- clog has quit (*.net *.split).
19:17:51 -!- kallisti has quit (*.net *.split).
19:17:51 -!- sebbu has quit (*.net *.split).
19:17:51 -!- Bike has quit (*.net *.split).
19:17:52 -!- yorick has quit (*.net *.split).
19:17:52 -!- stuntaneous has quit (*.net *.split).
19:17:55 -!- fungot has quit (*.net *.split).
19:17:55 -!- Lymia has quit (*.net *.split).
19:17:55 -!- Frooxius has quit (*.net *.split).
19:17:56 -!- Jafet has quit (*.net *.split).
19:18:00 -!- Lumpio- has quit (*.net *.split).
19:18:00 -!- `^_^v has quit (*.net *.split).
19:18:00 -!- mtve has quit (*.net *.split).
19:18:01 -!- augur has quit (*.net *.split).
19:18:01 -!- Taneb has quit (*.net *.split).
19:18:02 -!- sacje has quit (*.net *.split).
19:18:02 -!- heroux has quit (*.net *.split).
19:18:03 -!- atehwa has quit (*.net *.split).
19:18:05 -!- quintopia has quit (*.net *.split).
19:18:05 -!- hogeyui____ has quit (*.net *.split).
19:18:05 -!- lifthrasiir has quit (*.net *.split).
19:18:07 -!- copumpkin has quit (*.net *.split).
19:18:09 -!- carado has quit (*.net *.split).
19:18:09 -!- variable has quit (*.net *.split).
19:18:09 -!- noooodl has quit (*.net *.split).
19:18:10 -!- Gregor has quit (*.net *.split).
19:18:10 -!- pikhq has quit (*.net *.split).
19:18:11 -!- yiyus has quit (*.net *.split).
19:18:12 -!- Guest18414 has quit (*.net *.split).
19:18:12 -!- lambdabot has quit (*.net *.split).
19:18:13 -!- EgoBot has quit (*.net *.split).
19:18:13 -!- jix has quit (*.net *.split).
19:18:14 -!- FreeFull has quit (*.net *.split).
19:18:14 -!- neena has quit (*.net *.split).
19:18:14 -!- myndzi has quit (*.net *.split).
19:18:14 -!- ggherdov has quit (*.net *.split).
19:18:14 -!- TodPunk has quit (*.net *.split).
19:18:14 -!- tromp_ has quit (*.net *.split).
19:18:16 -!- FireFly has quit (*.net *.split).
19:18:19 -!- comex has quit (*.net *.split).
19:18:19 -!- ion has quit (*.net *.split).
19:18:19 -!- ssue__ has quit (*.net *.split).
19:18:20 -!- conehead has quit (*.net *.split).
19:18:22 -!- elliott has quit (*.net *.split).
19:18:22 -!- kmc has quit (*.net *.split).
19:18:22 -!- SirCmpwn has quit (*.net *.split).
19:18:22 -!- ineiros has quit (*.net *.split).
19:18:24 -!- coppro has quit (*.net *.split).
19:18:25 -!- glogbackup has quit (*.net *.split).
19:18:26 -!- nooodl has quit (*.net *.split).
19:18:27 -!- aloril_ has quit (*.net *.split).
19:18:27 -!- rodgort has quit (*.net *.split).
19:18:27 -!- Fiora has quit (*.net *.split).
19:18:28 -!- upgrayeddd has quit (*.net *.split).
19:18:28 -!- shachaf has quit (*.net *.split).
19:19:14 -!- Guest18414 has joined.
19:19:14 -!- clog has joined.
19:19:14 -!- kallisti has joined.
19:19:14 -!- Frooxius has joined.
19:19:14 -!- augur has joined.
19:19:14 -!- conehead has joined.
19:19:14 -!- sebbu has joined.
19:19:14 -!- Taneb has joined.
19:19:14 -!- nooodl has joined.
19:19:14 -!- Bike has joined.
19:19:14 -!- yorick has joined.
19:19:14 -!- copumpkin has joined.
19:19:14 -!- carado has joined.
19:19:14 -!- Jafet has joined.
19:19:14 -!- variable has joined.
19:19:14 -!- sacje has joined.
19:19:14 -!- noooodl has joined.
19:19:14 -!- atehwa has joined.
19:19:14 -!- quintopia has joined.
19:19:14 -!- hogeyui____ has joined.
19:19:14 -!- lambdabot has joined.
19:19:14 -!- lifthrasiir has joined.
19:19:14 -!- Lumpio- has joined.
19:19:14 -!- Gregor has joined.
19:19:14 -!- `^_^v has joined.
19:19:14 -!- stuntaneous has joined.
19:19:14 -!- fungot has joined.
19:19:14 -!- heroux has joined.
19:19:14 -!- Lymia has joined.
19:19:14 -!- aloril_ has joined.
19:19:14 -!- coppro has joined.
19:19:14 -!- rodgort has joined.
19:19:14 -!- pikhq has joined.
19:19:14 -!- EgoBot has joined.
19:19:14 -!- Fiora has joined.
19:19:14 -!- jix has joined.
19:19:14 -!- FreeFull has joined.
19:19:14 -!- neena has joined.
19:19:14 -!- ggherdov has joined.
19:19:14 -!- myndzi has joined.
19:19:14 -!- upgrayeddd has joined.
19:19:14 -!- mtve has joined.
19:19:14 -!- TodPunk has joined.
19:19:14 -!- jconn has joined.
19:19:14 -!- tromp_ has joined.
19:19:14 -!- shachaf has joined.
19:19:14 -!- comex has joined.
19:19:14 -!- elliott has joined.
19:19:14 -!- glogbackup has joined.
19:19:14 -!- yiyus has joined.
19:19:14 -!- kmc has joined.
19:19:14 -!- Deewiant has joined.
19:19:14 -!- FireFly has joined.
19:19:14 -!- SirCmpwn has joined.
19:19:14 -!- ion has joined.
19:19:14 -!- ineiros has joined.
19:19:14 -!- ssue__ has joined.
19:19:14 -!- HackEgo has joined.
19:19:14 -!- nortti has joined.
19:19:14 -!- ?unknown? has set channel mode: +v kmc .
19:20:24 -!- clog has quit (*.net *.split).
19:20:24 -!- kallisti has quit (*.net *.split).
19:20:24 -!- sebbu has quit (*.net *.split).
19:20:24 -!- Bike has quit (*.net *.split).
19:20:24 -!- yorick has quit (*.net *.split).
19:20:25 -!- stuntaneous has quit (*.net *.split).
19:21:12 -!- clog has joined.
19:21:12 -!- kallisti has joined.
19:21:12 -!- sebbu has joined.
19:21:12 -!- Bike has joined.
19:21:12 -!- yorick has joined.
19:21:12 -!- stuntaneous has joined.
19:23:56 -!- nooodl has quit (*.net *.split).
19:23:57 -!- aloril_ has quit (*.net *.split).
19:23:57 -!- rodgort has quit (*.net *.split).
19:23:58 -!- Fiora has quit (*.net *.split).
19:23:58 -!- upgrayeddd has quit (*.net *.split).
19:23:58 -!- shachaf has quit (*.net *.split).
19:25:40 -!- MindlessDrone has joined.
19:26:53 -!- clog has quit (Read error: Connection reset by peer).
19:29:21 -!- shachaf has joined.
19:29:34 -!- Fiora has joined.
19:34:44 -!- nooodl has joined.
19:35:10 -!- aloril_ has joined.
19:35:11 -!- rodgort has joined.
19:35:11 -!- upgrayeddd has joined.
20:06:42 -!- Bike has quit (Ping timeout: 264 seconds).
20:08:01 -!- Bike has joined.
20:25:51 -!- douglass_ has joined.
20:27:01 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
20:40:28 -!- clog has joined.
21:02:32 -!- Nisstyre has joined.
21:05:24 <kmc> shachaf: happy birthday!
21:10:44 -!- oerjan has joined.
21:11:59 <Taneb> Wow, shachaf must be like 16 years old
21:13:02 <kmc> how do ya figure
21:13:37 <Taneb> Because he's growing up so faast
21:13:59 <Taneb> One of these days he may even be as old as me or Phantom_Hoover!
21:16:16 <Taneb> When I was shachaf's age, I was already reading Homestuck!
21:17:12 <Taneb> shachaf, I hope you get something nice!
21:17:19 <Taneb> I got a shaver for my 16th birthday
21:17:35 -!- Taneb has quit (Quit: Leaving).
21:18:39 <Fiora> kmc: did you see the haskell compiler thingy
21:19:10 -!- MindlessDrone has quit (Quit: MindlessDrone).
21:19:59 -!- sprocklem has joined.
21:20:13 <Fiora> http://www.leafpetersen.com/leaf/publications/icfp2013/vectorization-haskell.pdf
21:21:12 <Fiora> intel making a haskell compiler ^^
21:21:42 -!- tertu has joined.
21:23:01 <Gracenotes> hurrah Haskell being agnostic to both frontend type magic and backend cost models by design
21:23:30 -!- clog has quit (Ping timeout: 264 seconds).
21:23:47 <Gracenotes> if not agnostic, maybe at least lapsed catholic
21:26:22 -!- Bike has quit (Ping timeout: 276 seconds).
21:28:29 -!- Bike has joined.
21:28:49 <Fiora> Bike: http://en.wikipedia.org/wiki/Oops-Leon physicists are amazing
21:29:24 <Fiora> At Fermilab in 1976 a team led by a guy named Leon announced the discovery of a new particle, which they called the Upsilon particle, but after much more data it proved to be just a statistical fluke; they didn't have enough sigma.
21:29:28 <Fiora> So they called it the Oops-Leon particle.
21:29:52 <Bike> the "Good Fucking Job, Leon" particle
21:32:39 <oerjan> shachaf: happy birthday!
21:32:55 <olsner> shachaf has a birthday?
21:33:17 <kmc> he is birthdaying as we speak
21:33:30 <Bike> live birthday updates
21:33:32 <oerjan> is this like molting in which case pics
21:33:58 <Bike> update: shachaf birthday still underway. the SCOTUS has still not yet commented
21:34:14 <olsner> the yearly molting of the shachafs?
21:34:20 <oerjan> what about the POTUS and the COTUS
21:34:26 <Fiora> kmc are you at his birthday party? :o
21:34:29 <Bike> we are in hour fourteen of shachaf birthday with no end in sight. please stay in your homes and continue watching this broadcast
21:34:49 <kmc> Fiora: no but I hope he will come to SF this weekend
21:35:26 <Bike> Hamiltonian Bicycle <-- i've been outbiked :(
21:35:51 <oerjan> is that a bike that can only visit each place once
21:37:17 <kmc> sounds like bike share shenanigans
21:37:29 -!- mnoqy has joined.
21:40:31 <shachaf> kmc: today i saw people on a ""conference bike""
21:40:40 <shachaf> http://www.conferencebike.com/
21:41:45 <fizzie> "while the other 6 pedal (or not)" yeah, that sounds pretty much like how it'd be like.
21:41:50 <olsner> IT’S A PARTY ON WHEELS!!
21:43:18 <kmc> it's a party on wheels and everyone is sweating with their clothes on
21:43:29 <kmc> shachaf: was it a google one
21:43:42 <shachaf> had lunch with Gracenotes at the google
21:44:26 <fizzie> There's supposed to be some sort of a campus bike system at our place, but I've never seen one of them, just some racks that have "reserved for campus bikes" signs on them.
21:44:46 <olsner> probably they got stolen?
21:46:53 <Bike> is Gracenotes a google
21:47:10 <kmc> shachaf: they feed you well eh
21:47:54 <Gracenotes> I used to be a Google. I still do, but I used to, too.
21:48:10 <kmc> i had dinner at the Dropbox office the other day. it looks like it belongs in a movie about posh SF startups
21:48:30 <shachaf> i know someone who almost went to work at Dropbox because of the food
21:49:17 <coppro> I'm not a google any more
21:49:23 <shachaf> kmc: there was a book there that i wanted to take a picture of for this channel (but i agreed not to take pictures, or something)
21:49:37 <fizzie> "You must not reside in one of the following countries: Barbados, Guatemala. (You appear to be in: Finland.)"
21:49:56 <shachaf> it had a sticker on it that read:
21:50:27 <shachaf> restaurant copy "do not remove"
21:50:29 <fizzie> "help, I'm trapped in a Google".
21:50:51 <fizzie> It's the emphasis-quotes.
21:50:51 <kmc> oppa #esoteric style
21:50:55 <olsner> "book is google. do not remove"
21:51:04 <fizzie> Best emphasis-quotes use: [[We serve "food"]].
21:51:09 -!- tertu has quit (Ping timeout: 264 seconds).
21:51:13 <kmc> fizzie: hahaha
21:51:24 <Bike> i got a "free" t-shirt today
21:51:32 <Bike> also http://www.unnecessaryquotes.com/
21:51:36 <olsner> [[bus: the "comfortable" way to travel]]
21:51:46 <Bike> please note we are "LAW FIRM"
21:52:10 <shachaf> coppro: is being a google a good idea y/n
21:52:18 <ion> http://www.theonion.com/articles/new-horizontal-device-prevents-falls-to-basement,1096/?ref=butt
21:52:19 <fizzie> Hey, there's a "do not remove" sign there too.
21:52:37 <fizzie> For staff room only "do not remove"
21:53:15 <olsner> but using quotes for emphasis is "correct", isn't it?
21:53:44 <fizzie> [[ Check Out our "Exotic Game" Meats! ]] is also kinda suspicious.
21:54:10 <olsner> i.e. not so much unnecessary quotes as "quotes used in another purpose for which they can also be used"
21:55:54 <oerjan> olsner: well, it's definitely "unambiguous" hth
21:55:57 <Bike> quotes are already overloaded for sarcasm, imo
21:57:06 <Gracenotes> But don't use backticks. This isn't the 70s.
21:58:10 <Bike> ``plus we're in esoteric''
21:58:11 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `plus: not found
21:58:18 <kmc> ``LaTeX is still pretty popular''
21:58:19 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `LaTeX: not found
21:58:24 <kmc> douglass_: what do you think about ``quotes''
21:58:47 <lambdabot> kmc says: "when computer scientists rebuild the world after the apocalypse, we will have hanging gardens with trees that grow downward"
21:59:05 <Bike> that sounds pretty.
21:59:16 <nooodl> i think using quotes for emphasis isn't very correct
22:02:15 <fizzie> Hey, if I have a Windows system partition mounted in a Linux system, what's the easiest way to determine which version of Windows is installed there?
22:03:43 <douglass_> quotes for emphasis is not a thing
22:03:54 <oerjan> boot it in a vm thththtth
22:04:16 <olsner> fizzie: run strings on some dll, see if a version number pops out?
22:04:25 <fizzie> Quotes are sometimes used for emphasis in lieu of underlining or italics, most commonly on signs or placards "sorry"
22:04:26 <douglass_> because they get read as scare quotes, which have sort of the opposite meaning
22:04:46 <Gracenotes> I think non-quoting quote-enclosed phrases say "I don't exactly mean this phrase, but a phrase approximately close to this phrase"
22:05:03 <Gracenotes> It's when you take a phrase, put it in a mention context, then put that in a use context again
22:05:28 <olsner> oh, maybe there's something in windows/system32/drivers/etc/issue
22:05:40 <olsner> next to the hosts file
22:05:41 <Gracenotes> Double quotes seem to go in the direction of worst possible connotation, but imo single quotes tend to be a connotation-free adder of fuzziness.
22:06:10 <Gracenotes> the worst possible connotation, of course, being sarcasm
22:06:34 <fizzie> stringsing a couple random files has not yet helped.
22:07:03 <douglass_> single quotes just make you look british
22:07:03 <fizzie> There used to be a boot.ini with entries, I think, but this doesn't seem to have one.
22:07:18 <olsner> hmm, looks like I forgot to add "hth" to some of those suggestions
22:07:49 <olsner> but there ought to be something that can extract that standard version information from dlls in linux
22:07:57 <fizzie> WindowsUpdate.log has installed something "for Microsoft .NET Framework 3.5 SP1 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 x86", so that sort of narrows it down a bit.
22:08:19 -!- Nisstyre has quit (Quit: Leaving).
22:08:42 <fizzie> Also a couple of "Security Update for Windows Vista"s, maybe it's that.
22:10:02 <Gracenotes> douglass_: I guess that depends on the «communication channel» used
22:10:10 <olsner> maybe you could remove it and install a known windows version on top?
22:10:24 <olsner> probably time for that anyway
22:10:43 <fizzie> Also a "Security Update for .NET Framework 3.5 SP1, Windows Vista SP2, and Windows Server 2008 SP2 x86 (KB983589)".
22:11:17 <fizzie> olsner: Actually I'm trying to figure out if the 6.75 EUR staff-priced Windows 7 (or 8) "Upgrade" versions *could* be installed on top of it.
22:11:18 <Bike> http://upload.wikimedia.org/wikipedia/commons/c/cf/MAZE.png not sure that i'm ready for this maze wikipedia
22:12:22 <olsner> oh, your university doesn't have educational msdn and free everything?
22:12:57 <fizzie> olsner: They have MSDN "Academic Alliance" stuff, but I think that was somewhat limited.
22:13:14 <fizzie> olsner: At least back when I installed something from it, the license terms said it's only valid as long as I stay there.
22:13:58 <fizzie> These non-free versions, AIUI, are as good as purchased, and seven euros isn't really all that much.
22:17:34 <fizzie> (It's from the OnTheHub thing, which is... some kinda thing.)
22:17:58 <fizzie> There's also the DreamSpark Windows 8.
22:18:39 <olsner> DreamSpark? OnTheHub? shenanigans
22:19:53 -!- sprocklem has quit (Remote host closed the connection).
22:20:00 <fizzie> The "DreamSpark Premium" they have seems to include Windows 8, 7, Server 2008, Embedded 8, Vista, HPC Server 2008, Server 2008, Server 2008, Web Server 2008, Services for UNIX 3.5, Windows 7 Debug Symbols, Microsoft MS-DOS 6, and pretty much everything.
22:20:20 <fizzie> (DOS 6.22 for free? Best deal!)
22:20:28 <fizzie> Oh, both 6.22 and 6.0 are available.
22:21:28 <shachaf> http://www.geekosystem.com/wp-content/uploads/2011/07/ms-dos-logo1.jpg ““nostalgia””
22:21:37 <olsner> I bet zzo has an actual favourite DOS version
22:21:50 <ion> ````nostalgia''''
22:21:51 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ```nostalgia'''': not found
22:21:54 <kmc> i bet it's < 6
22:22:30 <kmc> or maybe zzo38 thinks that CP/M is better than DOS
22:22:44 <olsner> does CP/M have a gopher client?
22:22:50 <shachaf> maybe he wrote his own version of DOS
22:22:59 <fizzie> olsner: "You may only use the tools and software from DreamSpark to get ahead in school, develop new skills and take steps in research in science, technology, engineering or mathematics." Yeah, that was the problem with the free versions.
22:24:02 <olsner> "develop new skills" could mean a lot of things
22:24:29 <olsner> and arguably, using a computer means taking steps in technology all the time
22:24:58 <fizzie> The DreamSpark edition does have the advantage of being a non-Upgrade.
22:33:39 <shachaf> kmc: you know the thing where people say "bobby tables" for no real reason and then you feel irritated at them
22:34:07 -!- nortti_ has joined.
22:34:26 <Bike> is that a thing.
22:34:30 -!- jconn has quit (Ping timeout: 248 seconds).
22:34:32 -!- Deewiant has quit (Ping timeout: 248 seconds).
22:34:32 -!- nortti has quit (Ping timeout: 248 seconds).
22:34:33 -!- HackEgo has quit (Ping timeout: 248 seconds).
22:35:00 -!- Deewiant has joined.
22:35:13 -!- HackEgo has joined.
22:35:25 <olsner> shachaf: is that the thing where "cool people" like you dislike xkcd for some reason?
22:36:01 -!- Deewiant has quit (*.net *.split).
22:36:10 <shachaf> i dislike some references such as that one
22:36:19 -!- Deewiant has joined.
22:37:41 <kmc> why that one in particular
22:38:54 <olsner> I can get annoyed by things that seem more popular than they deserve, but I still think it's silly to get annoyed
22:42:03 -!- conehead has joined.
23:00:53 -!- Lymia has quit (Ping timeout: 248 seconds).
23:15:56 <shachaf> i am unable to concentrate when there is a person nearby listening to drumzy music in their ear-listening-thingies
23:18:07 -!- Bike has quit (Ping timeout: 268 seconds).
23:20:05 <kmc> legalize drumz
23:20:27 <shachaf> and within 30 feet of a building
23:20:43 <kmc> what about e-drumz
23:20:51 <fizzie> shachaf == a soldier in the war on drumz.
23:21:49 -!- Bike has joined.
23:21:59 -!- clog has joined.
23:26:37 -!- clog has quit (Ping timeout: 276 seconds).
23:31:32 -!- Sgeo has joined.
23:45:38 -!- stuntaneous has quit (Read error: Connection reset by peer).
23:47:06 -!- stuntaneous has joined.