Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Gotten out of hand (Score 1) 78

I recently got two take-down requests for two videos I put up on YouTube. They were both trade-show demo reel videos that I helped produce showing post-produced results in television shows and movies from software I wrote. These videos were 20 years old, but I thought it would be good to preserve them.

Paramount wanted one taken down for a 2-second clip from a Paramount movie. Someone else wanted the other taken down because I guess they owned the copyright on the music we had bought to accompany the video.

One could argue that putting these videos up was entirely fair use but I didn't argue at all and just yanked them. Not worth it.

Comment Re:one of a kind (Score 1) 641

One area where the C++ compiler optimizer excels is in the template compiler. When using templates, the compiler is free to inline pretty much anything, and if you have a deep enough template call tree, it can boil the code down into extremely tight instructions.

Comment Re:one of a kind (Score 1) 641

C++ doesn't "simply have too much overhead". Most C++ features compile down to the equivalent, or faster (sometimes much faster), C code. C++ being "slow" or having "overhead" is a common misconception, and quite possibly the worst argument against using C++.

Honestly, pretty much all of the "real" arguments I've seen against using C++ boil down to either "I don't understand it" or "I don't like it" or "why would anyone need anything other than JavaScript?". These are hardly faults of C++.

Comment Re:Conventional roasted but want to do a smoked on (Score 1) 189

I smoked one this year - and it was fantastic! I have a Kamado Kooker Char-Griller (poor man's version of the Big Green Egg). Been smoking pork all summer so I figured I'd give it a shot.

I loaded it up with plenty of big chunks of good wood charcoal, with several layers of wet and dry apple wood. Started it up and then smoked my oysters for the oyster stuffing while it got to temp. By the time it hit 200 the oysters were "done" (cooked but still very tender and quite smoky) and I took them off. I had dry brined the bird the night before and then sprayed olive oil on it and sprinkled salt+pepper. Stuffed it with onions and apples to fill up the cavity. I also mixed up a butter seasoning solution and injected it with a baster under the skin. I think this step is crucial to getting a moist result.

Was going to stand it upright but it wouldn't fit that way so I laid it on a baking stone instead. Sealed it up, got the temp up to about 350 (20 pound bird) and let it smoke. I checked it at about 2 hours and it the skin was dark and crispy so I tended it. In about 4 hours the probe was reading 160. Then I glazed it with a red pepper jelly and let it get up to 170 and then took it off. Let it rest on the counter for an hour and when we cut into it it was still hot and wonderfully moist. The smoke permeated every piece.

I highly recommend trying it, if you have the means!

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

We'll have to agree to disagree then.

Nobody writes math like Option B, unless they are forced to.

If someone wants to do this:

Vec4 operator+(const Vec4 &lhs, float scalar) const
{
        reformat_hard_drive();
        return 0.0;
}

Well, they're an asshole. That doesn't prevent the same asshole from doing this:

- (Vec4 *)multiplyScalar:(float)scalar
{
        reformat_hard_drive();
        return nil;
}

Programmers can be bad (or assholes) regardless of the language. I personally am thrilled that I've been allowed to shoot myself in the foot for 30+ years. It's made me a better programmer. I can't imagine being shacked to the incomprehensible mess that is Option B out of fear of what some bad egg might do to the api.

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

Option A is provably easier to type, easier to understand, and vastly more efficient to execute, usually optimizing down to a handful of vector instructions.

You don't have a single good reason why Option B is "better" except that you don't like C++, which really isn't a good reason. Let me guess - you also hate Python because of the indentation.

Comment Re:If you wanted us to believe your Op-Ed... (Score 1) 547

Which do you think is more readable?

Vec4 a = 1.0;
Vec4 b(2.0, 3.0, 4.0, 5.0);
Vec4 result = matrix * a * b / 10.0 + 0.5;

or

Vec4 *a = [[Vec4 alloc] initWithScalar:1.0];
Vec4 *b = [[Vec4 alloc] initWithX:2.0 Y:3.0 Z:4.0 W:5.0];
Vec4 *result = [matrix multiplyVec:[[a multiplyVec:[b multiplyScalar:1.0 / 10.0]] addScalar:0.5]]; ...
[result release];
[b release];
[a release];

Personally, I prefer the first one.

Comment Re:If you wanted us to believe your Op-Ed... (Score 3, Informative) 547

You can easily do automatic memory management in C++ using reference counted smart pointers. This allows you to control when "memory management" occurs when necessary, as is common in the case of high-performance applications (games, imaging software, etc) where C++ excels. The ability to overload operators allows you to write vastly more readable (and efficient) code than with Objective C. And in Objective C all method dispatches are effectively virtual, where in C++ you can control when you pay the cost.

Objective C is definitely NOT well-suited to solve all the same problems as C++. It's fine that you don't need to write high-performance (or portable) applications, but sweeping generalizations like this just show your ignorance.

Disclaimer: I use C++, Objective C, and Python on a daily basis.

Slashdot Top Deals

Always draw your curves, then plot your reading.

Working...