Re:900 pages...very sad
on
Practical C++
·
· Score: 1
For C++, for example, who needs anything more than Stroustrup's book plus their OS and compiler documentation? How can you get more documented than that?
That statement shows that you don't quite understand the depths of what C++ can do. Read this book and I guarantee you'll learn plenty.
... and the idea has definitely been tossed around in my company. After much discussion, we came to the conclusion that there's more interesting shit we'd rather do.
Oh, I forgot, you must use a proprietary, copy-protected format -- does AAC or whatever it's called have tags?
Yes, AAC has tags, and no, it is not a proprietary format. It's open MPEG4. And it's not by default copy-protected - only the AAC files downloaded from Apple's store are. Standard AAC is an open, unencumbered format.
You would want all your playlists loaded all the time, all at once? You don't want to be able to pick and choose amongst your playlists?
Sure, you want to be able to pick and choose between your playlists, but it doesn't make a whole lot of sense to have to open them with a standard file dialog (well, it does on some level, but not from a usability standpoint). I much prefer the iTunes approach of having them all loaded in the sidebar and you can get to any of them in a single click.
Or is that prohibited by the TOS?
Dear lord.
Can you search using regular expressions in iTunes?
No. However, while I am a longtime Unix geek who has long appreciated the power of regular expressions, I can not say that I have ever once wanted to search by regex in an mp3 program.
See, Apple actually thinks through their interfaces rather than blindly stuffing power-user features everywhere. Where they belong, they aren't afraid to use them - Apple's new IDE, Xcode, has the ability to create "smart groups," which are analogous to iTunes "smart playlists," and these allow you to use regular expressions as well as simple text searches. See, that's because it makes sense in an IDE - it simply does not in a music program.
You are really desperate here, aren't you?
He has a good point, so answer the question. Why separate pause and stop buttons? Seems to me the original posted was right - pause serves the purpose of both.
My Quicksilver dual 800 G4 (installed Panther via Archive & Install) has issues waking up from sleep... probably 1 out of every 3 times I wake it up, it doesn't come back to life - the fan spins up, but that's as far as it goes. Video doesn't come alive, network doesn't come alive, and the only thing I can do is power-cycle it (thank god for journaling, eh?)
I haven't heard anybody else report this problem, and I haven't had any problems with my 500mhz TiBook (cleanly formatted and installed Panther fresh). It's really quite annoying.
y1 = y0 -.5*a*t^2. Instead of computing a delta-y at each frame, you should recompute the entire equation each frame, and offset it again from the original point.
That works for your simple example, but many problems in physics simulation have no closed-form solution, and numerical integration is the only way to go about solving the problem. Numerical integration always introduces some error, depending on the method of integration used, and the larger the timestep, the larger the error (at some point, if the timeslice is too large, the simulation will blow up).
Physics simulation is very dependent on timeslice size; if you want a reliable, consistent simulation, you need to have a constant framerate (or at least a constant physics timeslice). Tying the rendering framerate to the physics timeslice is a good idea, as it'll limit rendering artifacts caused by duplicate or skipped frames.
But for most games, only about 20% of the time is spent doing calculations for positioning, AI, etc. Most of it is rendering. So a few extra floating-point multiplications per frame is not an issue, even on a slow PC.
That's incorrect. A well-designed engine will do CPU-based tasks and GPU-based tasks at the same time. The CPU can pass geometry data to the GPU and then go on about its business while the GPU does its work (the GPU can also do more than one thing at the same time - it'll do its transform work and its rasterizing work at the same time - that's what's nice about a pipelined setup). Whichever takes longer (out of the CPU tasks, transforms, or rasterizing) is what the limiting factor in the framerate is. There is always a single bottleneck, and it's always one of these 3 stages. They go at the same time, and ideally, all use the full amount of processing time they have as opposed to sitting around idling while the remainder of the pipeline completes its task.
Ok. I figured I might be wrong about that figure, which I why I added "IIRC" in front of it.
However, 340 undecillion addresses will be enough for anything we could possibly do here on earth
Yeah, that was the main gist of my argument:P People are talking like we're making another mistake limiting ourselves to a 128-bit address space, but they don't quite get the magnitude of that number.
It's like that old story about putting a grain of rice on the first square of a chessboard, then doubling it for the next square, and doubling it for the next, etc, and by the end is using far more rice than exists on the planet - and that's only 64 "bits"!
We should move to a 4096-bit address space NOW to avoid having to re-engineer the Internet again in 15 years.
Heh. Well, seeing as how many people (myself included) are still stuck on dialup, I don't think introducing a 512 byte overhead to every IP packet is a good idea. Anyway, I still maintain that IPv6 will be enough for a long long time. 128 bit address space is friggin huge.
Maybe its like how the linux kernel somewhat skipped 2.5.. The stable is 2.4.22 and the bleeding edge is now 2.6.0-testx
It didn't skip it - 2.5 was the development branch. But if you didn't know that, you weren't supposed to use it anyway.
Only even-numbered releases (2.2, 2.4, 2.6,...) are meant for general public use. Odd numbered releases are under heavy development and may or may not actually work.
Chances are good though, that this will get us through about 20-30 years. Hopefully that is good enough.
I don't think you quite understand the scale of what we're dealing with here. IIRC, IPv6 has a large enough address space to give every atom in the known universe its own IP address, and then some.
. OSX is not designed for workgroups (see more of my comments on this).
I'll reply here to your comments, since many of them are either outdated or simply incorrect.
you appreciate Windows' File Manager user interface that lists your folders first, then the files in alphabetical order.
This is simply personal preference, but if you really want it, get yourself a copy of Path Finder, an excellent Finder replacement that does this and much more.
There is no way for your office assistant, however, to enter appointments in your schedule unless he has physical access to the one computer that you run iCal. If that computer happens to be a laptop, you are out of luck.
Or your assistant can have a copy of iCal on his own computer and sync it with yours using iSync.
Moving your address book data from Outlook to Apple was a bit easier than calendric data, but still not as smooth and you would like to expect for an enjoyable "switch" experience.
So there are some incompatibilities between what Outlook exports and what Apple's iApps import - seeing as how this is Microsoft we're dealing with, I hardly find that surprising. However, how does this affect OS X's viability as a "workgroup" OS? This is akin to everybody making a big deal over Linux' install procedure, which is done ONCE and doesn't really affect actual usage of the system.
And, of course, if it really affects you that much, go ahead and just use the Mac version of Outlook.
ou are typing an email and accidentally you tell your program to quit. A pop-up window will ask you if you want to cancel the quit action, save your draft and quit, or quit without saving the draft. The default choice is to save and quite and you can simply press enter to proceed. But if you want to select any of the other two options, forget about using the left or right arrow keys to do so. You must use the mouse, point to the other choice, and click on it. Go figure...
Or you could use the keyboard shortcuts that are there, instead of complaining that the ones you prefer don't work (i.e. enter for save, escape for cancel, or cmd-D for don't save). OS X isn't Windows, and doesn't work the same way - it does things its own way. If you don't want to take the time to learn it, don't complain.
For better or worst Word is a very popular word processor. If you use it to produce merged documents based on Excel files, this functionality is going to be affected when switching to OS X.
An incompatibility between two versions of a Microsoft program? Again, how does this affect day-to-day usage of the system?
Press Apple-K in the wrong context and you will waste several seconds trying to find out what happened.
Heh. Yeah. So since I last used Windows (yesterday) suddenly all applications have consistent keyboard shortcuts, and a common keystroke in one application is never a destructive command in another?
Alternatively, consider the keyboard combination to invoke an application's Preferences menu.
Yes, this is covered in Apple's Aqua User Interface Guidelines (it is supposed to be Cmd-,) but it is a recent addition and many applications haven't caught up yet.
why is it that after I reboot, I generally get 500 MEG back on my hard drive 1G TI
That's probably from clearing out/tmp.
Also keep in mind that Finder's "free space" reporting seems to lag pretty badly behind reality. If you want to know how much space you *really* have free at any given moment, try 'df -k'.
Are you sure? From his description of double buffering, it does exactly what you want. The front buffer is used for displaying to the screen. Whenever an application updates the display, it updates the back buffer. Once the update is complete, it issues the swapbuffers command and the updated buffer is displayed. This way, there is never any delay redrawing a window.
As a game developer, I'm quite aware what double buffering is, and no, it's not what I was talking about. Double buffering would have the effect of eliminating flickering when redrawing the windows, which also happens to be a desirable feature.
What I'm talking about is the operating system saving the contents of the window and redrawing them when the window is exposed, as opposed to the way Windows or X11 currently work, in that the OS draws a flat color and tells the application "hey, when you get around to it, redraw this area here." This is a separate thing from double buffering.
...the modern, easy-to-use APIs of GTK and Qt blow away the horrific Macintosh Toolbox API (note: I am not a Cocoa developer, so things may have improved)...
Qt is a beautifully designed API, but GTK+ is anything but. It is an inconsistent and hassle-filled shoehorning of OO concepts into a non-OO language. And I'll agree with you that the original Mac Toolbox kinda sucked (and by extension, Carbon, which is just an extension of the original toolbox for ease of porting).
But Cocoa? Cocoa is the most glorious, beautiful, perfectly-designed and implemented API ever conceived (being based on NeXT, which has the same attributes). Cocoa is what Qt is trying to be (see moc - they're trying, with some success, to give C++ the power of Objective-C).
But GTK+? No, thank you. Never using that horrendous API ever again (and I've written pure assembly Win32 programs, so I can take pain!)
For C++, for example, who needs anything more than Stroustrup's book plus their OS and compiler documentation? How can you get more documented than that?
That statement shows that you don't quite understand the depths of what C++ can do. Read this book and I guarantee you'll learn plenty.
It's called WeatherPop. It's on VersionTracker.
... and the idea has definitely been tossed around in my company. After much discussion, we came to the conclusion that there's more interesting shit we'd rather do.
Could you please make page 2 of comments actually be page 2 of the comments. I might be incredibly naive, but it seems something more like page 1.5.
It shows the last thread of the previous page. No idea why it does this, but that's what it's doing.
I'd be willing to bet you didn't know what that word meant before you looked it up on google.
I'll take that bet.
Exculpate is a word, son.
Oh, I forgot, you must use a proprietary, copy-protected format -- does AAC or whatever it's called have tags?
Yes, AAC has tags, and no, it is not a proprietary format. It's open MPEG4. And it's not by default copy-protected - only the AAC files downloaded from Apple's store are. Standard AAC is an open, unencumbered format.
You would want all your playlists loaded all the time, all at once? You don't want to be able to pick and choose amongst your playlists?
Sure, you want to be able to pick and choose between your playlists, but it doesn't make a whole lot of sense to have to open them with a standard file dialog (well, it does on some level, but not from a usability standpoint). I much prefer the iTunes approach of having them all loaded in the sidebar and you can get to any of them in a single click.
Or is that prohibited by the TOS?
Dear lord.
Can you search using regular expressions in iTunes?
No. However, while I am a longtime Unix geek who has long appreciated the power of regular expressions, I can not say that I have ever once wanted to search by regex in an mp3 program.
See, Apple actually thinks through their interfaces rather than blindly stuffing power-user features everywhere. Where they belong, they aren't afraid to use them - Apple's new IDE, Xcode, has the ability to create "smart groups," which are analogous to iTunes "smart playlists," and these allow you to use regular expressions as well as simple text searches. See, that's because it makes sense in an IDE - it simply does not in a music program.
You are really desperate here, aren't you?
He has a good point, so answer the question. Why separate pause and stop buttons? Seems to me the original posted was right - pause serves the purpose of both.
I'm selling a Blue&White G3 (with Panther installed) and willing to let it go pretty cheap, if you're interested.
My Quicksilver dual 800 G4 (installed Panther via Archive & Install) has issues waking up from sleep... probably 1 out of every 3 times I wake it up, it doesn't come back to life - the fan spins up, but that's as far as it goes. Video doesn't come alive, network doesn't come alive, and the only thing I can do is power-cycle it (thank god for journaling, eh?)
I haven't heard anybody else report this problem, and I haven't had any problems with my 500mhz TiBook (cleanly formatted and installed Panther fresh). It's really quite annoying.
Have you got a native Mac OSX version of MS Word then???
Um, yes.
y1 = y0 - .5*a*t^2. Instead of computing a delta-y at each frame, you should recompute the entire equation each frame, and offset it again from the original point.
That works for your simple example, but many problems in physics simulation have no closed-form solution, and numerical integration is the only way to go about solving the problem. Numerical integration always introduces some error, depending on the method of integration used, and the larger the timestep, the larger the error (at some point, if the timeslice is too large, the simulation will blow up).
Physics simulation is very dependent on timeslice size; if you want a reliable, consistent simulation, you need to have a constant framerate (or at least a constant physics timeslice). Tying the rendering framerate to the physics timeslice is a good idea, as it'll limit rendering artifacts caused by duplicate or skipped frames.
But for most games, only about 20% of the time is spent doing calculations for positioning, AI, etc. Most of it is rendering. So a few extra floating-point multiplications per frame is not an issue, even on a slow PC.
That's incorrect. A well-designed engine will do CPU-based tasks and GPU-based tasks at the same time. The CPU can pass geometry data to the GPU and then go on about its business while the GPU does its work (the GPU can also do more than one thing at the same time - it'll do its transform work and its rasterizing work at the same time - that's what's nice about a pipelined setup). Whichever takes longer (out of the CPU tasks, transforms, or rasterizing) is what the limiting factor in the framerate is. There is always a single bottleneck, and it's always one of these 3 stages. They go at the same time, and ideally, all use the full amount of processing time they have as opposed to sitting around idling while the remainder of the pipeline completes its task.
Nope. Tell you the truth, I don't know why there was no IPv5. But there wasn't.
Try squaring that number and you'll be closer.
:P People are talking like we're making another mistake limiting ourselves to a 128-bit address space, but they don't quite get the magnitude of that number.
Ok. I figured I might be wrong about that figure, which I why I added "IIRC" in front of it.
However, 340 undecillion addresses will be enough for anything we could possibly do here on earth
Yeah, that was the main gist of my argument
It's like that old story about putting a grain of rice on the first square of a chessboard, then doubling it for the next square, and doubling it for the next, etc, and by the end is using far more rice than exists on the planet - and that's only 64 "bits"!
We should move to a 4096-bit address space NOW to avoid having to re-engineer the Internet again in 15 years.
Heh. Well, seeing as how many people (myself included) are still stuck on dialup, I don't think introducing a 512 byte overhead to every IP packet is a good idea. Anyway, I still maintain that IPv6 will be enough for a long long time. 128 bit address space is friggin huge.
Maybe its like how the linux kernel somewhat skipped 2.5.. The stable is 2.4.22 and the bleeding edge is now 2.6.0-testx
...) are meant for general public use. Odd numbered releases are under heavy development and may or may not actually work.
It didn't skip it - 2.5 was the development branch. But if you didn't know that, you weren't supposed to use it anyway.
Only even-numbered releases (2.2, 2.4, 2.6,
Chances are good though, that this will get us through about 20-30 years. Hopefully that is good enough.
I don't think you quite understand the scale of what we're dealing with here. IIRC, IPv6 has a large enough address space to give every atom in the known universe its own IP address, and then some.
Just a Q that someone might have the A to.. When you rip CDs into iTunes AAC, are they DRM'd to the ripping machine or are they open ala ripped MP3s?
They're unrestricted.
. OSX is not designed for workgroups (see more of my comments on this).
I'll reply here to your comments, since many of them are either outdated or simply incorrect.
you appreciate Windows' File Manager user interface that lists your folders first, then the files in alphabetical order.
This is simply personal preference, but if you really want it, get yourself a copy of Path Finder, an excellent Finder replacement that does this and much more.
There is no way for your office assistant, however, to enter appointments in your schedule unless he has physical access to the one computer that you run iCal. If that computer happens to be a laptop, you are out of luck.
Or your assistant can have a copy of iCal on his own computer and sync it with yours using iSync.
Moving your address book data from Outlook to Apple was a bit easier than calendric data, but still not as smooth and you would like to expect for an enjoyable "switch" experience.
So there are some incompatibilities between what Outlook exports and what Apple's iApps import - seeing as how this is Microsoft we're dealing with, I hardly find that surprising. However, how does this affect OS X's viability as a "workgroup" OS? This is akin to everybody making a big deal over Linux' install procedure, which is done ONCE and doesn't really affect actual usage of the system.
And, of course, if it really affects you that much, go ahead and just use the Mac version of Outlook.
ou are typing an email and accidentally you tell your program to quit. A pop-up window will ask you if you want to cancel the quit action, save your draft and quit, or quit without saving the draft. The default choice is to save and quite and you can simply press enter to proceed. But if you want to select any of the other two options, forget about using the left or right arrow keys to do so. You must use the mouse, point to the other choice, and click on it. Go figure...
Or you could use the keyboard shortcuts that are there, instead of complaining that the ones you prefer don't work (i.e. enter for save, escape for cancel, or cmd-D for don't save). OS X isn't Windows, and doesn't work the same way - it does things its own way. If you don't want to take the time to learn it, don't complain.
For better or worst Word is a very popular word processor. If you use it to produce merged documents based on Excel files, this functionality is going to be affected when switching to OS X.
An incompatibility between two versions of a Microsoft program? Again, how does this affect day-to-day usage of the system?
Press Apple-K in the wrong context and you will waste several seconds trying to find out what happened.
Heh. Yeah. So since I last used Windows (yesterday) suddenly all applications have consistent keyboard shortcuts, and a common keystroke in one application is never a destructive command in another?
Alternatively, consider the keyboard combination to invoke an application's Preferences menu.
Yes, this is covered in Apple's Aqua User Interface Guidelines (it is supposed to be Cmd-,) but it is a recent addition and many applications haven't caught up yet.
Not even close. I use Apple Mail, but Outlook is a decent program. And there's even Bayesian spam filter plugins for it.
Outlook Express sucks, but Outlook ain't the same thing.
Correct me if I'm wrong, but isn't that the first time that Apple ports software to Windows?!
Uh, Quicktime?
why is it that after I reboot, I generally get 500 MEG back on my hard drive 1G TI
/tmp.
That's probably from clearing out
Also keep in mind that Finder's "free space" reporting seems to lag pretty badly behind reality. If you want to know how much space you *really* have free at any given moment, try 'df -k'.
Ok, it seems that while we weren't talking about the same thing, his idea has the same end effects that I was talking about. So good enough :)
Are you sure? From his description of double buffering, it does exactly what you want. The front buffer is used for displaying to the screen. Whenever an application updates the display, it updates the back buffer. Once the update is complete, it issues the swapbuffers command and the updated buffer is displayed. This way, there is never any delay redrawing a window.
As a game developer, I'm quite aware what double buffering is, and no, it's not what I was talking about. Double buffering would have the effect of eliminating flickering when redrawing the windows, which also happens to be a desirable feature.
What I'm talking about is the operating system saving the contents of the window and redrawing them when the window is exposed, as opposed to the way Windows or X11 currently work, in that the OS draws a flat color and tells the application "hey, when you get around to it, redraw this area here." This is a separate thing from double buffering.
If you read the article you would see that double-buffering is part of his system.
That's all well and good, but I wasn't talking about double buffering.
...the modern, easy-to-use APIs of GTK and Qt blow away the horrific Macintosh Toolbox API (note: I am not a Cocoa developer, so things may have improved)...
Qt is a beautifully designed API, but GTK+ is anything but. It is an inconsistent and hassle-filled shoehorning of OO concepts into a non-OO language. And I'll agree with you that the original Mac Toolbox kinda sucked (and by extension, Carbon, which is just an extension of the original toolbox for ease of porting).
But Cocoa? Cocoa is the most glorious, beautiful, perfectly-designed and implemented API ever conceived (being based on NeXT, which has the same attributes). Cocoa is what Qt is trying to be (see moc - they're trying, with some success, to give C++ the power of Objective-C).
But GTK+? No, thank you. Never using that horrendous API ever again (and I've written pure assembly Win32 programs, so I can take pain!)