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


Forgot your password?

Comment Re:analogy (Score 1) 588

But I do worry a bit when people think all software should be held to the same standard as, say, bridges or medical devices. Unless the software is critical (such as running a medical device, or handling security for a bank, or an OS kernel, etc.), then there is insufficient incentive to make it super reliable and robust. The market would punish you terribly for having less features and more cost.

Well the way I see it, the market could keep costs while, for example, trading "innovation" for stability. Ever wondered what would happen if Microsoft would improve Windows XP's robustness until today, instead of revamping the whole thing at every release?

Unfortunately, new versions are a necessary evil in many application domains. Gotta pay the employees.

Comment Re:analogy (Score 1) 588

Well you sure have a point there! In fact I don't even know why this upsets me since I'm not even a client/user in that market! :) Maybe because I have the feeling that the free software I'm using can actually have more quality.. IMHO

Sorry, I think I came off a little hostile.

I do agree that there is some really high quality free software / open source software. I think that happens sometimes because much of that kind of software is a labor of love, instead of just profit. I know that I work really hard to polish my personal software projects because they are like my children.

Then again, I think some commercial software is higher quality than free software / open source software, too. My guess is it depends on how sexy the application is.

Sexy applications -- the ones that are fun to write -- tend to have high quality free software / open source software implementations.

It is the applications that aren't sexy that often see better commercial implementations, because not enough developers are interested in spending their free time to write free software / open source software that is not interesting to them.

Of course there are exceptions to those general observations as well.

But I do worry a bit when people think all software should be held to the same standard as, say, bridges or medical devices. Unless the software is critical (such as running a medical device, or handling security for a bank, or an OS kernel, etc.), then there is insufficient incentive to make it super reliable and robust. The market would punish you terribly for having less features and more cost.

There are limits to that, of course. If your application is a buggy mess, they'll reject it. It has to be "good enough", but often, "good enough" is still pretty buggy.

Comment Re:analogy (Score 1) 588

it is more like:

here is this car for you to buy, with 5 seats...but you can only use two of the seats because the engine takes the other three...

It is amazing what software companies can escape with, things that in other engineering fields would totally blast them companies with lawsuits. Can you imagine a civil engineer gradually patching structural inconsistencies in a bridge as they show up? Yikes!

Software can, in fact, be made as reliable as bridges. But you better be prepared to pay a lot more for your software...

The fact is, the market prefers cheap and buggy over expensive and reliable. If that upsets you, preach your message to the users, not the developers. The developers are only giving users what they want.

Comment Re:Not Bill Gates' Microsoft (Score 1) 339

I work in a mixed environment, Windows 7/OSX and Linux. I've never heard an OSX user claim Windows 7 is better.

