code logs -> 2008 -> Tue, 09 Sep 2008< code.20080908.log - code.20080910.log >
--- 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
code logs -> 2008 -> Tue, 09 Sep 2008< code.20080908.log - code.20080910.log >