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


Forgot your password?

Comment Re:I don't get the point (Score 1) 262

"Hope it doesn't contain vulnerabilities!"

Which is why I added the caveat. In reality, you don't really have to restart the system even on a fatal flaw. Init isn't terribly insecure with the old version if the exploit was a vulnerability in sockets for instance; whereas if there was a socket bug in libc and you were running Apache, sure as hell you want to reload Apache with the fresh version.

Your average sysadmin (or even your above-average sysadmin) is going to be pretty hard-pressed to figure out which services a given library vulnerability "really" affects. Without really understanding the code, it's hard to say. The only safe thing is to restart everything.

Comment Re:I don't get the point (Score 1) 262

Libc is easy. Install the update while the app is running. The old version of the library stays alive in ram as long as processes still have handles to it which is no big whoop unless its an exploit that you really must clean up immediately. If application X uses libc, the next time its started it'll get the new version of the library and happily co-exist with the old one, nay?

Sure. You just have to restart everything using libc, like for instance:

$ sudo lsof -c init 2>/dev/null | grep libc
init 1 root DEL REG 251,0 269825 /lib/tls/i686/cmov/

Notice how it's deleted, so presumably init is using an old libc version that was upgraded. Hope it doesn't contain vulnerabilities! If you can't tolerate rebooting your system, you probably can't tolerate restarting every single process, either. And if you can leave unpatched libc running in all these daemons, why not an unpatched kernel too?

All that said, it would be nice if distros could apply patches live automatically for the benefit of regular users, who ignore the "please reboot" message (or even just take hours to notice it). At least it will reduce vulnerabilities. But this can't fairly be billed as a way to avoid rebooting altogether, which is how it's often presented: "No More Need To Reboot". Wrong.

Comment Re:I don't get the point (Score 1) 262

Hardware failure and hardware upgrade can be handled by VMWare FT assuming your app fits into 1 vCPU (this will probably be relaxed in the future but I have heard nothing about even experimental support for vSMP yet).

Okay, this is a legitimate point. If you use clustering or something, then you might be immune to most hardware failures. Even if you use regular hardware, if you have enough hardware redundancy you're only subject to CPU/RAM/motherboard failure, and most of that's hot-swappable for upgrades with the right OS. Not perfect, but say planned downtime once per five or ten years for an OS upgrade, probably acceptable. It's possible.

But it's much more common these days to just design systems you can reboot nodes without downtime, so I don't see hot-patching allowing "No More Need To Reboot" except in a very small minority of setups. Better to think of it as a tool to increase security by letting you deploy patches faster.

Comment Re:Scary analogy (Score 1) 262

The difference between mainframes and regular PCs is that one mainframe's role is taken on by many PCs. With proper setup, you should have redundancy between the PCs, so you can reboot them one at a time without affecting service.

This is often impossible considering the workload. This is why you see 32 core servers with many gigabytes of ram.

I run a 16-core server with 16 GB of RAM. I'm going to deploy a second one soon with automatic failover to eliminate downtime for routine administration. It's perfectly possible for the vast majority of services. I'll grant that there will always be exceptions, probably for the most part custom-written applications that weren't designed for redundancy.

You can't do that if you only have only one mainframe.

Yes you can, and that's the whole point.

You can't reboot one mainframe at a time without affecting service, if you only have one mainframe. Rebooting it's going to leave you with no running servers, and it's hard to provide service then. :) Instead, you're forced to design the system so you never have to reboot it, which is much harder.

Comment Re:userspace hotpatching is possible as well. (Score 1) 262

When your kernel needs an update, you use ksplice. If libc needs an update, you hot-patch libc in the same way. "But there's no way to do that!", you say? Actually, there is--it's just proprietary. The place I work at has implemented userspace hotpatching on linux for several architectures.

And for hardware failures? Or critical service restarts? Or a bug causing an OS crash? Put it this way: you can either try to minimize the downtime of each server, or make it so that the downtime of one server doesn't affect service. The former is much more complicated and error-prone, and is still going to fail sometimes, so you need the latter regardless if you're really aiming for reliability. And the latter makes the former unnecessary.

Comment Re:Scary analogy (Score 1) 262

Well let's be honest here, the risk/gain isn't exactly working out for stable enterprise uses.

Exactly backwards.

This feature replicates what mainframes have been doing for years. Specifically because businesses want zero downtime, if possible.

The difference between mainframes and regular PCs is that one mainframe's role is taken on by many PCs. With proper setup, you should have redundancy between the PCs, so you can reboot them one at a time without affecting service. You can't do that if you only have only one mainframe. Even with two, you can only do it if you can afford to double your load. So this might be needed for mainframes, but not for PCs.

Comment I don't get the point (Score 1) 262

Okay, so even suppose this is perfectly reliable. Let's say I'm running a high-availability server and can't stand any downtime. Now when my kernel needs an update, I don't have to reboot, great!

So what about when, say, libc needs an update? As long as programs are still using it, they'll be using the outdated version. Am I supposed to restart all programs using libc? That will cause downtime just like a reboot (although maybe a bit less).

Or what about when I need a hardware upgrade? Or there's a hardware failure? Or what happens when that critical application requiring 100% uptime needs a security fix? What am I supposed to do then?

There's no way to avoid outages completely for any given machine. PC OSes aren't meant for that. Any high-availability service needs to be able to tolerate the failure of any one machine. So why not just reboot it when you get a critical update to the kernel or major system library? That way you know that the machine reboots properly, too.

