Please create an account to participate in the Slashdot moderation system


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Comment Re:Incorrect (Score 1) 76

The problem with Trump is really with his supporters and the people he put in charge, and that his supporters have no problem with. His supporters that I have had the displeasure of coming across have no problem saying that people with different political opinions are traitors who need to be deported or jailed. He's put anti-net neutrality people in charge of the FCC. And Trump will be in a position to stack the Supreme Court with his choices who would probably be worse than Scalia in their blatant partisanship and hypocrisy.

Trump has even said that the internet needs more censorship, and that did not hurt his election chances at all.

As for Congress - the Republicans own both houses now. Republicans who were able to get in because of people who voted for Trump knowing of his positions. I doubt Congress would be ineffective at all at steamrolling existing rights with that kind of control.

Comment Incorrect (Score 1, Interesting) 76

I'm pretty sure they do know about it. Some of them accept it. Some of them are even for it.

Not everything about the Chinese internet is "say something wrong and you'll immediately be sent to a labour camp". Letting people vent but limiting their effective range to zero is much more efficient at quieting dissent.

Even the US government is trying very hard to follow in China's footsteps.

Comment Re:There Is No Rivalry (Score 1) 265

Yeah, because we've never sent anything to Mars before. Tell me about something that is not just a cheaper version of something that's already been done. I'm talking about LEADING the way. It's much easier to do something once the costs and issues are known and you can estimate profits - and Mars is well known. Still waiting on corporations doing something completely unknown.

Comment Totally expected it (Score 0) 566

That the MRA types would take an article reporting a law suit that ALLEGES, as though it were already established fact. Because apparently being sued for something means it must already be true without having the claims tested in court. But hey, whatever you need to start foaming at the mouth over dem feminazis.

Comment Re:Don't forget all that legacy code. (Score 1) 531

What would originally be a simple bulk deallocation now requires calling ~2 destructors per entry (one from the main object, one from shared_ptr).

But what was the actual cost of the main object constructor? All it has to do is call the shared_ptr destructor. Did the compiler not optimize it away enough?

And by bulk deallocation, how would that have been possible if you didn't use manual deallocation for each object in turn anyway? Would you have implemented the struct with the data embedded in the object, without an extra indirection? Or maybe put that data in its own vector/array, as is common in graphics/games programming? If so, they should have done that whether or not there was shared_ptr. It sounded like more thought needed to be given to the data design, rather than the fault of managed memory.

shared_ptr also requires a thread-safe reference count, which is a slowdown in itself.

Assuming an inherently multithreaded process, if you are sharing ownership of an object amongst threads, you would want reference counts to be atomic. If ownership is not shared - you shouldn't be using a shared_ptr.

I'm certain you can avoid most of the slowdown with shared_ptr if you already know what can happen, but there's still a developer who uses it without knowing what will happen ahead of time.

It sounds like the problems started out with an ignorance of data design and the purpose of shared_ptrs (ie, declare shared ownership rather than a catch all for Java-like allocation of objects).

Comment Re:Memory-unsafe is a BS meme (Score 2) 531

And yet, the compiler that Linux uses is now written in... C++ and in the process of converting C style code into C++ style where it makes sense. Because the C code was too unwieldy. Linus wrote his original dive log program in C + GTK, and then was forced to switch to Qt because GTK's attempt at OO made everything unmaintainable.

LLVM and Clang are written in C++ also.

Wrapping things in abstractions is necessary and is done in the Linux kernel all the time with macros, which are less maintainable and more impenetrable than templates. There certainly are things in the kernel that would benefit from being templated rather than macro'd.

Comment Re:Don't forget all that legacy code. (Score 1) 531

I tried using some of the "safe pointer" stuff - depending on which one is chosen, there is a performance hit depending on which safety mechanism you choose. For example, the auto-deallocate safety net slows things down a lot, while bounds checking tends to be less of a problem.

With shared_ptr, the performance hit is with the reference count updating, so you should still pass a shared_ptr as a reference when possible.

With unique_ptr and the std containers (of movable types), I can't imagine the auto-deallocation would cost any more than manual deallocation in C since they are really just the equivalent of one manual deallocation call.

Comment Re:Just like Citizens United (Score 1) 843

So your argument is that we must be hypocrites or "phony" or "selective" if we don't just lie down and take it.

How about this? We regret this route was taken, but that's what you get with CU.

Or how about this? We heard it was right that money = speech. But now that we've wisened up and decided to play your game against you, now you're all butthurt about us not lying down and taking it.

Slashdot Top Deals

Whom computers would destroy, they must first drive mad.