I haven't had a chance to play Halo 3 yet, so I can't say anything about the game as a whole, but I'm glad to see they're more concerned with a steady frame-rate than killer visuals. I'd rather play a game at 320x240 with acceptable FPS (which I did back in the days of the original Unreal when I didn't have an accelerator) than play at 1024x768 at 20. Anything under 30 FPS irritates me to no end.
Amen to that.
I know some people that prefer eye candy above all else, including the frame rate. They'll max out their video resolution, but end up with choppy (in my opinion) frame rates. It doesn't seem to bother them. They seem to prefer the high resolution at the expense of frame rates.
I'm like you. I'll happily drop the resolution to get smooth (at least 30+ FPS) frame rates.
As a PC gamer, I've often wondered how console game players manage resolution vs. frame rates. Can console game players even tweak the performance of their games like that?
It failed on the "write-once, run anywhere" promise
You mean, the Java programs I write that run on Linux, BSD, Solaris, HP-UX, AIX, Windows, and AS/400 aren't actually working? You should have told me sooner! Maybe you can tell me how, exactly, they're not working, because they seem to be working fine!
it failed on the security promise
Because we hear about buffer overflow exploits in Java programs leaving your machine vulnerable all the time? Oh, wait. We almost never hear about those.
and it failed on the "finally, you'll be free of win32" promise
That's funny, it freed me from the Win32 API, and dozens upon dozens upon dozens of other developers I know.
The ways that Sun screwed this pooch will be the subject of thousands of business-school term papers for years to come.
Yeah, right. We'll look back and see how badly Java failed, because it only retained the #1 crown for a few decades (or more).
Take a look at D. It's basically C++ with a first class String object and garbage collection, plus a few other nice things borrowed from various languages. It's performance characteristics seem to be on par with C and C++, but it has most of the nice bits from Java and C# as well.
The D programming language looks excellent; however, I'm concerned for its future (that is, whether or not it really has one). It seems like the ideal language to replace C, C++, and Objective-C, but I'm nervous about investing too much time and effort in a language whose future is uncertain.
If I could hedge my bets (so to speak) by having access to a "D to C" and/or "D to Java" converter (just in case), I'd probably use it in a heartbeat. (Plus, a "D to C" and/or "D to Java" converter would let me run applications written in D on some platforms I'd like to support, platforms which D probably will never support directly.)
Why not just disallow anyone not capable of not programming a buffer overflow from ever programming a device?
Because that's not realistic.
It's not a language issue. I'm sure that unqualified folks will figure out how to cause all sorts of new vulnerabilities in "safe" languages.
If you were to group bugs into two categories, "buffer overflow bugs" and "other bugs", the C programming language makes it possible for developers to code both kinds of bugs. If, by using a safer programming language, you can at least eliminate "buffer overflow bugs", why wouldn't you want to do that?
(Hint: there is no such thing as a "safe" language.)
(Hint: I never said there was such a thing as a "safe" language. I said "safer".)
I guess maybe I'm just in the "old school" camp that thinks that unqualified people shouldn't be allowed to do things. There's a reason why, for instance, amateur carpenters aren't allowed to construct public buildings.
Yeah, right. That'll happen, right after every little girl on the planet gets her very own pony, and we all slide down rainbows to work, instead of commuting.
As an experienced C programmer, I'm not just sitting around bashing C for fun. I'm just recognizing the fact that as our world becomes increasingly networked, security becomes increasingly important. If we can use alternative languages that minimize whole categories of severe bugs such as buffer overflows, we need to consider using them.
They used fuzzing to find a heap overflow vulnerability.
As someone who has spent a few decades programming computers in the C programming language (with a sprinkle of C++ and Objective-C), even I have to admit it's probably time to increasingly retire low level programming languages that are prone to these kinds of exploits (buffer overflows).
I wonder if there are "safer" languages than C with similar performance and memory usage characteristics.
I'd like to see more applications without even the "install" part. Or, at least, make the install nothing more than expanding the application archive in any directory I want.
I don't understand why people get pissed when this crap happens. The company doesn't owe you a fucking favor. They hire, they fire, they do well, they do poorly. That's life. If you think it's "unfair", tough shit.
America has given many companies the fertile soil needed to create hugely successful businesses. Now these same companies have decided to take a big, stinky shit on that very same America, by offshoring everyone so that a tiny minority of people can go from super-ultra-rich to super-ultra-deluxe-rich.
If you don't see the problem with that, you're a moron.
...here come the "knee jerk" reactions, which - with Democrats in control of Congress - will almost certainly include new gun-control legislation. Legislation which - if history is any indicator - will do nothing to prevent tragedies like this, and will actually make our society more susceptible to this sort of thing, as fewer people have the means to defend themselves.
I can't believe it's only been a few hours since the tragedy and jackasses like you are already trying to spin this into a political issue.
Most Slashdotters know you should not trust the built in security on these devices.
The solution for real security on these devices is to use TrueCrypt.
It's not hard to use, though the more technical among us may need to help out the less technically inclined to get things rolling. Once it's setup, though, it's secure and easy to use.
1. Let me stop the damn animated gifs and flash things with the "stop" button like the old Netscape let me.
You can stop animated GIFs by pressing the Escape key. Also, if you're like me and want to stop all GIF animation entirely, hop into about:config and set "image.animation_mode" to "none".
I hate to say it but I always felt Mono was a mistake. The problem with.NET is that it really is a Windows only system. When you try to point that out people say not it isn't you can use Mono. A convent lie that lets.NET compete with Java right up to the point where you have tens of thousands of lines of code and you want to migrate to a different platform. Then the Microsoft sales rep can say, "You know Mono really has fallen behind.NET. You can port your applications if you want but it would just be cheaper to stick with Windows. Once you add in the cost of porting all that code your Total Cost of Ownership will be much less with Windows. Oh and would you like some more copies of Office and another Exchange server to got with that?"
Mono is multi-platform.NET is not.
Even worse... How long until Ballmer starts grumbling about Mono using Microsoft patents?
Mono will never be a safe language for developers... or even users. Just wait until Microsoft starts talking about how users of Mono applications owe Microsoft money because of the usage of Microsoft patented technology in Mono...
So, the quote holds true whether it really happened or not. His book may have been terrible literature, the grammar was atrocious, and he tended to be redundant, but the important thing to remember is that it SOLD well! Very well.
I'm sure it did. "There's a sucker born every minute."
So, to summarize, when starting your business use freeware, cheap hardware, develop or retail important skills, concentrate on what your market is/wants/expects, satisfy that, and ignore the naysayers and critics.
Please know that I'm not criticizing your suggestions for starting a small business. I'm just criticizing "Rich Dad, Poor Dad". Nobody should waste their money on that nonsense.
I never said Java was a scripting language (and hint: scripting languages do compile to byte code, I imagine some even to native code).
I'm not sure there's even a generally agreed upon definition for "scripting language".
If you have to drop down to C or ASM via JNI then you're exposing the flow of the program to segments which can have overflows and all that other jazz.
That's true; however, if 99.9% of your code is written in a "safe" language and only 0.1% of your code is written in an "unsafe" language, you've limited your exposure to potential exploits such as stack smashing to only 0.1% of your code. That's a whole lot better than 100% of your code being potentially vulnerable.
You're also making the system more complicated by mixing design tools. Now you need both a C development suite *and* a JDK. Tools only help with security, they don't create it.
Yes, that may be one of the unfortunate prices you have to pay, but the price is not that high, and the benefits of using a safer language for the majority of your development are substantial.
And what you sacrifice by going to a JVM based OS isn't always made up for in terms of practical security.
The sacrifices may or may not be worth it. It's a very subjective thing.
In most software that have trivial overflow bugs, they exist because the "programmers" don't verify their code. They test that [say] some JPEG will decompress and that's it. They don't test that their functions are well behaved or in anyway secure. It's not a function of C being insecure, it's a function of a lot of programmers not taking their job seriously [and/or not given the time to test/verify properly].
In reality, all programmers write code with bugs. It's often advantageous if those bugs take the form of an ArrayIndexOutOfBounds exception and terminate the thread or program, rather than allow things like a stack smash exploit to take over your entire machine and turn it into a zombie or trojan (or worse).
Robert T. Kiyosaki said, in his mega best seller Rich Dad, Poor Dad, "I'm not a best writing author, I'm a best SELLING author!" In response to a pulitzer prize winner who was criticizing his work.
That book was almost entirely fiction. It's highly likely that comment and retort never even took place.
Not to mention, the contents of the book are almost entirely complete and utter nonsense....
First, you need pointers. A pointer is basically a value which holds the address of something. While in a scripting language you can pass variables to functions/subroutines it isn't always by reference (e.g. a pointer). Pointers are also used when dealing with hardware which is mapped into the memory space. You need to be able to say "dump this data, exactly here in memory." Something you can't do with most scripting languages. It's also required to build things like page tables (process memory maps).
Just like C can drop down to assembly language for some required low level operations, Java can drop down to C for some required low level operations. The interface specification is called Java Native Interface (JNI).
Second, you want to have the concept of volatile memory. Memory mapped registers, for instance, have to be accessed very explicitly. If I write something like
while (*a == 0) { yield_thread(); }
You can't cache the value of *a, you need to read it every single time the loop passes. C gives you this through the "volatile" modifier. Every time that loop iterates, the value is read from memory.
Java also has "volatile", and it works the same way it does in C.
Third, you need control over how CPU time is spent. While C doesn't give you direct control it's very close. In a scripting language, a routine may need JIT'ing or recompiling, which is a no-no in an interrupt handler (latency == bad).
Theoretically, this part of a Java OS would be implemented at the JVM level; i.e., it would be native code. Also, there's no reason you couldn't pre-compile all the Java kernel code. Java compilers do, in fact, exist, such as Excelsior JET and GCJ.
etc...
The gist of it is that scripting languages don't give you enough control over the machine. C is a decent balance between being one with the machine and being human readable.
Before bailing out almost bankrupt Jobs and Apple...
Microsoft's pathetic $150 million investment in Apple made no appreciable difference whatsoever to Apple's finances. Apple had billions in the bank at the time. The investment was nothing more than symbolic.
And if i have to explain the reasons to you, its really not worth your time is it? The fact is my business loves it, my users love it and it ties up our services and simplifies our processes so much better than 2003 that it was worth it.
So my point is, you either have a already researched features you like and will run with or you ignore everything and pretend because you don't upgrade no one else will.
Let me see if I can translate that:
My business just loves the new features, but I'm not going to tell you which new features we love, and why we love them! Nyah nyah!
It's not Microsoft's fault if these companies choose to pay for support they don't actually need.
What?! Microsoft's CEO basically threatens companies that use Linux, and Microsoft isn't at fault?!
And I suppose if Guido says, "Bad things might happen to your family, Mr. Anonymous Coward, unless you pay me some 'protection' money...", then it isn't Guido's fault if you pay him for protection you don't actually need???
And you got modded Insightful! Unbelievable!
I, for one, am getting pretty tired of people whining that Microsoft gets unfairly bashed here on Slashdot too often. I regularly read plenty of responses that defend Microsoft that get modded +5 Insightful.
Amen to that.
I know some people that prefer eye candy above all else, including the frame rate. They'll max out their video resolution, but end up with choppy (in my opinion) frame rates. It doesn't seem to bother them. They seem to prefer the high resolution at the expense of frame rates.
I'm like you. I'll happily drop the resolution to get smooth (at least 30+ FPS) frame rates.
As a PC gamer, I've often wondered how console game players manage resolution vs. frame rates. Can console game players even tweak the performance of their games like that?
The most popular programming language on the planet is doomed?
It failed on the "write-once, run anywhere" promiseYou mean, the Java programs I write that run on Linux, BSD, Solaris, HP-UX, AIX, Windows, and AS/400 aren't actually working? You should have told me sooner! Maybe you can tell me how, exactly, they're not working, because they seem to be working fine!
it failed on the security promiseBecause we hear about buffer overflow exploits in Java programs leaving your machine vulnerable all the time? Oh, wait. We almost never hear about those.
and it failed on the "finally, you'll be free of win32" promiseThat's funny, it freed me from the Win32 API, and dozens upon dozens upon dozens of other developers I know.
The ways that Sun screwed this pooch will be the subject of thousands of business-school term papers for years to come.Yeah, right. We'll look back and see how badly Java failed, because it only retained the #1 crown for a few decades (or more).
You need a reality check.
The D programming language looks excellent; however, I'm concerned for its future (that is, whether or not it really has one). It seems like the ideal language to replace C, C++, and Objective-C, but I'm nervous about investing too much time and effort in a language whose future is uncertain.
If I could hedge my bets (so to speak) by having access to a "D to C" and/or "D to Java" converter (just in case), I'd probably use it in a heartbeat. (Plus, a "D to C" and/or "D to Java" converter would let me run applications written in D on some platforms I'd like to support, platforms which D probably will never support directly.)
Because that's not realistic.
It's not a language issue. I'm sure that unqualified folks will figure out how to cause all sorts of new vulnerabilities in "safe" languages.If you were to group bugs into two categories, "buffer overflow bugs" and "other bugs", the C programming language makes it possible for developers to code both kinds of bugs. If, by using a safer programming language, you can at least eliminate "buffer overflow bugs", why wouldn't you want to do that?
(Hint: there is no such thing as a "safe" language.)(Hint: I never said there was such a thing as a "safe" language. I said "safer".)
I guess maybe I'm just in the "old school" camp that thinks that unqualified people shouldn't be allowed to do things. There's a reason why, for instance, amateur carpenters aren't allowed to construct public buildings.Yeah, right. That'll happen, right after every little girl on the planet gets her very own pony, and we all slide down rainbows to work, instead of commuting.
As an experienced C programmer, I'm not just sitting around bashing C for fun. I'm just recognizing the fact that as our world becomes increasingly networked, security becomes increasingly important. If we can use alternative languages that minimize whole categories of severe bugs such as buffer overflows, we need to consider using them.
As someone who has spent a few decades programming computers in the C programming language (with a sprinkle of C++ and Objective-C), even I have to admit it's probably time to increasingly retire low level programming languages that are prone to these kinds of exploits (buffer overflows).
I wonder if there are "safer" languages than C with similar performance and memory usage characteristics.
I'd like to see more applications without even the "install" part. Or, at least, make the install nothing more than expanding the application archive in any directory I want.
America has given many companies the fertile soil needed to create hugely successful businesses. Now these same companies have decided to take a big, stinky shit on that very same America, by offshoring everyone so that a tiny minority of people can go from super-ultra-rich to super-ultra-deluxe-rich.
If you don't see the problem with that, you're a moron.
Try using the -mno-cygwin option. For example:
gcc -mno-cygwin -o foo.exe foo.c
The resulting executable doesn't need Cygwin at all.
...here come the "knee jerk" reactions, which - with Democrats in control of Congress - will almost certainly include new gun-control legislation. Legislation which - if history is any indicator - will do nothing to prevent tragedies like this, and will actually make our society more susceptible to this sort of thing, as fewer people have the means to defend themselves.I can't believe it's only been a few hours since the tragedy and jackasses like you are already trying to spin this into a political issue.
Excuse my French, but you're an asshole.
Most Slashdotters know you should not trust the built in security on these devices.
The solution for real security on these devices is to use TrueCrypt.
It's not hard to use, though the more technical among us may need to help out the less technically inclined to get things rolling. Once it's setup, though, it's secure and easy to use.
1. Let me stop the damn animated gifs and flash things with the "stop" button like the old Netscape let me.
You can stop animated GIFs by pressing the Escape key. Also, if you're like me and want to stop all GIF animation entirely, hop into about:config and set "image.animation_mode" to "none".
I hate to say it but I always felt Mono was a mistake. The problem with .NET is that it really is a Windows only system. When you try to point that out people say not it isn't you can use Mono. A convent lie that lets .NET compete with Java right up to the point where you have tens of thousands of lines of code and you want to migrate to a different platform. Then the Microsoft sales rep can say, "You know Mono really has fallen behind .NET. You can port your applications if you want but it would just be cheaper to stick with Windows. Once you add in the cost of porting all that code your Total Cost of Ownership will be much less with Windows. Oh and would you like some more copies of Office and another Exchange server to got with that?"
Mono is multi-platform .NET is not.
Even worse... How long until Ballmer starts grumbling about Mono using Microsoft patents?
Mono will never be a safe language for developers ... or even users. Just wait until Microsoft starts talking about how users of Mono applications owe Microsoft money because of the usage of Microsoft patented technology in Mono...
I'm sure it did. "There's a sucker born every minute."
So, to summarize, when starting your business use freeware, cheap hardware, develop or retail important skills, concentrate on what your market is/wants/expects, satisfy that, and ignore the naysayers and critics.Please know that I'm not criticizing your suggestions for starting a small business. I'm just criticizing "Rich Dad, Poor Dad". Nobody should waste their money on that nonsense.
I'm not sure there's even a generally agreed upon definition for "scripting language".
If you have to drop down to C or ASM via JNI then you're exposing the flow of the program to segments which can have overflows and all that other jazz.That's true; however, if 99.9% of your code is written in a "safe" language and only 0.1% of your code is written in an "unsafe" language, you've limited your exposure to potential exploits such as stack smashing to only 0.1% of your code. That's a whole lot better than 100% of your code being potentially vulnerable.
You're also making the system more complicated by mixing design tools. Now you need both a C development suite *and* a JDK. Tools only help with security, they don't create it.Yes, that may be one of the unfortunate prices you have to pay, but the price is not that high, and the benefits of using a safer language for the majority of your development are substantial.
And what you sacrifice by going to a JVM based OS isn't always made up for in terms of practical security.The sacrifices may or may not be worth it. It's a very subjective thing.
In most software that have trivial overflow bugs, they exist because the "programmers" don't verify their code. They test that [say] some JPEG will decompress and that's it. They don't test that their functions are well behaved or in anyway secure. It's not a function of C being insecure, it's a function of a lot of programmers not taking their job seriously [and/or not given the time to test/verify properly].In reality, all programmers write code with bugs. It's often advantageous if those bugs take the form of an ArrayIndexOutOfBounds exception and terminate the thread or program, rather than allow things like a stack smash exploit to take over your entire machine and turn it into a zombie or trojan (or worse).
That book was almost entirely fiction. It's highly likely that comment and retort never even took place.
Not to mention, the contents of the book are almost entirely complete and utter nonsense....
Just like C can drop down to assembly language for some required low level operations, Java can drop down to C for some required low level operations. The interface specification is called Java Native Interface (JNI).
Second, you want to have the concept of volatile memory. Memory mapped registers, for instance, have to be accessed very explicitly. If I write something like
while (*a == 0) { yield_thread(); }
You can't cache the value of *a, you need to read it every single time the loop passes. C gives you this through the "volatile" modifier. Every time that loop iterates, the value is read from memory.
Java also has "volatile", and it works the same way it does in C.
Third, you need control over how CPU time is spent. While C doesn't give you direct control it's very close. In a scripting language, a routine may need JIT'ing or recompiling, which is a no-no in an interrupt handler (latency == bad).Theoretically, this part of a Java OS would be implemented at the JVM level; i.e., it would be native code. Also, there's no reason you couldn't pre-compile all the Java kernel code. Java compilers do, in fact, exist, such as Excelsior JET and GCJ.
etc...
The gist of it is that scripting languages don't give you enough control over the machine. C is a decent balance between being one with the machine and being human readable.
Java isn't a scripting language.
Microsoft's pathetic $150 million investment in Apple made no appreciable difference whatsoever to Apple's finances. Apple had billions in the bank at the time. The investment was nothing more than symbolic.
Idiot.
Scepter of Goth was a fantastic game. I still occasionally pull out the source code for it, and take a walk down memory lane.
L2000M1M1
I have the FORTRAN source code for COMBAT. Let me know if you'd like a copy.
Let me see if I can translate that:
My business just loves the new features, but I'm not going to tell you which new features we love, and why we love them! Nyah nyah!
And you got modded +5 Insightful... Amazing...
What?! Microsoft's CEO basically threatens companies that use Linux, and Microsoft isn't at fault?!
And I suppose if Guido says, "Bad things might happen to your family, Mr. Anonymous Coward, unless you pay me some 'protection' money...", then it isn't Guido's fault if you pay him for protection you don't actually need???
And you got modded Insightful! Unbelievable!
I, for one, am getting pretty tired of people whining that Microsoft gets unfairly bashed here on Slashdot too often. I regularly read plenty of responses that defend Microsoft that get modded +5 Insightful.
I was just about to post a comment that asked, "Is there room for another commercial office suite, especially for Linux and BSD?"
After looking at the screenshots (very impressive!) and price (very competitive!), I think the answer just might be yes.
Of course, my meager needs are entirely met by Google Docs and Google Spreadsheets, which runs just fine in Firefox.
Microsoft,
What about running the inexpensive versions of Vista in virtual machines?
When it comes to Vista, that issue remains a "show stopper" for me, and for many other people.
What do you all say? Should Microsoft allow us to run the inexpensive versions of Vista in virtual machines?
...is that the vendor lock-in is FREE!