I run both Windows 7 and OS X, and find that both have pros and cons, with no clear winner. That being said, I'd like to enumerate a few places where I think Windows 7 is better than OS X:

  • Remote Desktop. Windows 7 is insanely better for remote access to the desktop.
  • Window handling. Windows 7 reliably maximizes windows. (No, OS X's zoom button is not the same.) Win+Left and Win+Right for quickly putting windows side-by-side. Win+Up and Win+Down for things like maximize and restore/minimize.
  • Windows task bar vs. OS X dock. This comes down to personal preference, but I strongly prefer the Windows task bar.
  • More window handling. I find it unwieldy to use Cmd+Tab to choose the app, then Cmd+` to choose the window within the app. I much prefer the simplicity of Alt+Tab to get all the way where I want to go. Also, I prefer how Windows first offers to switch to the most recently used windows, whereas Cmd+` cycles through windows in order without regard to last used, making it hard to quickly switch back and forth between windows if there are more than 2 in the same app.
  • Window menus vs. desktop menu. I much prefer menus be attached to windows. I cannot count the number of times I've seen people tripped up because what appears to be the active OS X window is not, so the menu from a different app is being displayed. Sometimes, that different app does not even have any windows open anymore.

Now before you accuse me of being an "M$ shill" or something, I could just as easily come up with a list of things I like about OS X better than Windows. I'm not picking a favorite horse, just pointing out there are, in fact, reasons someone might really prefer Windows to OS X. I still consider them about even, each having pros and cons, and again, with no clear winner.

Comment Re:Has anyone done an assessment... (Score 3, Interesting) 242

I've been told that the power required to make enough aluminium for a windmill exceeds what that windmill can generate in its service life.

Windmills are, and have been for quite a while, profitable over their lifetime, even if you discount any subsidies.

Since the energy cost of all the materials in a windmill are built into the overall cost of a windmill, it becomes obvious you've been misinformed.

Also, the meme that windmills kill wildlife is just hype. You've been misinformed there, too.

It sounds to me like you need to listen to more reputable sources. Yours are misleading you, or just plain lying to you, for whatever reason.

Comment Re:it's not 0-day (Score 1) 265

And if they knew about it for that long then they should be able to be sued for negligence.

Perhaps when the software industry has to accept the same liability and culpability as anyone else they will take their job seriously.

Aircraft are extremely complex and they cant use that as a get out of jail free card, software should not be able to either. If they want protection and patents then they can accept the down side, liability.

And who is going to pay for this software that is 1000x more expensive?

Submission + - The Truth about Violence (

Teckla writes: Just as it is prudent to wear your seat belt while driving, it makes sense to know how best to respond to violence. In fact, it is overwhelmingly likely that some of you will become the targets of violence in the future. The purpose of this essay is to help you prepare for it.

Submission + - The Riddle of the Gun ( 3

Teckla writes: Fantasists and zealots can be found on both sides of the debate over guns in America. On the one hand, many gun-rights advocates reject even the most sensible restrictions on the sale of weapons to the public. On the other, proponents of stricter gun laws often seem unable to understand why a good person would ever want ready access to a loaded firearm. Between these two extremes we must find grounds for a rational discussion about the problem of gun violence.

Comment Re:C strings strike again! (Score 1) 156

A link/name for the idiom I can pass to our Java people?

I think I would just point them to the Java API documentation and point out these constructors for java.lang.Exception:

Exception(String message, Throwable cause)
Constructs a new exception with the specified detail message and cause.

Exception(Throwable cause)
Constructs a new exception with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).

These two additional constructors were added to Java 1.4 (so, a good long time ago) precisely because of the issue of catching and re-throwing exceptions and losing the underlying stack trace. These constructors solve that issue. (It does, however, make the stack trace that much longer, so it's pretty noisy!)

All that being said, I'm not really a fan of exceptions. I like old fashioned return codes myself.

Comment Re:C strings strike again! (Score 1) 156

But I have seen already enough of spaghetti Java code to stop believing entirely the fairy tail of "better language will solve all problems."

Easier/safer languages are a double edged sword. In the hands of a master, it makes the master that much more productive, because they're not wasting wetware cycles on details like "will concatenating this string overflow my destination buffer?". But, at the same time, it makes programming more accessible to people who really shouldn't be doing software development.

I like to think I'm a good software developer and that using Java makes me more productive, but I readily admit that your average C developer is probably more talented than your average Java developer, possibly by a wide margin.

Simple response: interface layer of libraries. It's pretty much given to find there some exception-munging code: after all we do not want to expose with exceptions the innards of the library.

This used to be a more serious problem, but fortunately, these days you can wrap an exception in a new exception and not lose the underlying stack trace. It's the common idiom now. For example: catch (IOException e) { throw new MyLibraryException(e); }

Overall, I think the issue of crashes/etc of C programs is overblown. I have checked my historical TODO lists and lion share of stuff are complains that stuff doesn't work as expected. For the whole year 2012 I had only 2 core dump issues out of around 100 tickets which I had to process. Largest feature I did this year had problems with dead-locks in multi-threaded mode, but not a single crash.

I believe it. I wonder if it's because all the less talented programmers have moved onto easier/safer languages, as I suggested above. In fact, that's one of my pet theories why your average iOS application is better than your average Android application. It takes a certain determination and skill to master Objective-C, while Java is a lot more "accessible" to less talented developers.

In many ways, I very much miss doing regular C development, though I do wish they would have added a few language features that I consider "must have" for modern development these days, such as "real strings" -- but that opens a whole other can of worms. :-)

Comment Re:First Time (Score 1) 639

Did you not read the entire sentence? I clearly stated that we need a safety net for those unable to work until the raised retirement age. I live in the rust belt, so I have plenty of friends that work in factories and on farms that are unlikely to be able to work to 67.

Are you proposing different retirement ages for different careers, and/or allowing people to retire early based on doctor's recommendations, or what exactly?

I think retiring at 69 with full benefits (what many in congress propose) is going too far, even for white collar workers. What we have currently (retire at 67 with full benefits -- at least for my generation) is already pushing the boundaries, in my opinion.

Sorry, I just have to disagree with your proposal to on average delay retirement, even if we have a safety net for those unable to continue working. Who decides who is and isn't able to continue working?

Smells too subjective and lottery-like. What if you get the bureaucrat or doctor that's ornery and not willing to let people retire early? Or if some people get the bureaucrat or doctor that's allowing healthy people to retire early? That approach seems too ripe for abuse.

Comment Re:C strings strike again! (Score 1) 156

Experience we made with HA software, null pointer problems are (often but only) nasty in C/C++ and are horrible in Java. Some stats. As new release went into tests/production, we found in total about 200 *crashes* due to null pointers in C/C++ apps. In Java part (about half the size of the C/C++) there were about 20 null pointer exceptions - with one which was occurring only in the production. This sole exception cost about 6 month of work to localize - because unlike core dump, Java's stack trace (due to your "which is often the case") was already unwound and couldn't point to the location of the show-stopper problem. This particular case (and it's not a sole Java debacle) became famous, because CTO of the customer, during a meeting, exclaimed that he wished the software was written in C instead, so that developers can see from core dump where the problem is.

That's interesting. My experience has actually been the opposite. I spent a few decades programming in C, and about a decade ago switched to Java.

In my experience -- which is, of course, just anecdotal -- C presented more difficulties. Core dumps are useful, of course, but it meant the entire process -- including all the threads -- went down. For high reliability requirements, we typically used a watcher daemon to restart processes that crashed unexpectedly.

In Java, unless you go out of your way to catch NullPointerExceptions and then purposefully eat the attached stack trace, you should know precisely where and why it happened. In addition, it should just kill the one thread. Though typically, we'd wrap threads with catch-all-log-all-and-restart-thread logic, which is just a few lines of code.

However, I'm not recommending Java over C, or vice-versa, though. I consider the application domains where C and Java compete to be pretty small these days, so typically I consider the correct choice to be dictated by the application domain.

Comment Re:First Time (Score 1) 639

Finally we as a society need to realize that as we increase our average lifespan we need to on average delay retirement while still allowing a safetynet for those unable to continue working.

I agree with most of what you're saying, but I get the impression you don't have any "blue collar friends". I do, and ideas like raising the retirement age to 69 is obnoxious and laughable. Some of my "blue collar friends" will be lucky to make it to 65 before their bodies completely give out. My retirement age is 67, and as a "white collar guy", that already scares me enough, especially with the rampant ageism in software development. If the answer to our economic challenges is to place most of the burden on the ailing backs of the elderly, perhaps we should just consider mandatory euthanasia at 65 years old. It would probably be less cruel.

Comment Re:For me, the iPad killed the netbook (Score 1) 336

Now answer me the unexplainable riddle of why you didn't immediately install Linux on it?

It's not like you could play 3D games or use things like Maya/Photoshop/Cubase on it anyway.

Various Linux distros did, of course, find their way onto my netbook (thanks UNetbootin!), but I wasn't impressed with the performance of the leading "turn key" distros such as Ubuntu.

There were also various driver related issues...

Slashdot Top Deals

fortune: cpu time/usefulness ratio too high -- core dumped.