Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment Re:Obligatory (Score 1) 310

What about children, felons, and those who are not old enough to have a) voted

In civilized countries, children enjoy special protection, and the right to vote is inalienable, so there are no felons who cannot vote.
Quite unlike here in the US, where voter disenfranchisement is rampant and children are tried as if they were adults.

It's high time for 'Tis of Thee to join the 21st century and abandon her barbaric tribal practices and join modern Western civilization.

Comment Re:Obligatory (Score 4, Interesting) 310

So let me get this straight, it's perfectly OK to kill people with drones as long as they're not American citizens?

It should be the other way around. A country should only be permitted to kill its own citizens, not citizens of other countries.
The former is acceptable, given the citizens in question are part of the electorate who sanctioned the laws and government, giving them powers over their lives.
The latter is an act of war and trespasses on the sovereignty of other countries and its citizens.

Comment Re:Obligatory (Score 4, Insightful) 310

It'd certainly be a good border security method against Mexicans. In fact, they could start by just targetting drug runners and practically solve the drug problem overnight. Drug dealers cost America more money and kill more americans than terrorism by about 100000x

When did drug smuggling become a capital crime?
And when did suspicion (probable or not) of capital crime put aside the requirement for due process?

Movies

Joss Whedon Releases New Film On Demand 137

Rambo Tribble (1273454) writes "Popular director Joss Whedon has taken the film world by surprise by releasing his latest offering, 'In Your Eyes', available for download on the same day it premiered at the Tribeca Film Festival. The new release comes from Whedon's own "micro studio", Bellwether Pictures, and is featured on Vimeo as a $5 rental, (free trailer). Whedon mused, 'It's exciting for us because we get to explore yet another new form of distribution — and we get $5.' Mr. Whedon has a history of pushing the delivery envelope, as with Dr. Horrible's Sing-Along Blog, in 2008."

Comment Re:...news for nerds.. (Score 3, Interesting) 405

Darts is the weirdest thing to be honest. People will consider archery and shooting sports, but not darts. I think it's because it seems so random to a beginner, but when you get deeper into it, it becomes pretty clear that it's all about fine motor skill.

And maths and strategy. You're left with a score and need to get to zero with the last dart hitting a double, so you need to not only know what combinations will get you there, but also which ones will do the least amount of damage if you miss, and redo your strategy if you miss or a dart blocks your strike zone.
It's as much in your head as it is in your aim, arm and hand.

Comment Re:The commits are funny into themselves. (Score 1) 379

If decrementing and comparing to 0 is faster, then a modern optimizing compiler will do that automatically even if you use for(i = 0; i < 8; i++) instead of the other way around.

Do you have one example of a compiler that actually does that?

gcc for example, might unroll the loop, but not revert the look to use a more efficient comparison. A quick test with icc (older version, I admit) doesn't do it either.
Which compilers do you refer to that do this?

Comment Re:Since when is every search engine Google? (Score 1) 156

Are you sure about that? I thought Kermit and ZModem were unrelated evolutions, more in parallel than Kermit being a predecessor (or successor) of ZModem. It becomes pretty obvious when you look at features, Kermit and ZModem send filenames to the other end, while XModem and YModem do not. XModem does show off that it is older since unlike the others it doesn't have any sort of error detection.

They're unrelated - X/Y/Zmodem share a heritage,but kermit is unrelated. However, it seems obvious that X/Y/Zmodem was attempting to provide the file transfer capabilities of kermit, making it simpler to both install and use. BBSes embraced it, and X/Y/Zmodem had its days of glory. Nowadays, kermit has overtaken Zmodem and Ymodem-g, so it has possibly gone full circle.

Comment Re:I would think (Score 1) 379

Also..OpenVMS has not been updated in almost 4 years. If you have native servers on these machines exposed to the internet, you get what you deserver regardless of the version of openssl you're running. Tell you what - you maintain the OpenVMS patches and I'm sure no one will stop you. Otherwise, stop complaining about it.

