--- Log opened Tue Apr 01 00:00:43 2014 |
00:12 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
00:22 | | Vorntastic [Vorn@Nightstar-689pth.sub-70-211-18.myvzw.com] has joined #code |
00:23 | | Vorntastic [Vorn@Nightstar-689pth.sub-70-211-18.myvzw.com] has quit [[NS] Quit: Bye] |
00:23 | | Vorntastic [Vorn@Nightstar-689pth.sub-70-211-18.myvzw.com] has joined #code |
00:24 | | Vorntastic [Vorn@Nightstar-689pth.sub-70-211-18.myvzw.com] has quit [[NS] Quit: Bye] |
00:33 | <@celticminstrel> | Uh, how am I supposed to preserve the filename with ImageMagick convert... |
00:33 | <@celticminstrel> | (Trying to make a bunch of images transparent.) |
00:33 | < Shiz> | don't specify an output file? |
00:34 | < Shiz> | i wouldn't recommend it |
00:34 | <@celticminstrel> | convert *.png -transparent white %d.png works, but I want the filenames to be the same as the input, not numbered. |
00:34 | <@celticminstrel> | (The actual command-line I'm using has directories prepended to those filenames.) |
00:35 | <@celticminstrel> | I guess I can just rename them manually, but... |
00:39 | <&ToxicFrog> | celticminstrel: use "mogrify" rather than "convert" |
00:39 | <&ToxicFrog> | http://www.imagemagick.org/Usage/basics/#mogrify |
00:40 | <@celticminstrel> | I tried that, exactly nothing happened. |
00:40 | <@celticminstrel> | mogrify *.png -transparent white -path newdir/ |
01:01 | | You're now known as TheWatcher[T-2] |
01:07 | | Derakon[AFK] is now known as Derakon |
01:09 | <&ToxicFrog> | celticminstrel: oh, wait |
01:10 | <&ToxicFrog> | You want to give it the same name, but in a different directory? |
01:10 | <&ToxicFrog> | Rather than actually converting it in place? |
01:10 | <&ToxicFrog> | Just...give it the same name, then. |
01:10 | <@celticminstrel> | That only works when it's just one file. |
01:11 | <&ToxicFrog> | Also, order of arguments is important. |
01:11 | <&ToxicFrog> | Try -path and -transparent before the filenames, as in the example. |
01:11 | <&ToxicFrog> | And no it doesn't; for i in *.png; do convert "$i" -transparent white "newdir/$i"; done |
01:12 | <@celticminstrel> | Yeah, but that's a shell loop. |
01:12 | <@celticminstrel> | I was hoping I could avoid that. |
01:12 | <@celticminstrel> | In any case, it's done now. |
01:13 | | You're now known as TheWatcher[zZzZ] |
01:20 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
01:20 | | mode/#code [+o himi] by ChanServ |
01:22 | <&ToxicFrog> | Why were you hoping to avoid that? |
01:28 | <@celticminstrel> | ...fun. Two of the images had a background colour of 255,254,255 instead of pure white, and use that colour in some of the actual images. |
01:28 | <@celticminstrel> | I have no idea how to deal with this. |
01:29 | <@celticminstrel> | I suppose I could manually fill in the gaps... |
01:30 | <@macdjord|out> | McMartin: Re: P=NP: It doesn't actually mean all cryptography is useless. The fact that you can reduce it polynomially doesn't mean that it's a /small/ polynomial. If it's, say, O(n^5), then it's not practical for any large input anyway. |
01:31 | < Shiz> | or n^2000 |
01:31 | < Shiz> | which is still polynomial |
01:33 | <@macdjord|out> | Shiz: n^k where k > ~10 seems unlikely; based on my (limited) understanding of the way the math works here, the complexity of the proof nessisary will scale roughly with n. If n is too large, the proof will be beong human conception. |
01:33 | <@celticminstrel> | I wonder if ImageMagick can do a "subtraction": take image A and subtract image B in such a way that overlaying the result on image A returns the original image. |
01:36 | < Shiz> | sounds like a pixel XOR |
01:36 | <@celticminstrel> | Really? |
01:37 | <@celticminstrel> | I'd like a result with an alpha channel. |
01:40 | <&ToxicFrog> | celticminstrel: I know it can, the trick is figuring out how to tell it that's what you want. |
01:40 | <@celticminstrel> | Heh. |
01:53 | <@Alek> | write a script >_> |
02:01 | <&Derakon> | There are times when my solution to an image-processing problem is to do "convert image.png image.txt" and then massage the pixels by parsing the resulting text. |
02:01 | <&Derakon> | This is hilariously inefficient though. |
02:10 | <&ToxicFrog> | celticminstrel: the command you want to take a difference is 'compare' |
02:10 | <@celticminstrel> | Really? That seemed a bit different. I can try it, I suppose. |
02:11 | <@celticminstrel> | Basically what I want to do is remove the background from an image. |
02:11 | <@celticminstrel> | But the background isn't a solid colour. |
02:11 | <@celticminstrel> | And there's a shadow, which should ideally be preserved. |
02:12 | <&ToxicFrog> | You wanted image difference, it does image difference |
02:12 | <&ToxicFrog> | I assumed you had some other of generating the image you wanted it diffed against |
02:12 | <@celticminstrel> | The image that's the background is separately available. |
02:12 | <@celticminstrel> | I have both the background, and the background with the other image on top. |
02:13 | <@celticminstrel> | I'll see if I can get compare to do what I want. |
02:23 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
02:23 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
02:49 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
02:50 | <@celticminstrel> | What? Why is a call ambiguous when passing 0 to an argument that's short in one function and non-void pointer in the other. |
02:50 | <@celticminstrel> | Numbers are not supposed to implicitly convert to pointers. |
02:52 | | macdjord|out is now known as macdjord |
02:58 | <&McMartin> | C/C++? 0 is special. |
02:58 | <&McMartin> | it means NULL; NULL is turned to 0 by the preprocessor, even. |
02:58 | <@celticminstrel> | But this is in a function call, not an initializer. |
03:01 | <&McMartin> | Yeah, I'm saying "0" is valid anywhere a pointer is |
03:02 | <@celticminstrel> | >< |
03:04 | <&ToxicFrog> | Can you disambiguate with (short)0 or (foo*)0? |
03:04 | <&ToxicFrog> | (death to C++) |
03:10 | <&McMartin> | TF: Yes, and IIRC NULL is #defined as ((void *)0) |
03:14 | <@celticminstrel> | I thought that was only true in C++98 or C. In C++11 they added nullptr, after all. |
03:14 | <&McMartin> | Guess what language your compiler is compiling |
03:15 | <@celticminstrel> | It shouldn't be compiling C++98... |
03:15 | <&McMartin> | Pretty much every compiler I know of does a superset of C++98 and C89 unless you explicitly say "use standard ______" |
03:16 | <@celticminstrel> | Which I did, I thought. |
03:16 | <@celticminstrel> | I've been using C++11 things in this code recently, like {} for vectors. |
03:30 | < Shiz> | McMartin: you're not entirely right |
03:30 | < Shiz> | C and C++ differ in NULL/0 semantics |
03:30 | < Shiz> | which is why the call is only ambiguous in C++ |
03:30 | < Shiz> | and not in C |
03:30 | <&McMartin> | Well |
03:30 | < Shiz> | (then again, C also doesn't have function overloading in the first place) |
03:30 | <&McMartin> | C also lacks overloading entirely |
03:30 | <&McMartin> | yeah |
03:30 | <@celticminstrel> | I was about to say, yeah. |
03:30 | < Shiz> | (but even if it had, it wouldn't be ambiguous) |
03:30 | <@celticminstrel> | In C the code is illegal. |
03:30 | < Shiz> | which is my point |
03:31 | < Shiz> | because C++ changed pointer semantics |
03:31 | < Shiz> | to the point of breaking NULL, essentially |
03:31 | < Shiz> | which is why std::nullptr had to be invented |
03:31 | <@celticminstrel> | It's a keyword, not standard library. |
03:31 | <&McMartin> | But apparently it wasn't deemed important enough to break all C++ code ever, the way namespaces were~ |
03:31 | < Shiz> | celticminstrel: it IS standard library |
03:31 | <@celticminstrel> | Huhwhat? |
03:31 | < Shiz> | nullptr is std::nullptr_t |
03:32 | < Shiz> | (of type) |
03:32 | <@celticminstrel> | But nullptr is a keyword. |
03:32 | < Shiz> | yeah, right |
03:32 | < Shiz> | either way |
03:32 | <@celticminstrel> | I think. |
03:32 | <@celticminstrel> | Pretty sure? |
03:32 | < Shiz> | C++'s semantics specify that you can ONLY define NULL as 0 |
03:32 | < Shiz> | nothing more |
03:32 | < Shiz> | nothing less |
03:32 | < Shiz> | as opposed to C, where the standard indirectly prescribes ((void *)0) |
03:32 | < [R]> | <ErikMesoy> So that I can test a dicebot on it without getting g-lined for repeatedly reconnecting after tinkering with the code, as happened when I tried in #test around here. <-- irc.universaldark.net if you want (we're too lazy to setup automatic bot detection shit) |
03:32 | < Shiz> | in C you can say NULL is of type void* |
03:33 | < Shiz> | which wouldn't kill overloading even if C had it |
03:33 | < Shiz> | in C++ however, NULL is *always* of type int |
03:33 | <&McMartin> | Even C has the wackassery to deal with the fact that a pointer whose bits are all zero might be a valid pointer and thus can't be NULL |
03:33 | <&McMartin> | right? |
03:33 | < [R]> | <ErikMesoy> Anyone want to suggest an IRC server setup thingy that works out of the box with minimal features? (the only feature I want is "knowing how to connect to it") <-- ngircd |
03:34 | < Shiz> | if you mean the pointer value itself, if all its bits are zero then its memory value is 0 and thus it is equivalen to ((void*) 0) |
03:34 | < Shiz> | pointers are equivalent if their pointed addresses are |
03:34 | <&McMartin> | That last step, AIUI, is not strictly guaranteed |
03:34 | <&McMartin> | That is, ((void *)0) does not have a prescribed bit pattern |
03:34 | < Shiz> | I'll admit I don't know insofar the standard prescribes that either |
03:34 | <&McMartin> | Just that the act of casting it to intptr_t results in 0 |
03:35 | <&McMartin> | In practice, everyone does the sane thing |
03:35 | < Shiz> | either way |
03:35 | < Shiz> | precisely because in C++ you can only define NULL as 0, the overloading shenanigans occur |
03:35 | < Shiz> | the reason why that is, is because in C you can freely use a void* pointer as a pointer to anything else |
03:35 | < Shiz> | that is, mystruct_t* p = pn; where pn is of type void* is a legal assignment |
03:35 | <&McMartin> | Right, thanks to multiple inheritance, C++ static casts often change the bit pattern |
03:36 | < Shiz> | C++ explicitly disallowed this |
03:36 | < Shiz> | in a misguided way to prevent weak typing |
03:36 | < Shiz> | so in C++ you have to explicitly cast |
03:36 | < Shiz> | mystruct_t* p = (mystruct_t *) pn; |
03:36 | < Shiz> | basically, to use NULL here you have two options |
03:36 | < Shiz> | 1) define it as ((void*)0) and have it casted everywhere it's used |
03:37 | < Shiz> | 2) define it as 0, which the standard allows as a pointer type fo rsome reason |
03:37 | < Shiz> | people did the second, and thus the overloading stuff happened |
03:37 | < Shiz> | (maybe the C++ standard explicitly disallows the first option; i'm honestly not too sure, but i wouldn't be surprised) |
03:38 | < Shiz> | McMartin: afaik only dynamic casts affect any type of ineritance stuff |
03:38 | < Shiz> | but I might be wrong. |
03:38 | <&McMartin> | Shiz: It's an implementation detail |
03:38 | < Shiz> | (and 'old style' bracket casts are static casts) |
03:38 | <&McMartin> | The "natural" implementation of multiple inheritance occasionally requires changing pointer values as part of a static cast |
03:39 | <&McMartin> | For single inheritance you have one struct that's extended with the subclass's fields, and the vtbl extends for the new methods |
03:39 | <&McMartin> | For multiple inheritance you can only do that trick for one of your superclasses, so to be treated transparently as your *other* superclasses you need their structure embedded within you. |
03:39 | <&McMartin> | And casting to that superclass results to a pointer into the middle of "you" |
03:40 | < Shiz> | fun times. |
03:40 | <&McMartin> | IIRC, only dynamic casts can reverse that process, so the vtable must have a "my *real* pointer" value in there somewhere. |
03:40 | <&McMartin> | (Also, this assumes non-diamond inheritance) |
03:40 | <@celticminstrel> | ie virtual |
03:41 | <&McMartin> | IIRC, the case I describe here is nonvirtual inheritance |
03:41 | <@celticminstrel> | I was meaning to imply diamond=virtual |
03:41 | <&McMartin> | Oh. Yes. |
03:41 | <@celticminstrel> | Sorry, that was ambiguous. |
03:42 | <&McMartin> | Death to multiple inheritance, etc. |
03:42 | < [R]> | MI can die, when people have a good language for mixins |
03:43 | <@celticminstrel> | I wish Java had it though. (Although, Java 7 or 8 probably comes as close to it as I'd need.) |
03:43 | < [R]> | s/for/with |
03:43 | < Shiz> | I don't really a use for mixins ever |
03:43 | < [R]> | I've had a few. |
03:43 | < Shiz> | delegation > composition |
03:43 | <@celticminstrel> | (I'm referring to defaulted methods in an interface, for reference.) |
03:44 | < [R]> | Mixins would be a nice way to replace a bunch of STL stuff so it's not got pointless pointers all over. |
03:44 | < Shiz> | removing the STL would be a great way to replace the STL |
03:44 | | * Shiz death to the STL |
03:44 | <@celticminstrel> | I like the STL. |
03:45 | < [R]> | STL exists because it's better to reuse a tried and tested implementation in 99.9% of all cases. |
03:45 | <&McMartin> | And because C++ has no root object type. |
03:45 | < [R]> | But there isn't really an alternative other than "use macros" |
03:45 | <&McMartin> | So some kind of templating mechanism is the only route you have. |
03:45 | < Shiz> | I'm not against the concept of the STL |
03:45 | < Shiz> | I'm just against the STL how it is to an extent that I'd rather have it gone |
03:45 | < Shiz> | because it's so bad |
03:45 | < [R]> | Explain |
03:46 | < Shiz> | well I'd rather go to bed right now, but the key points are operater overload abuse, extremely odd class inheritance overviews and the tendency of the C++ committee to put all new language features into the STL of in the ... language |
03:47 | < Shiz> | (case in point for the latter, std::for_each and std::nullptr_t) |
03:47 | < Shiz> | instead of in the language* |
03:47 | <@celticminstrel> | With the possible exception of stream insertion/extraction operators, I don't think there's any egregious abuse of operator overloading. |
03:48 | < Shiz> | oh, also as a minor detail, the header files without extensions |
03:48 | < Shiz> | those are just odd in general |
03:48 | < [R]> | iostreams are quite likely a larger evil than STL could ever be |
03:48 | <@celticminstrel> | Oh, yeah, the lack of extensions is quite odd. |
03:48 | < [R]> | That's a C++ism, not STL. |
03:48 | <@celticminstrel> | I've always seen the iostreams as part of the STL. |
03:48 | < Shiz> | maybe, but I think nobody but the STL uses it |
03:48 | <&McMartin> | At this point STL is part of C++, as much as java.util.* is part of Java. |
03:48 | < [R]> | Borland's C++ compiler has them with .h |
03:49 | < Shiz> | McMartin: of course, I'm not denying that |
03:49 | < Shiz> | [R]: gcc too, I believe |
03:49 | < Shiz> | or rather |
03:49 | < Shiz> | libstdc++ |
03:49 | < [R]> | iostream predates the STL afaik? |
03:49 | <&McMartin> | Sort of |
03:49 | <&McMartin> | That was the case of "breaking all C++ everywhere forever" I alluded to above. |
03:49 | < [R]> | Shiz: not really, it has them without the .h |
03:49 | < Shiz> | but also with the .h |
03:49 | < Shiz> | I believe, at least |
03:49 | <&McMartin> | Until the STL became standard, cout, istream, etc, lived in the global namespace |
03:49 | < Shiz> | might be wrong |
03:50 | <&McMartin> | Afterwards they went into std |
03:50 | <&McMartin> | And all code everywhere broke because now it can't find cout. |
03:50 | < [R]> | $ ls /usr/include/c++/4.5.2/io* |
03:50 | < [R]> | /usr/include/c++/4.5.2/iomanip /usr/include/c++/4.5.2/iosfwd |
03:50 | < [R]> | /usr/include/c++/4.5.2/ios /usr/include/c++/4.5.2/iostream |
03:50 | < Shiz> | and that's why using namespace std; became a thing |
03:50 | < Shiz> | (barf) |
03:51 | < [R]> | (those are all files FYI) |
03:51 | <@celticminstrel> | The convention I usually use is to keep "using namespace" to source files. |
03:51 | <@celticminstrel> | So in headers, everything is explicitly qualified. |
03:53 | < Shiz> | [R]: seems i was wrong, then |
03:53 | < Shiz> | local checking yielded the same result |
03:55 | < [R]> | Yeah, note you /will/ find c++ headers with .h, also with .hpp, .cpp, and .tcc |
03:55 | < [R]> | But there exists headers without the extensions as the entry point. |
03:55 | < Shiz> | I think .hpp would be my extension of choice for a C++ library that used C++ features |
03:55 | < Shiz> | but I don't really write a lot of C++ anymore |
03:55 | <@celticminstrel> | I think I've also see things like .hxx .hx .hp .hh |
03:55 | < Shiz> | celticminstrel: and the personal favourite (cough) of .H |
03:55 | <&Derakon> | "x" is generally used IME for code that's supposed to be usable in both C and C++. |
03:55 | < [R]> | I'm speaking specifically of the c++ stdlib that ships with gcc |
03:55 | <@celticminstrel> | That's the worst one ever. |
03:56 | <&Derakon> | So .cxx is code for C/C++, hxx is header for same. |
03:56 | < [R]> | That is, /one/ single library. |
03:56 | < Shiz> | yeah |
03:56 | < [R]> | 5+ header extensions. |
03:56 | <@celticminstrel> | I hadn't heard that convention, Derakon |
03:56 | < [R]> | There's probably a difference, but really WTF is .tcc? |
03:56 | <@celticminstrel> | Template definitions. |
03:57 | <@celticminstrel> | Typically included at the bottom of a normal header file. |
03:58 | < Shiz> | i immediately thought of the tiny c compiler |
03:58 | <@celticminstrel> | Heh. |
03:58 | < [R]> | Same |
04:04 | <@celticminstrel> | At some point I'll probably want a way to detect functions that are never called... |
04:05 | <@celticminstrel> | (In particular, functions that are never called but probably should be.) |
04:07 | <&ToxicFrog> | Dead code detection is A Thing, but I don't know what tools exist for doing it to c/++. |
04:07 | <@celticminstrel> | I intend to run the static analyzer once linking is achieved; not sure if that'll do it. |
04:08 | <&ToxicFrog> | "static analyzer" is pretty vague. |
04:08 | <@celticminstrel> | I think it's som LLVM thing. It's in XCode. |
04:08 | <@celticminstrel> | ^some |
04:13 | <@Tarinaky> | Oh God every time I try to make a dent in this diss I just end up overwhelmed with how behind I am. |
04:13 | | * Tarinaky frowns. |
04:14 | | * macdjord rotates Tarinaky 180° |
04:14 | <@macdjord> | There. Now you're ahead. |
04:27 | | macdjord is now known as macdjord|slep |
04:37 | | HotShot^Pizza is now known as HotShot |
04:56 | | Derakon is now known as Derakon[AFK] |
04:56 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
05:05 | | Kindamoody[zZz] is now known as Kindamoody |
05:18 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
05:21 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
05:21 | | mode/#code [+o JackKnife] by ChanServ |
05:27 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
05:40 | | macdjord|slep [macdjord@Nightstar-7rac1r.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
05:42 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
06:12 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: Leaving] |
06:34 | | ErikMesoy|sleep is now known as ErikMesoy |
06:49 | <@celticminstrel> | Bah, DTDs don't allow the use of * in attributes. |
06:53 | | Turaiel is now known as Turaiel[Offline] |
07:03 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
07:06 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
07:18 | | HotShot [theeaznon@Nightstar-lm0lil.sfldmi.sbcglobal.net] has quit [Connection closed] |
07:23 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code |
07:34 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
07:42 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
07:42 | | mode/#code [+o JackKnife] by ChanServ |
08:40 | | [R] [rstamer@genoce.org] has quit [[NS] Quit: No Ping reply in 180 seconds.] |
08:41 | | [R] [rstamer@Nightstar-d7h8ki.org] has joined #code |
08:55 | <@celticminstrel> | Whee, after much fiddling, I managed to convert my DTD to a schema (using an automated tool to initiate the process) that xmllint accepts. |
08:56 | | celticminstrel is now known as celmin|Zzzzzz |
09:02 | | Kindamoody is now known as Kindamoody|afk |
09:02 | | You're now known as TheWatcher |
09:03 | | AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:32 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
09:54 | | Kindamoody|afk is now known as Kindamoody |
10:25 | | Shemhazai [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
10:25 | | Netsplit *.net <-> *.split quits: @Orthia, @JackKnife, ToxicFrog, jeroud, @Syloq |
10:25 | | Netsplit over, joins: &ToxicFrog, &jeroud, @Orthia, @JackKnife, @Syloq |
10:26 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
10:49 | | mode/#code [+o RchrdB] by ChanServ |
11:03 | | Syka [the@Nightstar-qam.i8a.156.120.IP] has joined #code |
11:04 | | Syka is now known as NSGuest30491 |
11:12 | | Kindamoody is now known as Kindamoody|out |
11:12 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
11:12 | | mode/#code [+o himi] by ChanServ |
11:51 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
12:15 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
12:28 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
12:28 | | mode/#code [+o himi] by ChanServ |
12:50 | | macdjord [macdjord@Nightstar-7rac1r.mc.videotron.ca] has joined #code |
12:50 | | mode/#code [+o macdjord] by ChanServ |
12:52 | | macdjord is now known as macdjord|wurk |
14:20 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
14:25 | | Erik [8f610223@Nightstar-qtq4f2.mibbit.com] has quit [[NS] Quit: Going home] |
14:32 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
14:32 | | mode/#code [+o himi] by ChanServ |
15:28 | | celmin|Zzzzzz is now known as celticminstrel |
15:30 | <@ErikMesoy> | When a thingy (apparently) designed for Linux but installed on Windows says its config files have been stored in tilde slash dot foldername, where are those files? (They seem to exist somewhere, since the thingy has saved settings from a previous config.) |
15:35 | <@ErikMesoy> | So far I've tried looking in computer root, C:, Documents, My Documents, Libraries. |
15:39 | <@TheWatcher> | Which version of Windows? |
15:40 | <@TheWatcher> | Say for 7/8 it's probably c:\Users\<username>\ |
15:43 | <@ErikMesoy> | That's it, thanks |
15:47 | <&ToxicFrog> | For future reference, the $USERPROFILE environment variable should tell you; it's the windows equivalent to $HOME. |
16:04 | <@Azash> | How can I access the stdout and possibly stderr for an init.d script? |
16:09 | <@TheWatcher> | Uh |
16:09 | <@TheWatcher> | Do you mean a daemon process started from one, or the script that starts it? |
16:09 | <@Azash> | That's running |
16:09 | <@Azash> | The process, yeah |
16:10 | <@TheWatcher> | Unless it's writing them to a log file somewhere, you can't |
16:10 | <@Azash> | I SO'd meanwhile and dup2'd the output, but it's not writing them anywhere |
16:10 | <@Azash> | Er, I SO'd and saw that I should use gdb so I dup2'd* |
16:10 | <@Azash> | But the dup2 commands return $1 = -1 and $2 = -1, and nothing is being written to the redirect targets, so I guess something didn't work out there |
16:11 | <@TheWatcher> | When then detach from the shell, daemons will usually close the standard initial filehandles |
16:11 | <@TheWatcher> | *they |
16:11 | < Shiz> | you typically don't want to |
16:11 | <@Azash> | Typically don't want to what? |
16:11 | < Shiz> | access the stdout and stderr from an init.d script |
16:11 | <@Azash> | ok |
16:12 | <@Azash> | TheWatcher: Hm, right |
16:14 | < Shiz> | because init.d scripts only serve to start and stop daemon, and monitor their status |
16:14 | < Shiz> | not actively interact with them in any way |
16:14 | < Shiz> | it'd imply longetivity that isn't there |
16:15 | <@TheWatcher> | What is it you're trying to do, anyway? |
16:15 | <@Azash> | I'm trying to get some kind of foothold on this issue with openERP |
16:15 | < Shiz> | you should probably start it outside init.d |
16:15 | < Shiz> | if you're trying to debug it |
16:16 | < Shiz> | most daemons have a no-fork option |
16:16 | < Shiz> | which will run it in the foreground and log to stdout |
16:16 | <@TheWatcher> | ^-- |
16:25 | <&ToxicFrog> | Ok, C++, what the hell is this |
16:25 | <&ToxicFrog> | template<class ConfigType> BaseMerger; |
16:25 | <&ToxicFrog> | class SpecificMerger: public BaseMerger<SpecificConfigType>; |
16:27 | <&ToxicFrog> | typedef SpecificMerger MergerType; |
16:27 | < Shiz> | shenanigans |
16:27 | <&ToxicFrog> | BaseMerger<SpecificConfigType>* GetMerger() { return new MergerType(); } |
16:28 | <&ToxicFrog> | Fails with 'cannot initialize return object of type BaseMerger<SpecificConfigType>* with an rvalue of type MergerType (aka SpecificMerger)' |
16:40 | <@froztbyte> | ToxicFrog: performance art trolling |
16:41 | <@ErikMesoy> | job security |
16:47 | <&ToxicFrog> | Jesus christ. I'm glad this thing isn't written in python, because this change would be completely intractable without static type analysis, but fuck C++ in the eye. |
17:00 | <&ToxicFrog> | Does anyone here know offhand what <tam.h> is? |
17:01 | <&ToxicFrog> | (this is a very old program I'm looking at now) |
17:02 | | AnnoDomini is now known as Julius |
17:04 | <&ToxicFrog> | nvm, found it: http://osr600doc.sco.com/en/man/html.S-osr5/tam.S-osr5.html |
17:06 | | Shemhazai is now known as JackKnife |
17:06 | | mode/#code [+o JackKnife] by ChanServ |
17:06 | <@TheWatcher> | ... sco is still around? |
17:07 | <&ToxicFrog> | TheWatcher: I don't think so. |
17:09 | <&ToxicFrog> | But this program was originally written to run on AT&T UNIX ca. 1988 and then ported to SCO ca. 1992. |
17:11 | <&ToxicFrog> | Hmm. Ok, letters works. train, train2 and march will need to be ported to use curses. |
17:13 | <&ToxicFrog> | Oh man, it loads the fonts from /u/ben/. That's a nostalgia trip. |
17:14 | < Xon> | ugh, why do some people pick signed 32bit integers for DB primary keys when the entire goal is to count crazy numbers of records =| |
17:25 | <&ToxicFrog> | Oh man |
17:25 | <&ToxicFrog> | This was written back in the days when no-one bothered with function prototypes |
17:26 | <&ToxicFrog> | Which means that stuff like getenv() now breaks horribly because int and void* no longer have the same width |
17:26 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
17:34 | < Xon> | ToxicFrog, oh dear |
17:41 | <@Tarinaky> | Math/Quantum Information Theory: How can I obtain the Schmidt decomposition of an inseperable state vector? |
17:44 | <&ToxicFrog> | Xon: at least it's not talking directly to the terminal or something. |
17:45 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
17:47 | <@Tarinaky> | My lecture notes on Entanglement Dilution say 'without loss of generality' so I /assume/ I'm just missing a trick with my choice of basis. |
17:47 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
19:13 | | Derakon[AFK] is now known as Derakon |
19:37 | | Kindamoody|out is now known as Kindamoody |
19:50 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code |
19:50 | | mode/#code [+o celticminstrel] by ChanServ |
20:36 | | HotShot^Work [HotShot^Wor@Nightstar-v7se27.try.wideopenwest.com] has joined #code |
21:40 | | Kindamoody is now known as Kindamoody[zZz] |
21:54 | | JackKnife [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
22:14 | | HotShot^Work [HotShot^Wor@Nightstar-v7se27.try.wideopenwest.com] has quit [Connection closed] |
22:21 | | Julius is now known as AnnoDomini |
22:27 | | ErikMesoy is now known as ErikMesoy|sleep |
23:39 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:39 | | Turaiel[Offline] is now known as Turaiel |
--- Log closed Wed Apr 02 00:00:59 2014 |