←2015-03-19 2015-03-20 2015-03-21→ ↑2015 ↑all
00:03:18 <boily> in the first bunch of the comics around the beginning of the start...
00:03:55 -!- Lymia has quit (Ping timeout: 265 seconds).
00:05:40 -!- Lymia has joined.
00:06:42 * oerjan swats boily after clicking through _far_ too many comics without finding it -----###
00:07:54 -!- Tritonio_ has joined.
00:10:24 -!- Tritonio has quit (Ping timeout: 272 seconds).
00:10:50 * boily ducks
00:11:21 <oerjan> boily: stop referring to nonexisting comics twh
00:12:52 -!- Tritonio_ has changed nick to Tritonio.
00:27:16 -!- Lymia has quit (Ping timeout: 256 seconds).
00:28:06 -!- adu has quit (Quit: adu).
00:29:34 -!- Lymia has joined.
00:35:44 -!- GeekDude has quit (Quit: updating fonts).
00:36:30 -!- GeekDude has joined.
00:37:10 -!- Tritonio has quit (Remote host closed the connection).
00:43:08 -!- Lymia has quit (Ping timeout: 256 seconds).
00:46:15 <int-e> oh the many kinds of duck typing
00:47:14 <int-e> if it quacks like a duck http://www.sheldoncomics.com/archive/011211.html and swims like a duck http://www.sheldoncomics.com/archive/011213.html and types like a duck http://www.sheldoncomics.com/archive/011228.html then it must be a duck
00:48:39 <oerjan> @int-esnack
00:48:39 <lambdabot> Unknown command, try @list
00:49:58 <oerjan> boily: my impression is that kellett probably isn't a programmer and wouldn't know what duck typing means.
00:51:56 <oerjan> he is however well educated in english, spanish, and cartoon art propaganda
00:52:13 <oerjan> oh and literature.
00:54:10 <oerjan> also, searching for kellett brought up in the "people also search for" section: http://geekadelphia.com/wp-content/uploads/2011/10/dr_strange.jpg
00:54:42 <oerjan> (that's brad guigar)
00:54:53 -!- bb010g has joined.
01:01:17 <int-e> yeah, ok, not a programmer... http://www.sheldoncomics.com/archive/020124.html
01:02:24 <oerjan> it _is_ conceivable he knows html, i think he has a website or something.
01:02:40 <int-e> oh and http://www.girlgeniusonline.com/comic.php?date=20150313 is still grey ...
01:03:03 <oerjan> but if he were a programmer, he'd be able to get his bloody archives working properly.
01:03:08 <int-e> oerjan: I expect a programmer would start with IP, TCP or *maybe* HTTP, but not HTML
01:03:19 <oerjan> (trying to find old drive comics is painful.)
01:03:38 <int-e> maybe I'm expecting too much
01:04:08 <oerjan> (basically, having only the last year listed in the archives isn't very good when you've essentially been on a >1 year hiatus...)
01:04:45 <oerjan> when you add that the comic has _always_ been sporadically posted _and_ urls are date-based...
01:04:50 * boily is accruing his GG debt, one day at a time...
01:05:20 <int-e> oerjan: right, the sporadic updates kill it.
01:06:02 <oerjan> for girl genius, i know it's regular so i can skip a week back or forth
01:06:08 <int-e> it's actually quite possible to navigate GG by date because in at most 3 guesses you'll hit a comic
01:06:09 <oerjan> and there are chapter links
01:06:16 <oerjan> heh
01:06:45 <oerjan> oh i don't guess, i find the right chapter and then skip in week increments
01:07:30 <oerjan> or multiples of them
01:07:40 <int-e> Yes, discovering the chapter index was a huge boon
01:08:19 <int-e> but I tend to skip by months, and being too lazy to do the math *g*
01:08:56 <oerjan> now if yafgc could get its archives back. having an arc with _huge_ connections to past events going on at the same time as a big subset of the archives are not there is also painful.
01:09:25 <oerjan> int-e: heh
01:10:25 <oerjan> i'm sort of half-lazy, i'll skip weeks within a month but then sometimes use prev/next to cross month boundaries
01:10:39 <shachaf> wonderful python feature someone pointed out:
01:10:49 <shachaf> x = [1]; (9,x)[1] += [2]
01:11:07 <shachaf> can you guess what that does? print an error? modify x?
01:11:26 <oren> I just keep the last comic i've read bookmarkes
01:11:28 <elliott> TypeError: 'tuple' object does not support item assignment
01:11:34 <shachaf> the answer is both hth
01:11:34 <boily> shachaf: no, I can't guess.
01:11:46 <oerjan> shachaf: wat
01:11:47 <boily> TypeHellor!
01:12:29 <boily> shachaf: that is vile. that is very vile.
01:12:34 <oerjan> oren: nah i only do that for the darths & droids alternative comics
01:12:37 <elliott> what the fuck. what the fuck. what the fuck.
01:12:58 <FreeFull> I haven't found any such weirdness in Rust yet
01:13:14 <FreeFull> Other than surprising method dispatch sometimes with references
01:13:24 <oerjan> how do you even manage to mess it up like that
01:13:39 <shachaf> 18:13 <adrake> if you read the bytecode it's pretty clear why, it pulls the element of the tuple out, does an inplace add on it, and then tries to put it back in the tuple and dies
01:13:43 <shachaf> 18:13 <adrake> and if the inplace add mutates then rip
01:14:01 <copumpkin> is this 3 or 2?
01:14:14 <boily> that is profundly disgusting.
01:14:24 <shachaf> copumpkin: Both.
01:14:36 <FreeFull> The equivalent in Rust would need &mut and *
01:14:42 <boily> fungot: please telle me you aren't as corrupted as that.
01:14:43 <fungot> boily: as soon as they finish that target they'll work on a windows box here and i don't know
01:14:54 <boily> fungot: yikes!
01:14:54 <fungot> boily: modify the code... i think, but thanks
01:15:05 <FreeFull> let mut x = 1; *(9,&mut x) += 2; // This will work
01:15:11 <FreeFull> Oops
01:15:15 <FreeFull> let mut x = 1; *(9,&mut x).1 += 2; // This will work
01:16:21 <oren> int a[10];
01:16:23 <oerjan> oren: the only comic i read in batches such that it would make sense to bookmark the last one is smbc, but that has no continuity...
01:16:27 <oren> #define A [a]
01:16:35 <oren> 2A + 1
01:16:43 <oren> 2A+=1
01:17:08 <oren> is that monstrous or what
01:17:53 -!- Lymia has joined.
01:19:34 <elliott> does that even work
01:19:40 <int-e> elliott: of course
01:19:43 <int-e> oren: I've seen worse
01:19:54 <int-e> (in IOCCC, of course)
01:20:08 <elliott> % { echo '#define A q'; echo 2A } | clang -E - | tail -n 1
01:20:08 <elliott> 2A
01:20:13 <int-e> elliott: recall that a[b] = *(a+b) and + is commutative
01:20:19 <elliott> int-e: 2 A would work.
01:20:20 <elliott> 2A doesn't.
01:21:08 <int-e> oh. needs cpp -traditional
01:22:34 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:24:02 -!- Phantom_Hoover has joined.
01:24:32 <lifthrasiir> if you allow -traditional, you will get something more strange:
01:24:32 <lifthrasiir> ~$ ( echo '#define A(x) "x"'; echo 'A(v)' ) | cpp -E -traditional - | grep '^[^#]'
01:24:35 <lifthrasiir> "v"
01:30:11 <oren> Wait. Even if modern cpp does tokens, how the heck is "2A" a token!?!?
01:33:48 -!- boily has quit (Quit: AZURE CHICKEN).
01:35:21 <oren> Oh. the lexer thinks "2A" is an integer with a size affix?
01:35:44 <oerjan> 2 awesomeint
01:36:23 <oren> Hmm. #define A a] 2[A
01:36:49 <oerjan> AAAAAAAAAAAAA
01:38:38 <int-e> oh my "A preprocessing number begins with a digit optionally preceded by a period (.) and may be followed by valid identifier characters and the character sequences e+, e-, E+, E-, p+, p-, P+, or P-." Okay.
01:39:36 <oren> 1thisisavalidnubmer
01:39:38 <int-e> 2wrongsdonotmake+1right
01:40:17 <oerjan> covering all the bases
01:40:44 <int-e> elliott: thanks.
01:41:07 <elliott> order-pp does 8foo for all its syntax things
01:41:09 <elliott> like 8if(...)
01:42:57 <pikhq> int-e: That's... rather impressive.
01:43:55 -!- vodkode has joined.
01:48:54 <int-e> oh, of course these pp-tokens can still be used for concatenation to produce identifiers.
01:49:05 <int-e> so evil
01:50:34 -!- adu has joined.
01:50:47 <oren> oh, i see because although 2A is a number, a ## 2A beigns with a letter and is therefore an identifier
01:55:34 <oerjan> a ## 2e+2
02:00:09 <int-e> "If the result [of ##] is not a valid preprocessing token, the behavior is undefined."
02:00:16 <int-e> So good luck with that.
02:00:25 <oerjan> darn
02:18:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:18:57 -!- Phantom_Hoover has joined.
02:21:09 <oren> struct wtf{struct wtf(*x)();}; extern struct wtf srsly; int main(){srsly.x().x().x().x();/*trololol*/}
02:23:49 <oren> struct wtf wut;while(wut.x)wut=wut.x();
02:26:51 <oren> hmm, can this be made a bit more screwy?
02:32:55 -!- hjulle has joined.
02:50:23 <oren> what if I rename x to oO
02:50:45 <oerjan> o_O
02:50:51 <oerjan> hth
02:51:15 <oren> srsly.Oo().Oo();
02:52:07 <oren> srsly.Oo().oO();
03:05:38 -!- vodkode_ has joined.
03:13:47 -!- L8D has joined.
03:18:31 -!- L8D has quit (Ping timeout: 252 seconds).
03:23:03 -!- L8D has joined.
03:26:53 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
03:43:10 <oerjan> bah i've drunk too much coke
03:45:36 -!- Lymia has quit (Ping timeout: 256 seconds).
03:48:47 <oren> oerjan: drink water
03:49:08 <oerjan> DONE
03:49:35 * oerjan had a cup on the table which he'd forgot
03:52:03 -!- GeekDude has quit (Read error: Connection reset by peer).
03:57:46 -!- L8D has quit (Ping timeout: 272 seconds).
04:05:37 -!- perrier has quit (Remote host closed the connection).
04:06:53 -!- perrier has joined.
04:18:39 -!- ^v^v has quit (Read error: Connection reset by peer).
04:28:19 -!- vodkode_ has quit (Ping timeout: 245 seconds).
04:35:01 <shachaf> "It has sometimes been suggested that half pi should be called hi, and written τ. Explain why this idea was not discovered until recently."
04:35:50 <FreeFull> Is this from a world where pi = circumference / radius?
04:37:16 <shachaf> Oh, Jafet already asked me that in the past.
04:38:02 <oerjan> FreeFull: it could be a world where pi = diameter / circumference hth
04:38:19 <FreeFull> oerjan: Could be
04:54:23 -!- L8D has joined.
04:57:20 -!- hjulle has quit (Ping timeout: 244 seconds).
04:59:11 -!- L8D has quit (Ping timeout: 264 seconds).
04:59:51 -!- Lymia has joined.
05:04:58 -!- shikhin_ has joined.
05:08:11 -!- shikhin has quit (Ping timeout: 264 seconds).
05:24:13 -!- adu has quit (Quit: adu).
05:30:01 -!- shikhin_ has quit (Ping timeout: 256 seconds).
05:39:34 -!- Lymia has quit (Remote host closed the connection).
05:40:10 -!- Lymia has joined.
06:21:22 -!- FallNWolf has quit.
06:41:26 -!- vodkode has quit (Ping timeout: 255 seconds).
06:58:05 -!- J_Arcane has quit (Ping timeout: 255 seconds).
07:20:33 <oren> Why is past me an idiot who leaves things to the night before?
07:21:45 <oerjan> maybe he's shifted in time
07:27:46 <b_jonas> oren: many people do that
07:27:51 <b_jonas> me too
07:29:48 <oren> Well now future me is going to have to survive another ~20 hours without sleep
07:31:00 <oren> or maybe pass out in a subway station or something
07:32:37 <int-e> good luck
07:34:21 -!- Patashu has joined.
07:34:26 <oren> I'd better work on the graphics assignment due in a week or so... naaaaahh
07:40:07 <int-e> can't you still get 3 or 4 hours of sleep out of this night?
07:47:59 -!- L8D has joined.
07:53:11 -!- L8D has quit (Ping timeout: 264 seconds).
07:53:48 <oren> int-e that is also a good idea
08:07:51 -!- bb010g has quit (Quit: Connection closed for inactivity).
08:25:26 -!- Frooxius has quit (Read error: Connection reset by peer).
08:28:26 -!- Frooxius has joined.
09:19:14 -!- Phantom_Hoover has joined.
09:54:14 -!- ais523 has joined.
09:57:43 -!- oerjan has quit (Quit: leaving).
10:24:19 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
10:26:48 -!- Phantom_Hoover has joined.
10:30:44 <ais523> hmm, I'm getting this bug that makes no sense
10:31:01 <ais523> it feels a bit like a compiler bug, but I can't reproduce it in a simple program
10:31:25 <ais523> gdb shows that I'm passing an argument to a function, and the argument that actually arrives at that function is different
10:31:56 -!- boily has joined.
10:32:06 <ais523> this is across a shared library boundary across a pair of nested function pointers, which would explain why it hadn't been caught before, at least
10:34:58 <Taneb> ais523, are you willing/able to share the source of the offending program?
10:35:12 <ais523> Taneb: yes but it's pretty large
10:35:20 <ais523> given that the shared library in question is libnethack
10:35:50 <ais523> I seem to remember something like this having happened befoer
10:35:53 <ais523> anyway, I'm working on a testbench
10:36:04 <ais523> and wanted to get it working before I pushed the first version
10:36:08 <ais523> I guess I could push an interim version
10:40:22 <ais523> Taneb: git clone -b testbench http://nethack4.org/media/nethack4.git
10:41:18 <ais523> build and install according to the normal build instructions, then run testbench/src/testmain.c/testmain.bin from the build directory
10:48:06 <b_jonas> ais523: memory corruption? is this optimized? what system and compiler?
10:48:28 <ais523> b_jonas: -Og, gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
10:49:02 <b_jonas> I see
10:49:34 <ais523> if I change "callback" to "msg_getlin_callback" (i.e. hardcoding its value), everything works fine; that may well be because it's a private function, though
10:49:42 <ais523> thus forcing aimake to change the link to static to be able to get at it
10:49:49 <ais523> on line 747 of testgame.c
10:50:29 <ais523> (the problem is that the pointer "lin" given as an argument to the callback is a different pointer from the pointer that the callback receives in its first argument, but only the second time test_getlin is called)
10:50:34 <b_jonas> ais523: how reproducible is this?
10:50:50 <b_jonas> ais523: and have you tried to run with valgrind and/or gcc's undefined behaviour catcher traps?
10:52:43 <ais523> b_jonas: 100% reproducible; valgrind reports reading uninitialized data inside msg_getlin_callback (blaming a stack allocation on messages.c:42, which only allocates one variable and it's initialized); I haven't tried with ubsan
10:53:18 <b_jonas> luckily I don't really have much experience hunting down these kinds of bugs
10:55:06 <ais523> this one's just a flat out case of the code making no sense
10:55:14 <ais523> hmm, I wonder what ltrace will see at the API boundary
10:55:37 <b_jonas> are you using a recent enough gdb?
10:56:01 <b_jonas> if not, I definitely recommend you to upgrade it
11:02:23 <ais523> hmm, ltrace can't see the calls in question at all (presumably it can't see calls made via function pointers), but it is reporting double or even triple frees that valgrind didn't see
11:05:20 <b_jonas> :-(
11:06:02 <b_jonas> ais523: is it possible that you have declared the function differently in different source files, or cast it to the wrong type of function pointer?
11:07:19 <ais523> void (*callback)(const char *lin, void *arg) ... void msg_getlin_callback(const char *str, void *msg_to_fill)
11:07:20 <ais523> it matches
11:09:50 -!- ais523 has quit (Quit: meeting).
11:17:15 -!- hjulle has joined.
11:19:40 -!- boily has quit (Quit: PLUS-VALUE CHICKEN).
11:25:27 -!- L8D has joined.
11:30:00 -!- L8D has quit (Ping timeout: 245 seconds).
11:58:28 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
11:58:49 <HackEgo> [wiki] [[ReThue]] N http://esolangs.org/w/index.php?oldid=42159 * SuperJedi224 * (+1136) Created page with "'''ReThue''' is a superset of the [[Thue]] language proposed by [[User:SuperJedi224]]. It adds javascript-style Regular Expression constructs, and slightly improves the input ..."
12:00:54 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42160&oldid=42159 * SuperJedi224 * (+22)
12:03:12 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42161&oldid=42160 * SuperJedi224 * (+30)
12:03:25 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42162&oldid=42161 * SuperJedi224 * (-10)
12:03:47 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42163&oldid=42162 * SuperJedi224 * (+0)
12:04:46 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42164&oldid=42163 * SuperJedi224 * (+46)
12:05:28 <HackEgo> [wiki] [[ReThue]] http://esolangs.org/w/index.php?diff=42165&oldid=42164 * SuperJedi224 * (+8)
12:06:02 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=42166&oldid=42153 * SuperJedi224 * (+13) /* R */
12:06:56 -!- ais523 has joined.
12:12:11 -!- Patashu has quit (Ping timeout: 255 seconds).
12:14:50 -!- Phantom_Hoover has joined.
12:23:18 -!- ProofTechnique has quit (Ping timeout: 264 seconds).
12:33:15 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
12:36:06 -!- ais523 has quit (Ping timeout: 250 seconds).
12:36:34 -!- J_Arcane has joined.
12:45:18 -!- ProofTechnique has joined.
12:58:40 -!- shikhin has joined.
13:17:02 -!- L8D has joined.
13:23:04 -!- AnotherTest has joined.
13:34:49 -!- ais523 has joined.
14:06:09 -!- `^_^v has joined.
14:27:51 <oren> It feels like I don't need C++ I just need a larger C library
14:30:10 <oren> Specifically, one with better functions for strings and dynamic arrays
14:30:35 <elliott> it's very hard to write useful type-generic libraries in C.
14:30:56 <oren> elliott: is it?
14:31:01 <elliott> yes
14:31:05 <oren> why?
14:31:08 <elliott> C++ templates are a big win for that purpose
14:31:14 -!- ais523 has quit (Quit: low battery, I'll be back once I've plugged my laptop in).
14:31:34 <elliott> b/c without preprocessor hackery, the best you can do is make everything (void *), sacrificing type safety just like Java did when you had to cast everything to and from Object to put it into containers, and also requiring boxing
14:31:49 <elliott> (i.e., your structure cannot store the data inline, it must be indirect through a pointer, likely incurring a heap allocation)
14:32:04 <elliott> preprocessor hackery works to define type-generic structures, but it's incredibly ugly and annoying to use
14:32:40 <oren> shoudln't that be char* not void*?
14:32:54 <elliott> um
14:33:00 <elliott> I don't know what makes you say that but I'm pretty sure the answer is no
14:33:07 <oren> (unless you use gcc extension allowing pointer arith on void*)
14:33:44 <oren> I mean,consider qsort and bsearch
14:33:57 <elliott> qsort uses void *...
14:34:12 <elliott> you can just cast to char * if you want
14:36:33 -!- ais523 has joined.
14:37:00 <oren> I think you can still store the data inline
14:37:21 <oren> you simply allocate a char[] of the appropriate size
14:37:55 <elliott> you also need to think about things like internal pointers in data structures
14:38:18 <elliott> it's hard. anyway it's horribly unpleasant in manual in C to do the thing you really want, and you don't get type-safety out of it
14:38:36 <elliott> you're likely to be much happier at least flicking your compiler's C++ switch on and just using templates and nothing else
14:38:59 -!- L8D has quit (Ping timeout: 256 seconds).
14:40:12 <oren> elliott: what if we simply pass an initializer and destructor to the make_array() function?
14:40:44 <oren> (in the same way that we pass a comparator to qsort)
14:40:46 <elliott> yes, what if we just manually run C++ -> C compilers in our head and abandon readability or safety
14:40:53 <elliott> imo this will be fun and not at all pointlessly torturous for us
14:42:00 <elliott> I mean really what you do in C is just hand-code all your structures or deal with the excessive heap allocation and indirection and lack of type safety
14:42:08 <elliott> because getting what you really want is too hellish
14:42:18 <elliott> and this is why writing C is tedious
14:43:25 <elliott> glib is a pretty good example of the "just deal with the indirection and lack of type safety of boxing everything"
14:43:30 <elliott> and I mean it works but it's not very fun
14:43:45 <elliott> and if you don't care about laying things out well in memory or the costs of heap allocation then why on earth are you writing in C
14:46:49 <fizzie> glib has a bit of "store data inline" stuff, IIRC. Based on preprocessor stuffery.
14:46:53 <Jafet> Because your hardware vendor has only a port of gcc 2.95
14:46:54 <fizzie> Like the GArray thing.
14:47:01 <elliott> right
14:47:08 <elliott> you can do templating with the preprocessor
14:47:11 <elliott> and it works!
14:47:12 <oren> elliott: generally? because C library interfaces tend to be easier to understand than C++ interfaces
14:47:15 <elliott> and it's the worst thing to maintain in the universe
14:47:30 <elliott> oren: is something like std::vector really hard to understand
14:47:37 <elliott> I mean sure boost or whtaever is over the top but
14:48:35 <Jafet> Is there anything in C++ that isn't hard to understand
14:48:37 <fizzie> You provide an element size in g_array_new, and the type name to a 'g_array_index' macro, and things are generally ugly. E.g. you can't g_array_append_val(array, 42) to an array of ints because it would try to do &42 in there.
14:48:40 <oren> elliott: when I use C++ it is only for the sake of string, vector, and sometimes for custom streams.
14:49:03 <Jafet> So apparently the sort implementation in libstdc++ doesn't use swap at all, it uses moves instead
14:49:06 <Phantom_Hoover> http://www.reddit.com/r/changetip/comments/2zgr59/when_you_tip_the_wrong_amount_happened_to_me_at/cpisjsh ahahahahahahaha
14:49:06 <ais523> Jafet: I'm not sure, trying to think of something atm
14:49:25 <oren> Why we can't have a fsopen() function converting a C string to a FILE* I don't know...
14:49:31 <Jafet> This means that you can write swap specializations and they won't get used, you need a move constructor instead or you will get terrible performance
14:49:48 <elliott> I think if you try to write an API as convenient as std::vector that has the same memory/performance properties you want then you'll end up with a huge mass of preprocessor trickery
14:49:48 <elliott> er, in C
14:50:24 <Jafet> So in other words, you can't sort lists of containers fast and have the container code be C++03 compatible
14:51:37 <oren> In general C++ code causes a lot of unnecessary copies (mostly because of memory ownership issues).
14:52:11 <elliott> sure
14:52:13 <elliott> C++ has lots of problems
14:52:21 <elliott> being worse at writing generic code than C isn't one of them
14:54:19 <oren> elliott: to be fair these issues are with the standard C++ library not the language C++ itself
14:54:26 <Jafet> Is there any programming system that doesn't cause a lot of unnecessary copies
14:55:31 <oren> Jafet: you can only choose the extent of the problem...
14:57:46 * Gregor pokes channel.
14:57:51 <Gregor> I was watching and eating popcorn.
14:57:54 <Gregor> You can't stop the entertainment now.
14:59:01 <Jafet> A variant of thue where each rule may only permute existing symbols
14:59:36 <elliott> Gregor: sorry, i got enlightened and realised that c is the best language ever
15:00:25 <ais523> C++ is full of workarounds to the rest of C++, it's become a self-sustaining loop at this point
15:00:40 <oren> C is an ok language ruined for many purposes by its string type.
15:01:10 -!- L8D has joined.
15:01:19 <oren> The poorly chosen string type was then optimized for at the hardware level.
15:01:24 <elliott> C doesn't really have a string type.
15:01:35 <elliott> it just has a type that is named char for bad reasons
15:01:37 <oren> elliott: EXACTLY
15:01:52 <Jafet> WG21 apparently didn't consider it self-sustaining enough because they threw in a concurrent programming model
15:03:48 <int-e> they added threads, so they could no longer evade the issue without looking like lunatics
15:04:50 <oren> someone (with better taste than me) should write a modern replacement C stdlib, with blackjack! And whores!^H^H^H^H^H.
15:05:27 <Jafet> whoren
15:07:18 <oren> int-e: they already looked like lunatics though. you stare into an abyss of C++ templates....
15:12:33 <oren> ... abyss<you>.staring();
15:12:39 -!- L8D has quit (Ping timeout: 255 seconds).
15:16:18 -!- GeekDude has joined.
15:16:33 <Jafet> template <class T> struct abyss { using stare = abyss <T>; };
15:31:26 -!- oren has quit (Ping timeout: 265 seconds).
15:43:07 -!- oren has joined.
15:44:56 -!- ais523 has quit.
15:45:55 -!- ProofTechnique has quit (Quit: ZNC - http://znc.in).
15:49:48 -!- ProofTechnique has joined.
15:57:00 -!- L8D has joined.
16:05:03 -!- AndoDaan has joined.
16:14:05 -!- J_Arcane_ has joined.
16:15:44 -!- J_Arcane has quit (Ping timeout: 244 seconds).
16:15:45 -!- J_Arcane_ has changed nick to J_Arcane.
16:20:16 -!- bb010g has joined.
16:20:37 -!- J_Arcane has quit (Ping timeout: 252 seconds).
16:20:56 -!- J_Arcane has joined.
16:24:30 -!- J_Arcane_ has joined.
16:25:49 -!- J_Arcane has quit (Ping timeout: 246 seconds).
16:25:55 -!- J_Arcane_ has changed nick to J_Arcane.
16:34:29 -!- J_Arcane_ has joined.
16:35:58 -!- J_Arcane has quit (Ping timeout: 246 seconds).
16:36:08 -!- J_Arcane_ has changed nick to J_Arcane.
16:39:03 -!- J_Arcane_ has joined.
16:40:25 -!- J_Arcane has quit (Ping timeout: 252 seconds).
16:40:28 -!- J_Arcane_ has changed nick to J_Arcane.
16:41:21 -!- SopaXorzTaker has joined.
16:41:56 -!- SopaXorzTaker has quit (Max SendQ exceeded).
16:49:45 -!- J_Arcane_ has joined.
16:49:50 -!- J_Arcane has quit (Ping timeout: 244 seconds).
16:49:57 -!- J_Arcane_ has changed nick to J_Arcane.
16:53:39 -!- J_Arcane_ has joined.
16:54:52 -!- J_Arcane has quit (Ping timeout: 246 seconds).
16:55:03 -!- J_Arcane_ has changed nick to J_Arcane.
16:56:21 -!- AnotherTest has quit (Ping timeout: 252 seconds).
17:03:29 -!- J_Arcane_ has joined.
17:03:45 -!- shikhin has quit (Ping timeout: 272 seconds).
17:04:47 -!- L8D_ has joined.
17:05:01 -!- J_Arcane has quit (Ping timeout: 246 seconds).
17:05:10 -!- J_Arcane_ has changed nick to J_Arcane.
17:05:42 -!- J_Arcane has quit (Client Quit).
17:06:03 -!- J_Arcane has joined.
17:07:25 -!- L8D has quit (Ping timeout: 244 seconds).
17:08:26 -!- J_Arcane_ has joined.
17:09:12 -!- L8D_ has quit (Client Quit).
17:09:27 -!- L8D has joined.
17:11:21 -!- J_Arcane has quit (Ping timeout: 272 seconds).
17:11:21 -!- J_Arcane_ has changed nick to J_Arcane.
17:13:59 -!- mhi^ has quit (Changing host).
17:13:59 -!- mhi^ has joined.
17:18:53 -!- J_Arcane_ has joined.
17:20:27 -!- J_Arcane has quit (Ping timeout: 255 seconds).
17:20:32 -!- J_Arcane_ has changed nick to J_Arcane.
17:22:57 -!- J_Arcane_ has joined.
17:24:58 -!- J_Arcane has quit (Ping timeout: 246 seconds).
17:25:07 -!- J_Arcane_ has changed nick to J_Arcane.
17:26:20 -!- AnotherTest has joined.
17:28:06 -!- L8D has quit (Ping timeout: 252 seconds).
17:30:52 -!- L8D has joined.
17:32:39 -!- J_Arcane_ has joined.
17:33:37 -!- idris-bot has quit (Quit: Terminated).
17:33:53 -!- idris-bot has joined.
17:35:04 -!- J_Arcane has quit (Ping timeout: 252 seconds).
17:35:18 -!- J_Arcane_ has changed nick to J_Arcane.
17:38:06 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
17:50:34 -!- heroux has quit (Ping timeout: 240 seconds).
17:51:11 -!- vodkode_ has joined.
17:51:39 -!- sebbu has quit (Ping timeout: 256 seconds).
17:52:19 -!- GeekDude has quit (Ping timeout: 246 seconds).
17:52:36 -!- heroux has joined.
17:55:46 -!- sebbu has joined.
17:56:29 -!- sebbu has quit (Changing host).
17:56:29 -!- sebbu has joined.
17:57:53 -!- L8D has quit (Ping timeout: 256 seconds).
18:05:18 -!- sebbu has quit (Ping timeout: 264 seconds).
18:12:25 <Melvar> ( idrisVersion
18:12:25 <idris-bot> "0.9.16-git:be54e85" : String
18:13:32 <Melvar> In case anyone cares, I created a type provider that retrieves the version of idris currently in use, because someone in #idris suggested it after someone else asked what version the bot was on.
18:20:37 -!- sebbu has joined.
18:22:10 <HackEgo> [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42167&oldid=42113 * Ypnypn * (+1792) /* Constants */
18:22:27 -!- sebbu2 has joined.
18:23:03 -!- sebbu2 has quit (Changing host).
18:23:03 -!- sebbu2 has joined.
18:25:42 -!- sebbu has quit (Ping timeout: 264 seconds).
18:28:18 -!- sebbu has joined.
18:28:45 -!- sebbu2 has quit (Ping timeout: 245 seconds).
18:28:54 -!- sebbu has quit (Changing host).
18:28:54 -!- sebbu has joined.
18:35:17 <HackEgo> [wiki] [[Clip]] http://esolangs.org/w/index.php?diff=42168&oldid=42167 * Ypnypn * (+1252) /* Constants */
18:49:32 -!- oren has quit (Quit: Lost terminal).
18:50:17 -!- shikhin has joined.
18:51:07 -!- shikhin has quit (Read error: Connection reset by peer).
18:55:24 -!- shikhin has joined.
18:55:43 -!- J_Arcane has joined.
18:57:44 -!- shikhin has quit (Read error: Connection reset by peer).
19:01:33 -!- J_Arcane has quit (Ping timeout: 272 seconds).
19:02:05 -!- shikhin has joined.
19:04:23 -!- shikhin has quit (Read error: Connection reset by peer).
19:07:07 -!- shikhin has joined.
19:10:05 -!- shikhin has quit (Read error: Connection reset by peer).
19:12:10 -!- shikhin has joined.
19:12:55 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
19:14:41 -!- shikhin has quit (Read error: Connection reset by peer).
19:16:42 -!- atrapado has joined.
19:17:11 -!- shikhin has joined.
19:17:59 -!- shikhin has quit (Read error: Connection reset by peer).
19:20:32 -!- AndoDaan has quit (Quit: Going, going, gone.).
19:22:10 -!- shikhin has joined.
19:22:26 -!- shikhin has quit (Read error: Connection reset by peer).
19:27:12 -!- shikhin has joined.
19:27:36 -!- shikhin has quit (Read error: Connection reset by peer).
19:42:59 -!- shikhin has joined.
19:44:57 -!- shikhin has quit (Read error: Connection reset by peer).
19:47:57 -!- shikhin has joined.
19:49:38 -!- shikhin has quit (Read error: Connection reset by peer).
19:53:02 -!- shikhin has joined.
19:53:25 -!- shikhin has quit (Read error: Connection reset by peer).
20:03:22 -!- shikhin has joined.
20:04:15 -!- shikhin has quit (Read error: Connection reset by peer).
20:08:23 -!- shikhin has joined.
20:08:27 -!- shikhin has quit (Read error: Connection reset by peer).
20:15:31 -!- zzo38 has joined.
20:16:45 -!- `^_^v has quit (Quit: This computer has gone to sleep).
20:18:22 -!- shikhin has joined.
20:18:44 -!- shikhin has quit (Read error: Connection reset by peer).
20:27:59 -!- oren has joined.
20:28:15 <oren> Holy shit! facebook tells people your location!
20:28:43 -!- shikhin has joined.
20:28:51 -!- shikhin has quit (Read error: Connection reset by peer).
20:30:39 <oren> which means if you happen to be seeing your mistress, and you message your wife... big trouble
20:30:55 <oren> lol
20:33:17 <int-e> so whaty
20:33:49 <int-e> just wait until Google Now tells you that you have an appointment with a divorce lawyer, based on the exact same information.
20:33:50 -!- shikhin has joined.
20:33:56 -!- shikhin has quit (Read error: Connection reset by peer).
20:34:43 <int-e> http://qdb.us/301866 is cute
20:35:16 <oren> "Siri, what are my appointments today" "Divorce lawyer at 5, and doctor at 1, you stepped in poison ivy 30 seconds ago."
20:40:00 <oren> Hmm, I was using screen through UofT's computers, but for some reason it doesn't forward utf-8 properly
20:41:57 <oren> which is important for a channel that uses as many Æあα as this one.
20:42:21 <int-e> öh
20:42:48 <int-e> `unicode MULTIOCULAR
20:42:50 <HackEgo> U+A66E CYRILLIC LETTER MULTIOCULAR O \ UTF-8: ea 99 ae UTF-16BE: a66e Decimal: &#42606; \ ꙮ \ Category: Lo (Letter, Other) \ Bidi: L (Left-to-Right)
20:44:14 -!- shikhin has joined.
20:44:47 -!- Fleur has joined.
20:45:31 -!- vodkode_ has quit (Ping timeout: 246 seconds).
20:49:27 -!- shikhin has quit (Read error: Connection reset by peer).
20:50:12 -!- CADD has joined.
21:00:49 -!- shikhin has joined.
21:01:18 -!- shikhin has quit (Changing host).
21:01:18 -!- shikhin has joined.
21:02:02 -!- shikhin has quit (Read error: Connection reset by peer).
21:05:13 <b_jonas> fungot, don't make the others jelous of you
21:05:13 <fungot> b_jonas: if you are going for fast load time, you can omit it. :) actually, i think
21:08:35 -!- shikhin has joined.
21:13:17 -!- oren has quit (Ping timeout: 272 seconds).
21:19:58 -!- Valentina has joined.
21:24:14 -!- Valentina has quit (Ping timeout: 252 seconds).
21:24:47 -!- ProofTechnique has quit (Ping timeout: 246 seconds).
21:30:34 -!- Patashu has joined.
21:32:00 -!- Fleur has quit (Ping timeout: 255 seconds).
21:32:07 <zzo38> I have SSH account, but to access some programs, I have to first SSH to one server and then from there, SSH to the server that is physically on top of that one, in order to access GCC and so on
21:40:38 <olsner> `quote hth
21:40:39 <HackEgo> No output.
21:41:15 <olsner> `? hth
21:41:16 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
21:43:21 <zzo38> I think now I thought of the way to make in a 6502 code and using tables to make a signed 16-bit number output as a decimal format.
21:44:10 -!- nisstyre has changed nick to ihateoctal.
21:50:55 -!- ihateoctal has changed nick to nisstyre.
21:55:40 -!- zzo38 has quit (Disconnected by services).
21:55:45 -!- zzo38 has joined.
21:59:26 -!- vodkode_ has joined.
21:59:55 -!- ProofTechnique has joined.
22:22:28 -!- GeekDude has joined.
22:25:30 -!- vodkode_ has quit (Ping timeout: 256 seconds).
22:30:51 -!- L8D has joined.
22:36:55 -!- YogeeBear has joined.
22:37:32 -!- YogeeBear has left.
22:41:40 -!- ProofTechnique has quit (Ping timeout: 245 seconds).
22:46:02 -!- AnotherTest has quit (Remote host closed the connection).
22:46:03 -!- vodkode has joined.
22:49:57 -!- FreeFull has quit (Quit: Rebooting).
22:52:55 -!- FreeFull has joined.
22:55:53 -!- oren has joined.
22:58:04 -!- Phantom_Hoover has joined.
22:58:24 -!- Sgeo has quit (Read error: Connection reset by peer).
22:58:39 -!- Sgeo has joined.
23:03:35 -!- atrapado has quit (Quit: quitan).
23:46:15 <int-e> `? tdh
23:46:17 <HackEgo> tdh is the past tense of a successful hth. hth.
23:50:16 <int-e> Do we have an "official", oerjan-approved way of abbreviating "that didn't help"?
23:50:57 <int-e> I guess it's "tdnh".
23:51:04 <int-e> `? tdnh
23:51:05 <HackEgo> tdnh does not help
23:51:21 <int-e> `? htdnh
23:51:22 <HackEgo> htdnh? ¯\(°​_o)/¯
23:51:59 <int-e> `` ls -la wisdom/tdnh
23:52:01 <HackEgo> ​-rw-r--r-- 1 5000 0 19 Jan 6 17:40 wisdom/tdnh
23:55:20 <int-e> Oh well, commit date: Mon, 01 Jul 2013 00:03:21 +0000
23:56:33 -!- AndoDaan has joined.
←2015-03-19 2015-03-20 2015-03-21→ ↑2015 ↑all