They don't need to be on the internet - they may be running back-end or internal systems. But if front-end systems or internal PC or midrange systems communicate with them using openssl, the versions have to be compatible. You can't just upgrade one end of the connection, at least not without extra testing.
Or, it might be a system that has to be accessible and visible to just a small part of the internal userbase, and you protect it from internal hacking.
So legacy systems sometimes need software upgrades too.

Comment Re:The commits are funny into themselves. (Score 1) 379

Comparing to zero is faster in most architectures and still is a valid optimization.

Indeed, and you might want to take it even one step further, and test for --i = 0.

There's also the fact that there are plenty of older archiitecture CPUs out there, being deployed even today, especially in the embedded world where product lifecycles are really long, and switching to a new architecture can mean dozen of man-years of work.
Do you want your water company and cable provider to install new meters every two years to keep up with the latest technology? Guess who would pay for that!
In critical infrastructure it becomes even more important to support old hardware. Would you feel safer in a plane running hardware/software that has shown itself to work, or one with bleeding edge computers that crashes as often as a typical desktop?

Optimization isn't bad. But you have to know what you're doing, and why. High level developers relying on magic abstractions layers need not apply. Their strengths lie elsewhere.

Comment Re:I would think (Score 1) 379

not necessarily - when I saw a commit that said "removed use after free" (ie still using a structure after it had been freed) then you've got to think the code is just generally sloppy.

Not necessarily - if they used their own allocation routines (which it appears they did), it could have an API allowing use after free until a new allocation occurred. If so, the bug would be replacing the memory allocation routines without also rewriting the parts that depended on the old functionality.
And before someone going on a rant saying that that's a brain dead thing to do, it's something that pretty much every compiler does when using the stack. The stack pointer isn't going to change until you change it. So if using a private stack for memory allocation, this is perfectly fine. It's a different API to what's common, but different doesn't mean wrong. It just means that those who use it have to understand it and not make erroneous assumptions.

Comment Re:I would think (Score 4, Insightful) 379

Yup. I can't believe that there were such dodgy trade-offs made for SPEED (at the expense of code readability and complexity) in openSSL.

At least a couple of reasons:
- First of all, OpenSSL was designed with much slower hardware in mind. MUCH slower. And much of is in still in use - embedded devices that last for 15+ years, for example.
- Then there's the problem that while you can dedicate your PC to SSL, the other end seldom can. A single server may serve hundreds or thousands of requests, and doesn't have enough CPUs to dedicate one to each client. Being frugal with resources is very important when it comes to client/server communications, both on the network side and the server side.

Certain critical functionality should be written highly optimized in low level languages, with out-of-the-box solutions for cutting Gordian knots and reduce delays.
A problem is when you get code contributes who think high level and write low level, like in this case. Keeping unerring mental track of what's data, pointers and pointers to pointers and pointers to array elements isn't just a good idea in C - it's a must.
But doing it correctly does pay off. The often repeated mantra that high level language compilers do a better job than humans isn't true, and doesn't become true through repetition. The compilers can do no better than the person programming them, and for a finite size compiler, the optimizations are generic, not specific. And a good low level programmer can take knowledge into effect that the compiler doesn't have.
The downside is a higher risk - the programmer has to be truly good, and understand the complete impact of any code change. And the APIs have to be written in stone, so an optimization doesn't break something when an API changes.

Comment Re:Having to know the URL, what security! (Score 1) 156

DNS queries? Why didn't you simply search by IP address, which is what DNS queries resolve to?...

Because when web hotels arrived around the turn of the millennium, web servers commonly started serving several hosts from a single IP, and the Host header in the request would determine which site was served.
Scanning IPs would then likely only get you the hosting provider.

Comment Re:Since when is every search engine Google? (Score 4, Informative) 156

zmodem was several generations newer.
kermit -> xmodem -> ymodem -> zmodem

I still use uucp, by the way. For communicating with faraway sites where the connection depends on a shaky cell phone connection that may or may not be up, it's a pretty good way of moving e-mail and logs.

Slashdot Top Deals

You knew the job was dangerous when you took it, Fred. -- Superchicken

Working...