--- Log opened Tue Sep 09 00:00:31 2008 |
00:09 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
00:15 | | Vornotron is now known as Vornicus |
00:29 | <@Consul> | There is no Linux IDE so far that I like. |
00:29 | <@Consul> | In fact, they all quite suck hard. |
00:30 | <@McMartin> | Pretty much. |
00:30 | <@McMartin> | The best I've used for it is Eclipse, and that's only for Java |
00:30 | <@Consul> | Supposedly, Eclipse can do C++ too, but it's still 50/50. |
00:31 | <@McMartin> | It's supposedly done C++ for ages |
00:31 | <@Consul> | I guess I'm just writing eveything by hand and adding my own CMake file. |
00:31 | <@McMartin> | Very, very "supposed". |
00:31 | <@ToxicFrog> | I've heard good things about code::blocks |
00:31 | <@McMartin> | emacs in bsd mode Gets The Job Done and is typically what I use |
00:32 | <@McMartin> | Though lately I've mostly been using X-Code. |
00:32 | <@ToxicFrog> | I tend to use NEdit. |
00:32 | <@ToxicFrog> | But that's just a lexis-aware editor, not an IDE. |
00:32 | <@McMartin> | Yeah. |
00:33 | < Shoukanjuu> | Do you capitalize words like that because it's some kind of trope? |
00:33 | <@McMartin> | I'd put in Notepad++ too for that but again, just a lexis-aware editor. |
00:33 | < Shoukanjuu> | Is everyone here a troper? >_> |
00:33 | <@McMartin> | Shoukanjuu: Capitalized Essences |
00:33 | <@McMartin> | Though I am, in fact, a minor troper. |
00:33 | < Shoukanjuu> | Surely, that's not just coincidence |
00:33 | <@McMartin> | Tropers all read Pratchett, yes. |
00:34 | <@ToxicFrog> | My main objection to code::blocks is that it's Scintilla-based, which means that if you want to add hilighting support for a language it doesn't know about already, You Are Entering A World Of Pain. |
00:34 | <@McMartin> | But investing ordinary statements with Significant Capitals is an ironic throwback to the nineteenth century and has been going on for over a century |
00:34 | <@ToxicFrog> | Whereas in NEdit it's just Stand Back, I Know Regular Expressions. |
00:35 | < Shoukanjuu> | This is amusing, but I think it's on purpose. I do the same thing, and I don't know why. :/ |
00:35 | <@McMartin> | Shou: More seriously, capitalizing as a level of quotation is a linguistic technique older than the Internet |
00:35 | <@McMartin> | The tropers do it in part because it's how their Wiki does links. |
00:36 | < Shoukanjuu> | I see. That makes sense. |
00:36 | <@McMartin> | Their word for working around that is "Potholing" and it's slightly frowned upon. |
00:36 | <@McMartin> | (But only slightly because ironic crosslinks are a minor art form in their own right) |
00:37 | < Shoukanjuu> | Heheh |
00:37 | | Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code |
00:46 | | Thaqui [~Thaqui@121.98.137.ns-13370] has joined #code |
00:46 | | mode/#code [+o Thaqui] by ChanServ |
00:51 | | * Vornicus is still looking for a windows editor with good js support. |
00:51 | <@Consul> | If I wanted to make a code framework where people just "include the source", I would likely pick "static library" as a project type, right? |
00:52 | <@McMartin> | Hum |
00:52 | <@McMartin> | That's .a files |
00:53 | <@Consul> | Oh, right... |
00:53 | <@McMartin> | If you want them directly incorporating the source code, you don't really make anything~ |
00:53 | <@McMartin> | But .a files + includes might be the way to go ultimately anyway. |
00:53 | <@Consul> | Just a blank project, then. |
00:53 | <@McMartin> | Oh, if that's an option yeah |
00:54 | <@Consul> | I'm trying code::blocks. |
00:54 | <@McMartin> | OK |
00:54 | <@Consul> | So far, so good. |
00:54 | <@McMartin> | I have no experience with it, so let me know how it goes |
00:55 | <@Consul> | Do I really need Debug and Release configurations? |
00:55 | <@McMartin> | You don't, probably, at least not now |
00:55 | <@Consul> | Or rather, do I really need a Debug configuration? |
00:55 | <@McMartin> | The generic You often needs it |
00:55 | | androsch [~androsch@Nightstar-5230.pools.arcor-ip.net] has joined #code |
00:55 | <@McMartin> | Lots of code has stuff that only is used in debug mode (extra logging, different defaults, etc.) |
00:56 | <@McMartin> | So the configurations let you set the relevant #defines |
00:56 | <@McMartin> | Some also link different versions of libraries - wx has normal and debug libraries and you want to link against the version that your code is |
01:01 | <@Consul> | Hrm... No easy way to import a file and copy it over to the source tree for the project. |
01:03 | | * Consul just copied it manually. |
01:18 | | Attilla [~The.Attil@92.22.195.ns-12776] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
01:50 | | androsch [~androsch@Nightstar-5230.pools.arcor-ip.net] has quit [Ping Timeout] |
02:21 | <@Consul> | Overall, I have to say code::blocks is the least problematic IDE I've found for Linux so far. |
02:22 | <@McMartin> | Good to know |
02:22 | <@Consul> | Very configurable, too. |
02:23 | <@Consul> | Oh, I'm calling this DSP framework Breadboard, by the way. I thought you might get a kick from that. |
02:24 | <@McMartin> | Heh |
02:25 | <@Consul> | The only change I made from your code is to have the inputs and outputs to a black-box pass in as references in the arguments. |
02:25 | <@Consul> | That way, we can accommodate any that might have two outs. |
02:26 | <@Consul> | synth.panner(in1, out1, out2); |
02:26 | <@Consul> | Like that. |
02:26 | <@McMartin> | Nod |
02:27 | <@McMartin> | The design I gave was really quite basic |
02:27 | <@Consul> | So now the base classes are just component2(float&,float&) and component3(float&,float&,float&). |
02:27 | <@Consul> | component three can handle 2 in 1 out or 1 in 2 out. |
02:28 | <@Consul> | component3 I mean |
02:29 | <@McMartin> | So now it's really pin count. |
02:29 | <@McMartin> | That works. |
02:29 | <@McMartin> | Sounds like float is the sample_t, too, not int32. |
02:30 | <@Consul> | It is. |
02:30 | <@Consul> | with -1 to 1 as 0dBu |
02:30 | <@Consul> | That plays really nice with the math. |
02:30 | <@McMartin> | Aha. |
02:31 | <@Consul> | Plus, even if a signal overdrives, it won't actually clip. |
02:31 | <@McMartin> | Yeah, that too |
02:31 | <@McMartin> | At least until you do the final output or feed it through a flanger. >_> |
02:31 | <@Consul> | Just before the sound card, we just have to make sure to scale the output to -1 to 1 before converting to int. |
02:32 | <@Consul> | But that's JACK's job. |
02:33 | <@Consul> | Well, any actual distortion we want to make will be the result of algorithms. |
02:34 | <@Consul> | Like I really needed to say that. :-) |
02:34 | <@Consul> | By the way, in order to make a flanger, I need to make a variable delay line (a delay line that can vary its length in real time). |
02:36 | <@McMartin> | What happens when you increase the delay? |
02:36 | <@McMartin> | Does it reach into the past? |
02:37 | | * Shoukanjuu imports future |
02:38 | <@Consul> | See, that's the trick: you can't do that. What you have to do is create and fill up a delay of N size, move around a tap. |
02:38 | <@McMartin> | (In short, is there a maximum memory that you can index arbitrarily, or does it... right.) |
02:38 | <@McMartin> | So, 2-in, 1-out, then? |
02:38 | <@McMartin> | One for signal, one for tap location? |
02:39 | <@McMartin> | (Should be pretty easily adaptable from AnyDelay; just toss in a second cursor as the 'read head' to go with the 'write head' cursor. |
02:39 | <@Consul> | Yeah, and tap location can't be a float... Err, well, it can, but that's not elegant. |
02:39 | <@Consul> | See, this whole thing depends on everything being a signal. |
02:39 | <@McMartin> | Yeah |
02:40 | <@McMartin> | I'd say that things like dials should be a separate kind of input, separately controlled |
02:40 | <@McMartin> | And how *that* works depends on how you eventually see it used |
02:41 | <@Consul> | I want to push the signal paradigm as far as I possibly can. |
02:41 | <@Consul> | :-) |
02:41 | <@Consul> | Besides, the way I'd *really* like to build a flanger... |
02:41 | <@McMartin> | Well, you could multiply and round~ |
02:41 | <@Consul> | Is to actually *resample* the audio in the delay line on the fly, to slow it down and bring it back to speed. |
02:41 | <@Consul> | And speed it up. |
02:41 | <@Consul> | True through-zero flanging, like the good old days on tape decks. |
02:42 | <@McMartin> | (I was thinking more along the lines of multiple-choice strings though - "Triangle/Square/Sawtooth", etc.) |
02:42 | <@Consul> | I suppose I could make an int signal type. |
02:42 | <@McMartin> | I agree you shouldn't do it until forced |
02:43 | <@McMartin> | But try not to get stuck in Golden Hammer territory. |
02:43 | <@McMartin> | (Nails everywhere!) |
02:43 | <@Consul> | Where everything is a nail? |
02:43 | <@Consul> | Right |
02:45 | <@Consul> | I mean, some ints are already getting thrown around defining the size of a delay line, for example, but that's not a signal on the network. |
02:47 | <@McMartin> | Yeah |
02:47 | <@McMartin> | Those are dials in the script setup or whatnot |
02:47 | <@McMartin> | Not what you need here |
02:47 | <@McMartin> | Unless there's a "turn dials in realtime" operation that all components have or something |
02:48 | <@Consul> | Well, the idea is the dials also emit signals. |
03:00 | <@Consul> | But yeah, for a flanger, I would split the signal into two, and send one side into libsamplerate, slowly changing the sample rate faster and slower about the baseline. |
03:01 | <@Consul> | Then sum the two signals back together. |
03:02 | <@Consul> | No delay line actually needed. libsamplerate does the hard work. |
04:12 | | MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has quit [Operation timed out] |
04:17 | | MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has joined #code |
04:17 | | mode/#code [+o MyCatVerbs] by ChanServ |
06:05 | | Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has quit [Quit: CGI:IRC (EOF)] |
07:06 | | You're now known as TheWatcher |
07:13 | | AnnoDomini [AnnoDomini@Nightstar-29233.neoplus.adsl.tpnet.pl] has joined #Code |
07:13 | | mode/#code [+o AnnoDomini] by ChanServ |
08:13 | | You're now known as TheWatcher[afk] |
09:39 | | Attilla [~The.Attil@92.16.38.ns-26920] has joined #code |
09:39 | | mode/#code [+o Attilla] by ChanServ |
09:45 | | You're now known as TheWatcher |
10:01 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:01 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:06 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:07 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:10 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:10 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:13 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:13 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:17 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:17 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:20 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:20 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:23 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:24 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:27 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:27 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:28 | | mode/#code [+oo C_tiger Chalcy] by AnnoDomini |
10:28 | | mode/#code [+oooooo DiceBot EvilDarkLord GeekSoldier jerith Reiver Shoukanjuu] by AnnoDomini |
10:28 | | mode/#code [+o Vornicus] by AnnoDomini |
10:31 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:32 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:32 | <@AnnoDomini> | crem: Stop that. |
10:35 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:38 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:41 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:41 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:45 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:46 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:54 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:54 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
10:57 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
10:57 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
11:05 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
11:05 | | mode/#code [+o gnolam] by ChanServ |
11:18 | | Attilla [~The.Attil@92.16.38.ns-26920] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
11:54 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
12:17 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
12:24 | | Thaqui [~Thaqui@121.98.137.ns-13370] has left #code [He was a wise man who invented beer - Plato] |
12:26 | | Thaqui [~Thaqui@121.98.137.ns-13370] has joined #code |
12:27 | | mode/#code [+o Thaqui] by ChanServ |
13:27 | | Thaqui [~Thaqui@121.98.137.ns-13370] has left #code [He was a wise man who invented beer - Plato] |
14:01 | | Attilla [~The.Attil@92.16.38.ns-26920] has joined #code |
14:01 | | mode/#code [+o Attilla] by ChanServ |
14:21 | | GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Ping Timeout] |
15:05 | | You're now known as TheWatcher[afk] |
15:22 | < crem> | AnnoDomini (and others), sorry, was setting traffic shaping. :) |
16:36 | | You're now known as TheWatcher |
17:18 | <@MyCatVerbs> | Traffic shaping? Traffic |
17:18 | <@MyCatVerbs> | Gah. |
17:18 | <@MyCatVerbs> | Traffic shaping? More like traffic forcible amputation. |
17:23 | <@Shoukanjuu> | Explain. |
17:29 | <@gnolam> | Hmm. |
17:30 | | * gnolam tries to remember if it's possible to use post-increment on a cast pointer. |
17:37 | <@gnolam> | Ah, it's impossible. |
17:37 | <@gnolam> | Bugger. |
18:20 | | Vornotron [~vorn@64.252.67.ns-11861] has joined #code |
18:21 | | Vornicus [~vorn@ServicesOp.Nightstar.Net] has quit [Ping Timeout] |
18:57 | <@McMartin> | Hm. That's a first. |
18:57 | | * McMartin is reading about a Windows kernel library, finds something that apparently isn't in POSIX, and has a "wait, POSIX doesn't have that?" moment. |
19:01 | <@McMartin> | Oh. Right. |
19:01 | <@McMartin> | GetCurrentProcess != GetCurrentProcessId. |
19:08 | <@McMartin> | (Win32 requires you to open a process before you do anything fun to it and that's where the security checks happen, as opposed to directly at the point of Signal or whatever) |
19:11 | <@McMartin> | Also, holy crap, I'm liking XUbuntu quite a bit more than vanilla. |
19:31 | | * McMartin needs to do something at the syscall level and it's easier in Windows than POSIX. This is a first. |
19:33 | <@McMartin> | (I am a dynamic library, and I need to get the command line of the process that just linked against me.) |
19:35 | <@gnolam> | I am Jack's dynamic library. |
19:37 | <@McMartin> | Is there an easy way to do this in Posix? The closest I can come up with is getpid and then pretending to be ps. |
19:38 | <@McMartin> | (In Win32 it's GetCommandLine()) |
19:45 | <@ToxicFrog> | getpid, cat /proc/$pid/cmdline? |
19:45 | <@ToxicFrog> | That might be what you mean by "pretending to be ps", though |
19:46 | <@ToxicFrog> | I don't know of any convenient single-function-call way of doing it. |
19:46 | <@ToxicFrog> | (that doesn't mean it doesn't exist, since this is something I have quite literally never needed to do) |
20:08 | <@gnolam> | Bah. Explain to me why everything Mozilla has monospaced font sizes set 3 points lower than everything else by default? |
20:15 | | Netsplit DeepThought.NY.US.Nightstar.Net <-> Troika.TX.US.Nightstar.Net quits: @DiceBot, @Consul, Vornotron, @Attilla, @Shoukanjuu, @jerith, @Reiver, @Chalcy |
20:19 | | jerith [~jerith@IRCop.Nightstar.Net] has joined #code |
20:19 | | mode/#code [+o jerith] by ChanServ |
20:19 | | Consul [~darren@Nightstar-1439.dsl.sfldmi.ameritech.net] has joined #code |
20:19 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #code |
20:19 | | mode/#code [+o Reiver] by ChanServ |
20:19 | | Attilla [~The.Attil@92.16.38.ns-26920] has joined #code |
20:19 | | mode/#code [+o Attilla] by ChanServ |
20:19 | | Vornotron [~vorn@Admin.Nightstar.Net] has joined #code |
20:19 | | Chalcy_ [~Chalcy@Nightstar-2160.ue.woosh.co.nz] has joined #code |
20:19 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #code |
20:19 | | Shoukanjuu [~Shoukanju@Nightstar-18822.dhcp.embarqhsd.net] has joined #code |
20:19 | | ServerMode/#code [+o Consul] by Troika.TX.US.Nightstar.Net |
20:19 | | mode/#code [-o Consul] by ChanServ |
20:34 | <@McMartin> | TF: yeah, that was basically what I meant by "pretending to be ps" |
20:38 | | Bobsentme [Bobsentme@Nightstar-26869.dsl.sfldmi.sbcglobal.net] has joined #code |
20:39 | < Bobsentme> | C Programming Teacher: "Ask your online buddies about this analogy: " |
20:39 | <@McMartin> | TF: Actually, you can't just cat it, since it uses \0 to split arguments, but you can reconstruct it from that. |
20:40 | <@ToxicFrog> | McMartin: really? |
20:40 | <@McMartin> | So it seems. |
20:40 | < Bobsentme> | "Lets say you have a very small fire on top of your stove. Would you rather put it out yourself, or call the fire department so they show up with 5 fire trucks, geared up to the hilt, to put out your fire." |
20:40 | <@ToxicFrog> | So it does |
20:40 | < Bobsentme> | "System("Pause") is like calling the fire department." |
20:40 | <@ToxicFrog> | cat actually works fine for me, though |
20:40 | <@ToxicFrog> | my terminal renders \0 as ' ' |
20:40 | <@McMartin> | Ah. Mine renders it as '' |
20:41 | <@ToxicFrog> | Bobsentme: I'd rather put it out myself than call the fire department. However, it's easier to call the fire department than to build your own fire extinguisher from scratch and use that. |
20:41 | < Bobsentme> | hehehe |
20:41 | <@McMartin> | You're also less likely to get horribly burned. |
20:42 | <@McMartin> | Also, what is counting as "puttin git out yourself" here? |
20:42 | <@ToxicFrog> | I stand by my earlier statement: "press enter to continue" is almost as easy as system("PAUSE") and much better in general. |
20:42 | <@McMartin> | Strictly speaking, usleep is also "calling the fire department". |
20:42 | <@ToxicFrog> | However, if you want to actually replicate the functionality of pause, which is not the same thing, you are entering a world of pain. |
20:42 | <@ToxicFrog> | McMartin: pause isn't sleep, it's "suspend control until any key is pressed" |
20:42 | <@McMartin> | Aha, yes. |
20:43 | <@McMartin> | And yeah, world of pain. |
20:43 | <@ToxicFrog> | It's the "any key" part that is problematic |
20:43 | <@ToxicFrog> | Since replicating this is just as unportable as calling out to pause and much, much more painful |
20:43 | <@McMartin> | Raw-mode console input is Not Portable. |
20:44 | <@ToxicFrog> | To extend the analogy - |
20:44 | <@ToxicFrog> | reading a line is like putting it out by beating it with a wet towel. It'll work, but it's inelegant and easy to do wrong. |
20:45 | <@ToxicFrog> | system("pause") is calling the fire department. |
20:45 | <@ToxicFrog> | reading a character (ie, duplicating the effects of pause in your own code) is building a fire truck from scratch, then using that to put out the fire. |
20:46 | <@ToxicFrog> | Bobsentme: your prof may be under the misapprehension that I thought use of pause was a good thing; this is not the case. |
20:46 | <@McMartin> | To reinterpret the analogy, "I need to read a single character from the user and act on it immediately" is actually a large fire. |
20:46 | < Bobsentme> | No no no no |
20:47 | <@ToxicFrog> | However, if you need that specific behaviour, using pause is much easier than rolling your own, is no less portable (and may be more so!), and is relatively expensive but not so much that this will make a noticeable difference in performance. |
20:47 | < Bobsentme> | TF: Because she was pointing out getchar() one day, and I spoke up and said "System pause will do the same thing!" |
20:47 | <@ToxicFrog> | Oh. |
20:47 | <@ToxicFrog> | No, it totally won't. |
20:47 | < Bobsentme> | I have also told her how I was somewhat accosted for said statement by my online friends |
20:47 | <@McMartin> | getchar will get you which char. |
20:47 | <@McMartin> | Presumably. |
20:47 | <@ToxicFrog> | Still line buffered, though |
20:48 | <@ToxicFrog> | The closest I'm willing to say is "getchar() in raw mode can be used to implement the behaviour of pause" |
20:48 | | * Bobsentme knows this, but the class discussion was how to pause the program before it "dissappeared" |
20:48 | <@ToxicFrog> | Aah. |
20:48 | <@McMartin> | fgets > getchar here. |
20:49 | <@McMartin> | For the "Which key" aspect mentioned before. |
20:49 | <@ToxicFrog> | McMartin: I disagree. Either will continue when the user presses enter, and getchar doesn't require you to provide a buffer |
20:49 | < Bobsentme> | printf, scanf, fgets...Damn there's a lot of F words in C. =P |
20:49 | <@McMartin> | Yes. |
20:49 | <@McMartin> | The f means "function" |
20:49 | <@McMartin> | Because originally a pile of them were actually macros. |
20:49 | <@ToxicFrog> | So if all you're doing is "press enter to quit..." (implicit in this: after this, you no longer care about the contents of the input buffer), getchar wins |
20:49 | <@ToxicFrog> | Er? |
20:49 | <@ToxicFrog> | The "f" suffix means "formatted" |
20:50 | <@McMartin> | getc vs. fgetc, etc. |
20:50 | <@ToxicFrog> | The "f" prefix means "file" |
20:50 | <@McMartin> | Not in fgets it's not. Not in fgetc. |
20:50 | <@ToxicFrog> | Aah. |
20:50 | | * Bobsentme apologizes, but must now bow out of this conversation |
20:50 | <@ToxicFrog> | Ok, in almost everything it means file, except when it doesn't |
20:50 | <@ToxicFrog> | Goddamnit, C |
20:50 | < Bobsentme> | I've been awake for 24 hours and 30 minutes. If I go to sleep right now, I MIGHT get a full hour of sleep |
20:50 | <@ToxicFrog> | I need to yell at my dad for that~ |
20:51 | <@McMartin> | fgets is "gets but at least theoretically capable of not running arbitrary malicious code) |
20:51 | | * Bobsentme waves goodnight |
20:51 | <@ToxicFrog> | 'night |
20:51 | | * Bobsentme is away: 24 and a half hours awake, and 1 hour asleep. AM I A PROGRAMMER YET!?! |
20:51 | <@ToxicFrog> | Well, in the case of gets/fgets - gets reads stdin, fgets reads from a FILE* |
20:52 | <@ToxicFrog> | The only function for which the f seems to mean "this is a function and not a macro" rather than "this function manipulates a FILE*" is (f)getc |
20:52 | <@McMartin> | fgets is still misnamed, of course. |
20:53 | <@McMartin> | It needs to be fngets |
20:53 | | * McMartin flails again at Ubuntu |
20:54 | <+drnick> | NO |
20:55 | <@McMartin> | Apparently, glibc-doc does not in fact give you the documentation for glibc. |
20:55 | <@McMartin> | At least not in a usable form. |
20:55 | <@McMartin> | (The problem with getchar() is that if they hit any other key the next pause will not do so) |
20:56 | <@ToxicFrog> | (hence why I specifically said "press enter to quit") |
20:56 | <@McMartin> | (Yeah, but if they don't...) |
20:56 | <@ToxicFrog> | (ie, you don't care what's in the input buffer afterwards) |
20:56 | <@ToxicFrog> | (because the next line is exit(0)) |
20:56 | <@McMartin> | (At least sometimes this will dump the results to the shell =P) |
20:56 | <@ToxicFrog> | o.o |
20:57 | <@McMartin> | (This was certainly true in DOS.) |
20:57 | <@McMartin> | (Probably Win9x.) |
20:57 | <@McMartin> | (The Defensive fflush() is long-standing for me) |
21:03 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Client exited] |
21:24 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
21:24 | | mode/#code [+o ToxicFrog] by ChanServ |
22:03 | | Vornotron is now known as Vornicus |
22:04 | | Vornicus is now known as NSGuest-967 |
22:05 | | NSGuest-967 is now known as Vornicus |
22:16 | | crem_ [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
22:16 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer] |
22:16 | | BSM [Bobsentme@Nightstar-26869.dsl.sfldmi.sbcglobal.net] has joined #code |
22:17 | | Bobsentme [Bobsentme@Nightstar-26869.dsl.sfldmi.sbcglobal.net] has quit [Ping Timeout] |
22:45 | <@McMartin> | ...boo |
22:46 | <@McMartin> | OS X doesn't have /proc |
22:46 | <@McMartin> | And generally lets you annihilate your ability to reflect on the commandline for security reasons |
22:46 | <@McMartin> | Which means processing system("ps") by hand is the normal portable way to do it. |
22:47 | <@McMartin> | I think this really means "Stick with Windwos for now, do it right later fore veryone, probably by having the process parent set some environment variables first" |
22:50 | <@ToxicFrog> | What is this for, anyways? |
22:50 | <@ToxicFrog> | (also, OSX doesn't have proc - how does ps work, privileged system calls?) |
22:56 | <@McMartin> | (Yup) |
22:57 | <@McMartin> | Writing VirtualBox extensions, and I'd really like for it to be able to deduce which VM it's currently running without modifying VirtualBox itself. |
22:57 | <@McMartin> | I suspect the Right Thing here is for the parent process just tell it, but that's work and on Windows we're looking at one function call, so, prototype ahoy, etc. |
22:58 | | You're now known as TheWatcher[T-2] |
23:00 | | You're now known as TheWatcher[zZzZ] |
23:06 | <@MyCatVerbs> | McMartin: it somewhat irks me that there aren't any POSIX syscalls for implementing ps-a-likes. |
23:07 | <@MyCatVerbs> | ToxicFrog: none of the Bezerkelies have proc either (by default, though they all have their own procfs implementations now for compatibility's sake, just not turned on by default.) |
23:21 | | Attilla [~The.Attil@92.16.38.ns-26920] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
23:29 | | AbuDhabi [AnnoDomini@Nightstar-29884.neoplus.adsl.tpnet.pl] has joined #Code |
23:30 | | AnnoDomini [AnnoDomini@Nightstar-29233.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
23:41 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout] |
23:43 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
23:43 | | mode/#code [+o gnolam] by ChanServ |
--- Log closed Wed Sep 10 00:00:41 2008 |