My suspicion is that this is mainly meant to lure in Linux users who want the "please reboot your computer" messages to go away. But those messages are misleading. If you Ksplice and never reboot, your libraries will remain outdated indefinitely – it's not secure. Distros would do better to ask for reboots only on security updates, and to do so for libraries and running applications (if they can't be easily restarted) as well as kernel updates.

Comment Re:interesting (Score 2, Informative) 262

That means there's libre-free software and a service provided by a non-distro company which is, for selected distros, gratis-free. For now.

I like your Latin-based distinction of "free" better than the free-as-in-beer v.s. free-as-in-speech method. I'll have to remember it for the next time I give a speech on OSS at the Roman senate.

Libre is French. The Latin equivalent is liber.

Comment Re:Educational Problems (Score 1) 629

I'm not sure if you're referring to US history, but the "protection" that unions got only came later. The original unions only had the threat to walk off as "protection".

I said that. In those cases, I don't object to unions much or at all. However, that's not the status quo today, contrary to what you implied. Unions today are protected by the government far beyond what free trade would give them.

Why should corporations exist with "legal protection" if unions should not? What do you think patents are? What do you think copyrights are? What do you think contract law is all about? You live in some Cato Foundation fantasy world where you honestly believe you could survive for 2 days without "legal protection". You probably also believe that your "success" and "wealth" exist only due to your hard work and talent and the government only holds you back, right?

I'm not a laissez-faire capitalist, nor a libertarian. I'm in favor of government regulation to help the poor and achieve other social goals. I also agree that unions were important historically in improving the standard of living in America, if only because of the lack of other options. However, I don't think most unions are good for society at large today, and I think government protection of unions should end.

I'm not about to get into an argument about why I think all this, particularly not on Slashdot. I only posted to object to your implication that collective bargaining as we know it today is the result of a free market. It's the regulations prohibiting the employer from firing union members that require them to negotiate. Otherwise most unions would be destroyed pretty quickly.

What you want is a return to the days when all the power is in the hands of the employers. It sounds like you're some free-market religious fanatic or something, and I'm not sure why I even took the time to respond. When you can find a single case in human history when a "free market" existed and made anything better for anyone, then you can be taken seriously.

You were the one who first mentioned free markets, not me. You were trying to paint today's teachers' unions as the product of a free market (or at least that's how I read "Should they not be allowed to negotiate their best pay package? Don't you trust free markets?" in your post). I never said I supported totally free markets, and I don't.

Comment Re:Educational Problems (Score 1) 629

Hate to play devil's advocate here, but cartels are not (usually) legally protected, and legally the board of a company can hire whatever CEO they want. Unions, however, are legally protected entities. It would be a bit nuts to fire all the teachers and hire new people, but the law is there because some employers would do it if they could.

It's not nuts at all: it's the only way to break a union. It's how Reagan destroyed the air traffic controller union, for example. I also recall reading years ago that when a Canadian Wal-Mart's employees tried to unionize, Wal-Mart couldn't fire or otherwise penalize them under local law, so instead they simply shut down that store.

I'd go so far as to say that firing people is the standard response to a strike, where it's legal. The employer is hurt, but the union members are hurt far more – so the next batch knows to never try that again. If firing people for job actions were legal (they're deliberately not doing their job . . .), most unions probably wouldn't exist.

Comment Re:Educational Problems (Score 1) 629

By the way, don't you believe teachers should have the right to collectively bargain? Should they not be allowed to negotiate their best pay package? Don't you trust free markets?

Sure I do. In a free market, an employer would be able to fire anyone immediately as soon as they so much as joined a union, let alone took any job action. But doing that is generally illegal, and that's the sole reason most unions can exist today. If a union can exist without legal protection (as was often the case in the 1800s and early 1900s), I'm not necessarily against it.

Comment Re:...And one generation behind on HTML5 (Score 1) 341

The list of supported codecs in Firefox for is hardcoded and can't be changed by plugins, by design. (Maybe if they were invasive enough they could do some horrible hack, I don't know, but I wouldn't bet on it.)

On chrome it might be difficult to change but Firefox lets you rewrite the page before it renders. Further, since it's HTML, you can rewrite it with userjs through the DOM even AFTER it renders. Consequently you ought to be able to simply turn video tags into embed tags and pass them off to a plugin.

True, but you're not going to get the same experience as an actual native <video> implementation. You might be able to implement the HTML5 video APIs, but that would take work. You'd also have a hard time making it work correctly with CSS, etc. You could only do an ugly hack this way, not a proper implementation. So I think it's more likely that sites will just encode to both VP8 and H.264 rather than try to hack something like this up for Firefox.

Comment Re:1 AND 1 = 1 : 0.8 AND 0.6 = 0.7 (Score 1) 153

But I'm not clear as to what "the odds that the two input probabilities match" means... that implies, to me, that it returns a 1 if the inputs are identical and 0 if not. I'm thinking it instead means, "Given events A and B with inputs p(A) and p(B), Bayesian NAND represents p(A and B)." Or perhaps p(A nand B)... I don't know.

It's not possible to compute p(A and B) from just p(A) and p(B). You need other information, like p(A|B) or p(B|A). For example, flip two coins, X and Y. If A = "X is heads", B = "Y is heads", then p(A) = 1/2, p(B) = 1/2, p(A and B) = 1/4. If A = "X is heads", B = "X is tails", then p(A) = 1/2, p(B) = 1/2, p(A and B) = 0. So the gate couldn't possibly mean either of those things.

Slashdot Top Deals

"Your stupidity, Allen, is simply not up to par." -- Dave Mack (mack@inco.UUCP) "Yours is." -- Allen Gwinn (, in alt.flame