Slashdot Mirror


User: The+boojum

The+boojum's activity in the archive.

Stories
0
Comments
171
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 171

  1. Re:Does it alienate players ? on The Changing Face of World of Warcraft · · Score: 4, Insightful

    The problem with this is thinking of it in terms of how much time you've spent at it. Did you play the game and have fun during all those hours? If so, great, "mission accomplished." If not, maybe you should reconsider what you're doing.

    If you're playing for fun, the memories of the good times you've had shouldn't be diminished just because somebody else now gets to see that content. You still got there first, anyway.

  2. Re:Stop motion movies on Crytek Bashes Intel's Ray Tracing Plans · · Score: 1

    Ray tracing is great for static scenes. But movement is the key to games that require this much detail, and so each frame should not be beautifully rendered framebuffers, but a mix of several framebuffers over the span of one frame. No, no, no! Mixing several framebuffers together gives you *lousy* motion blur. You'll get severe artifacts from each pixel using the same set of uniform samples in the time domain -- very fast moving objects can appear cloned in multiple places, for example.

    Honestly, ray tracing has been getting motion blur right since 1984. Not to mention that it can even simulate the effect of camera shutters.
  3. Re:HP 1x Calculators on Is the Game Boy the Toughest Product Ever Made? · · Score: 1

    I'm glad to see that others thought of the HP calculators here too. Mine isn't quite that old -- it's an HP 48 that's now about 15 years old. Still works great, and I love the crisp snap to the buttons. It's occurred to me before that I'll probably end up passing it on to my son (now 2 1/2) someday.

  4. Re:The Brain Uses the Cerebellum to Multitask on Multitasking Makes You Stupid and Slow · · Score: 1

    Yep. I've had that.

    Same thing with Emacs key combos. I've had times where someone notices me doing something interesting with and asks me how I did it. Then I'd have to stop and mime it again on the keyboard before I could tell them exactly what I'd pressed.

  5. Re:What happened to the Best Free Games Story? on Windows Home Server Corrupts Files · · Score: 1

    Uggh, you're right. I just noticed that Slashdot doesn't even slap the nofollow attribute onto links in comments.

  6. Music from the video is on OCRemix.org on Mario Christmas Mural Video · · Score: 4, Informative

    The page with the video linked to the OneUps' MySpace page for the music. The download link there doesn't work, but if you'd like a decent quality MP3 of it, it was posted on OCRemix.org some time ago.

  7. Re:SR-71 Blackbird on How We Might Have Scramjets Sooner than Expected · · Score: 1

    True. Put that way, it's basically Amdahl's law for air travel.

  8. Re:What about other math software? on Open Source 'Sage' Takes Aim at High End Math Software · · Score: 1

    I discovered the wxmaxima front end by accident from the list of Ubuntu packages (I originally mistook it for the standard xmaxima tk interface and was pleasantly surprised.) I've found that it makes Maxima much more pleasant to work with. Might be worth having a look at if you haven't seen it already.

  9. Re:Why can't I find anything on IE from Google? on Gates Expresses Surprise Over IE8 Secrecy · · Score: 2, Informative

    It is offtopic, but I'll answer anyway.

    Normally, Google's form uses q as the field for the search term, not searchQ. And btnI is the name of the "I'm Feeling Lucky" button. The link actually has nothing to do with IE 8. It's really just equivalent to an "I'm Feeling Lucky" search for contactlognet, for which Google immediately shoots back a redirect to that site. That site in turn sends you yet another redirect.

  10. Re:dollars?!? on WoW Database Site Sells For $1 Million · · Score: 1

    I don't know what the conversion rate is anymore, since 2.1 was rolled out.

  11. Re:Hope this Fixes the Annoyances on GNU Coughs Up Emacs 22 After Six Year Wait · · Score: 1
    From the NEWS:

    ** New command `kill-whole-line' kills an entire line at once.
    By default, it is bound to C-S-[backspace].
  12. Re:It's about time texting caught on in the US on Texting Teens Generating OMG Phone Bills · · Score: 2, Interesting

    I agree that yapping on the phones in the middle of crowd or while driving is quite rude. But the problem with is that you assume that it's even necessary to answer a call immediately. Most phones have caller id and voicemail.

    If I'm in the middle of something (e.g., driving) or in a public place where talking on the phone would be rude or annoying to the people around me, I'll just let the call go and then make a discrete exit to an area with some privacy where I won't be bothering anyone and return the call. This usually doesn't take more than a minute or two and the caller is still in a good situation to speak with me.

    My cell phone is just a way to get in touch with me quickly, though not always instantaneously.

  13. Re:Polygon? on PS3 Linux Performs Real Time Ray Tracing · · Score: 3, Informative

    Certainly not "free" exactly. But in general, as long as you're using a good acceleration structure and can hold everything in-core, performance is roughly O(lg N) in the number of polygons. So the speed hit going from 50k to 100k polygons would be roughly equivalent to that of going from 100k to 200k. That's where the scalability of ray tracing comes in. There's still going to be quite a difference between one big polygon and 100k of them.

    You'll also find that most ray tracers exhibit the same performance variation between facing a wall and facing a full landscape. It may not be as dramatic due to the relatively high constant of proportionality for a software ray tracer vs. a GPU but it's still there. A large part of that is probably just cache performance -- you'll have a lot more cache hits facing the wall.

    Reflection-wise, you've got the right idea -- there will be a decent speed hit for them. But you've got it backwards. Doing a good job of computing color bleed effects require a ray tracer which supports global illumination and that can take astronomically more rays to compute than a decent implementation of basic specular reflections. You probably need at least 100 rays/pixel or more to even have a prayer of not having any excessively noisy image. Ray tracing is a point-sampling technique which means that any time you have any sort fuzzy/soft kinds of effect like ambient occlusion, glossy reflections, soft shadows or color bleed from indirect illumination.

  14. Re:WoW on WoW Players Targeted By Windows Flaw Exploit · · Score: 1

    Another option might be to require a credit-card for trial accounts. They could do the thing where they verify the credit card without actually placing a charge on it. Credit cards associated with accounts banned for farming/advertising would be barred from creating new accounts. This would mean the farmers would need to have a steady supply of credit cards to be able to keep up which should raise the bar a little. And having the credit card on file could make things easier on legitimate trial accounts by offering a one-click upgrade to a paid account at the end of the trial period.

  15. Re:Massively parallel?! on Supercruncher Applications · · Score: 1

    Not to mention that speedup (i.e., best serial running time over best parallel running time) and efficiency (i.e., speedup over number of processors) are well defined ways of quantifying how well a piece of a code scales in parallelism. If, for example, you're still getting 95% efficiency running on 2000 nodes, then I'd call that pretty darn good given Ahmdal's Law and "massively scalable". The way the efficiency curve falls off as you increase the number of processors tells you a lot about how parallel a piece of code is.

    Granted massively parallel is a fuzzy, qualitative phrase, but parallel efficiency at high numbers of processors is a pretty good measure.

  16. On the internet... on Do You Care About Race in Games? · · Score: 1

    ...nobody knows you're a troll.

  17. Umm... NaN? on Professor Comes Up With a Way to Divide by Zero · · Score: 5, Funny

    Is it just me or does it sound like he thinks he's invented the NaN?

  18. Re:What's with use of Pointers? on Origin of Quake3's Fast InvSqrt() · · Score: 2, Informative

    [Forgive the LaTeX notation -- I'm not sure how else to best express the math without sub and sup tags.]

    Newton-Raphson is a root finding method. Given a starting point it finds successively more accurate approximations to the root. The formula for it looks like: x_{n+1} = x_n - f(x_n)/f'(x_n), where f(x) is the function to find the root of, f'(x_n) is the derivative of that function and x_n are the successive approximations. Essentially, given a guess it looks at the slope of the function at that point follows a tangent line until it crosses the zero line. That point becomes the next guess.

    Finding the reciprocal square root of a is equivalent to solving x^{-2} - a = 0 which means that you use f(x) = x^{-2} - a. The derivative of that is f'(x) = -2x^{-3}. Putting those into the Newton-Raphson formula gives you x_{n+1} = x_n - (x_n^{-2} - a) / -2x_n^{-3}, which simplifies down to x_{n+1} = x_n(3 - a*x_n^2)/2. This is equivalent to the last line before the return in that InvSqrt() function.

    Convergence of Newton-Raphson is quadratic which means that each time you repeat that line with a previous guess you double the number of digits of accuracy (up to the limit of the hardware of course).

  19. Re:What's with use of Pointers? on Origin of Quake3's Fast InvSqrt() · · Score: 1

    Because it's not actually a float-to-int cast as you'd normally think of it. Rather, it's mucking with the bit representation of the float. It's roughly equivalent to "union { float x; int i; };"

  20. Re:easy on A Master's In CS or a Master's In Game Programming? · · Score: 1

    In addition to the vector calculus, and linear algebra already mentioned, I'd suggest looking into spatial data structures as well. Things like bounding volume hierarchies, BSP-trees and kd-trees. (Okay, so it's not *quite* math, but it's probably in the ball park.)

  21. Re:Nothing new here, mostly the old FUD and some i on Why Microsoft's Zune Scares Apple to the Core · · Score: 1

    TFA links to a site, called "Coming Zune", which suggests that it's just "zoon", to rhyme with "soon".

  22. CMake and KDE on First KDE 4 Snapshot Released · · Score: 4, Interesting

    I'm really glad to see CMake finally getting used by a high-profile project. I hated CMake at first sight -- having to install it first before I could build a project seemed strange after the autoconf ./configure; make routine. But it really is a nice system and has meant no longer having to support and keep in sync parallel make files, Visual Studio projects, XCode projects, etc. like I used to. Configure scripts failing on native Windows builds, for example, was always a pain. It's been a lot easier to build cross-platform projects now that I'm using CMake for everything.

    Seeing KDE adopting it has been great news for me, since it means that I may be able to start releasing my own small projects with CMakeList.txt files without getting funny looks. I love that it's looking like KDE will blaze the trail for us little guys who prefer CMake over the autoconf tool chain.

  23. Basic Rundown on Writing Code for Surface Plots? · · Score: 4, Informative

    My advice would be to pick up a decent intro book on graphics. The Foley and Van Dam is a classic, but nearly any good book on the topic tends to have a review of the basic math involved in 3d: linear algebra with 3- or 4-value vectors and 3x3 or 4x4 matrices, the perspective divide, etc. Knowing the basics will help you have a lot better idea of what to do. But for anyone curious about the most basic 3d, here's a simple way to do it that should work decently for simple wireframe plots.

    1) Take each 3d point of interest and apply some set of rotations around the X, Y, and Z axis to get the view angle right. You'll probably want to just do one rotation around each axis. e.g.:

    x2 = x * cos( z_angle ) + y * sin( z_angle );
    y2 = x * -sin( z_angle ) + y * cos( z_angle );

    x3 = x2 * cos( y_angle ) + z * sin( y_angle );
    z2 = x2 * -sin( y_angle ) + z * cos( y_angle );

    y3 = y2 * cos( x_angle ) + z2 * sin( x_angle );
    z3 = y2 * -sin( x_angle ) + z2 * cos( x_angle );

    At this point, you'll have rotated your original coordinate (x,y,z) by some angle around some axis to get (x3,y3,z3)

    (To my fellow graphics geeks: yes, yes, I know full well that matrices and quaternions are better -- I'm trying keep this simple.)

    2) Maybe add some distance to the z value, to move ("translate") it away from the "camera" at the origin. You'll need to add enough to make sure that all of your z-values are positive and non-zero before step 3:

    z4 = z3 + z_translate

    3) Do what's called the "perspective divide" to find the two dimensional coordinate of this point. e.g.:

    px = x3 / z4 * scale + center_x;
    py = y3 / z4 * scale + center_y;

    4) Either plot a point at the (px,py) that you just got, or compute steps 1 and 2 twice for the end points of lines and then use your system's graphics primitives to draw lines between (px1,py1) and (px2,py2). If you're not using a language or a library that can do simple 2d graphics, then I'd suggest writing out a file with the lines in SVG format (and then rasterize to bitmap with a program like Batik, Inkscape, Illustrator, etc.) e.g.:

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
    <svg width="4cm" height="4cm" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg" version="1.1">
        <path d="M px1 py1 L px2 py2" fill="none" stroke="black" stroke-width="1" /> <!-- First line to draw -->
        <path d="M px1 py1 L px2 py2" fill="none" stroke="black" stroke-width="1" /> <!-- Second line to draw -->
        <path d="M px1 py1 L px2 py2" fill="none" stroke="black" stroke-width="1" /> <!-- Third line to draw, etc... -->
    </svg>

    5) If you want more than wireframe, things will be a lot more complicated. At the very least, you'll need to be able to fill polygons and sort back to front by the z-value after the rotation so that everything gets drawn in the correct order. Z-buffers would be even better.

    Well, I hope all that helps. Again, if anyone's really interested, I'd suggest getting a real book on the topic. But I hope this's enough to get the curious started.

  24. Re:Please don't rasterize ClearText on Slashdot CSS Redesign Winner Announced · · Score: 1

    Mod parent up.

    This is the largest gripe I have with it after seeing it on my home machine (with a BGR flatpanel). By all means, use standard grey-scale antialiasing of images and text for the web, but subpixel antialiasing (a.k.a. ClearType) is monitor-specific. And it's worse when the text is small like this.

  25. Re:not the results but the practice of philosophy on Does Philosophy Have a Role in Computer Science? · · Score: 1

    ...sorting requires a certain number of comparisons, which it can be shown is on the order of n log n.

    Just a nitpick -- that's only true for sorts based on comparisons. Other sorts that don't require comparisons, such as radix and counting sorts can achieve a potentially smaller asymptotic bound.

    Other than that, I have to agree with you. I know at least two programmers with degrees in philosophy. One was a CS professors at the college I attended. He had a fairly unique approach to teaching some of his classes: rigorously formal but in a manner a little different from the usual mathematical way. I don't know if philosophy and CS are the perfect pairing, but I think it's important to have a fairly broad base of knowledge of other subjects in addition to basic CS. Most of the best coders I've known have been CS majors with well rounded educations. I really think liberal arts schools are the way to go.