We do this at my job. We have a decent production database system, but we develop against a K6-2/400 with 256MB of RAM and a couple flaky SCSI disks. If it performs adequately there, it'll perform adequately anywhere.
You know, it's sad, but companies like that used to exist. Consider Kodak building Rochester, NY from basically nothing into the thriving city it is today. I swear, half the buildings in that city are named after them. They did a world of good.
No more, though. Now business schools teach sociopathy.
We need some fucking laws. In other countries, you can't commercially use the word "free" to refer to any transaction which money changes hands for any reason whatsoever. Let's enact those here too.
I am sick and tired of having to hand over money for "free" merchandise. Why not call an air ticket "free" with a seating fee, a booking fee, a fuel fee, an oxygen fee, a plane maintenance fee, and a landing fee tacked on?
"Free" should mean precisely one fucking thing when you come across it in public: free.
There's nothing wrong with equal-opportunity elitism. Anyone can learn how to use and run a computer responsibly.
"...which would be the moral equivalent of this overclocking nonsense." - applying morality to a non-moral issue,
The phrase "moral equivalent" has a longhistory of use in the software field to express the concept of effective equivalence or analogy. You clearly do not write much software.
just uninformed(from someone that actually uses audio software regularly)
Care to elaborate? As I understand it, Linux audio software is improving rapidly, and while it's not quite up to the level of the professional Windows (or Mac) stuff, it's getting close.
It's not wine: it's native. The now-defunct company Loki Games ported Alpha Centauri to Linux. You might be able to buy a copy from someone. It's a fantastic game.
Very impressive. I wasn't able to quite tell from the video, though: was the end of the dribbling demo planned, or did the robot lose control of the ball after a few seconds?
Ah, fanboys. nVidia's didn't "rewrite a large chunk of Xwindow [sic]". The driver just bypasses the OpenGL direct rendering stack. OpenGL requests still go to from userland to the kernel just as they would under DRM, but under the control of the nVidia driver and not the generic rendering pipeline. nVidia's reason for doing that has nothing to do with performance, but rather with using a common codebase for their Windows and Linux drivers.
Furthermore, "overcloking" [sic] is not "necessary" in any way for playing games. Unless you're 14, that is: thanks, but Linux is for adults (unless you're running Gentoo and compiling everything with -O1.7e34 -fOMGLOLHACKS, which would be the moral equivalent of this overclocking nonsense.)
You're right about it being difficult to use Linux for gaming (though my copy of Alpha Centauri still runs fine), but the difficulty has nothing to do with technical merits and everything to do with the small intersection between the Linux desktop user base and the set of people likely to purchase games. That's the sad reality. For other tasks of equal complexity, like software development, audio editing, and document creation, the free software world is at or near par. There's just not a whole lot of interest in gaming.
...It is legitimate for AT&T to not want to deal with all the bandwidth that this app would use.
No, it's not, and preserving this kind of access is network neutrality's raison d'être. The nightmare scenario is a provider using its clout to hamper access to a company that happens to compete with another line of the provider's business. It is completely unacceptable. Neither Apple nor AT&T has the moral or legal right to use control over one product line to subdue a competitor in another.
Given that this is Palm we're talking about I'm not convinced that their runtime engine is terribly well optimized for time or space...
Do some research before spreading FUD. Palm WebOS uses V8, the same Javascript engine that Chrome uses. It compiles to machine code.
Storage space on these devices is an issue as well, however. It seems rather silly to store source code on your device in addition to a native binary.
You're not storing the source and the binary: you're storing the source and generating the binary at runtime. You don't need to simultaneously hold in memory all the compiled code for all programs, or even the whole of a single program. Furthermore, source is often smaller than the binary. Saving the generated code wouldn't be advantageous either because the time it takes to generate it is trivial. This whole line of argument is specious.
And native code [is a panacea]?
The set of vulnerabilities in managed code is a subset of the set of vulnerabilities in native code, barring bugs in the runtime environment. Of course managed code isn't invulnerable, but many common attacks against native code simply don't apply.
First off, maybe I've got some hefty established code base I want to port over, rather than re-write in a new language.
If the code is portable to Linux, do what Palm did for libpurple and abstract it away. If, as in your example, the code is written for some obscure, dead environment, then you're going to have to port the code anyway regardless of what Palm offers; at that point, you might as well just port it to Javascript.
Or maybe I just have some code that I need to run fast. Games are one of the most common scenarios.
For graphics and sound, yes. There are APIs for that, including a 3D canvas extension that (AFAIK) will be distributed soon. The 2D stuff already works very well.
Funny that you should mention Pidgin, because Palm actually uses libpurple, the Pidgin backend, for its IM backend. As for the front-end --- why the hell would you want to run the stock Pidgin GUI on a phone anyway?
First of all, modern Javascript is fast. Even if it weren't, this isn't your grandmother's Intel 8080. Modern cell phones have processors that would beat the pants off a desktop machine from a scant few years ago while using a reasonable amount of power. (Counter-intuitively, using a faster processor saves power because you spend less time running code and more in low-power sleep.)
Pretty much the only things a VM buys you are architecture independence and a certain measure of protection against exploits.
Don't forget cleaner, smaller code and a certain insulation from API changes. Have you so quickly forgotten the pain of the Great Symbian ABI break? With Javascript, there is no ABI to break, which gives the platform developers far more flexibility in improving the platform.
And in the case of WebOS it's not even a bytecode VM (or is it?) - it's interpreting textual program code...
You clearly have no idea how modern Javascript runtime systems work. They're compiled to bytecode for ages, and modern Javascript engines compile down to machine code. Like I said, modern Javascript is fast as hell.
stuff like non-executable memory pages - that would provide a lot of the same protection as interpreted code
There are more vulnerabilities in heaven and earth than are dreamt of in your philosophy. Non-executable pages provide some protection against some attacks, but they're not a panacea.
At least it seems this time they are going to follow through with some good native code options...
They are already there if you really need them. You can write a browser plugin (using NSAPI, the API that's been stable for 15 years) or you can write a normal, boring Linux process in whatever language you want, and have your Javascript front-end communicate with it over dbus. (That's how WebOS reuses libpurple, the same library that Pidgin uses.) But chances are, you don't need to write native code.
This is where the system breaks down, because what it really means is that if I work more than 40 hours/week, I get paid for 40 (but my company can often bill out my actual hours). If I work less than 40, the company only pays me for the hours that I work (gee, how can we pay you for 40 hours when you only worked 32??).
Your company can only reduce your pay in full-day increments. Deducting for partial-day absences is illegal ("hrm, well, you came in late on Wednesday, so we're only paying you for 38 hours this week"):
With some exceptions, the base pay of a salary basis employee may not be reduced based on the "quality or quantity" of work performed (provided that the employee does "some" work in the work period). This usually means that the base pay of a salary basis employee may not be reduced if s/he performs less work than normal, if the reason for that is determined by the employer. For example, a salary basis pay employee's base pay may not be reduced if there is "no work" to be performed (such as for a plant closing or slow period), and a salary basis employee's base pay may not be reduced for partial day absences. However, employers may "dock" the base pay of salary basis employees in full day increments, for disciplinary suspensions, or for personal leave, or for sickness under a bona fide sick leave plan (as for example if the employee has run out of accrued sick leave).
IANAL, but if your employer is doing that to you, you should be able to sue them into oblivion.
I'd like to see you run something like Emacs or Wireshark on a phone anyway. The user interface constraints of a phone will practically require you to rewrite a GUI anyway. As for non-GUI code: that runs just fine on a Pre. Remember: it's just a normal Linux system with a different GUI.
Is Firefox locked down because its interface is written using XUL and CSS? Palm is doing essentialy the same thing.
The Palm contains no DRM. The native GUI toolkit is XHTML, CSS, and Javascript, yes, but that fact alone doesn't make it "locked down". If you need compiled code for performance reasons, you can write a browser plugin or use dbus to talk to a compiled daemon.
The Pre runs a practically normal Linux distribution. Granted, all the applications are written in Javascript and not some compiled language using C, but I look at that as a good thing.
This is why you never, ever trust an employer to do right by you. All the incentives are aligned the wrong way, and to rise high in a company, you practically have to be a slick sociopath. The same guy that asks you how your day went by the water cooler would have you chained to a desk 14 hours to day if the law would let him get away with it.
Labels as Values (i.e., "Computed Goto"). The OP's example is still illegal because he's jumping down the stack frame, but the syntax is fine for gcc.
We do this at my job. We have a decent production database system, but we develop against a K6-2/400 with 256MB of RAM and a couple flaky SCSI disks. If it performs adequately there, it'll perform adequately anywhere.
The canonical way to write an endless loop is for(;;) { ... }.
You know, it's sad, but companies like that used to exist. Consider Kodak building Rochester, NY from basically nothing into the thriving city it is today. I swear, half the buildings in that city are named after them. They did a world of good.
No more, though. Now business schools teach sociopathy.
We need some fucking laws. In other countries, you can't commercially use the word "free" to refer to any transaction which money changes hands for any reason whatsoever. Let's enact those here too.
I am sick and tired of having to hand over money for "free" merchandise. Why not call an air ticket "free" with a seating fee, a booking fee, a fuel fee, an oxygen fee, a plane maintenance fee, and a landing fee tacked on?
"Free" should mean precisely one fucking thing when you come across it in public: free .
There's nothing wrong with equal-opportunity elitism. Anyone can learn how to use and run a computer responsibly.
The phrase "moral equivalent" has a long history of use in the software field to express the concept of effective equivalence or analogy. You clearly do not write much software.
Care to elaborate? As I understand it, Linux audio software is improving rapidly, and while it's not quite up to the level of the professional Windows (or Mac) stuff, it's getting close.
It's not wine: it's native. The now-defunct company Loki Games ported Alpha Centauri to Linux. You might be able to buy a copy from someone. It's a fantastic game.
Very impressive. I wasn't able to quite tell from the video, though: was the end of the dribbling demo planned, or did the robot lose control of the ball after a few seconds?
Fuck Everything, We're Doing Five Hundred Fingers
Ah, fanboys. nVidia's didn't "rewrite a large chunk of Xwindow [sic]". The driver just bypasses the OpenGL direct rendering stack. OpenGL requests still go to from userland to the kernel just as they would under DRM, but under the control of the nVidia driver and not the generic rendering pipeline. nVidia's reason for doing that has nothing to do with performance, but rather with using a common codebase for their Windows and Linux drivers.
Furthermore, "overcloking" [sic] is not "necessary" in any way for playing games. Unless you're 14, that is: thanks, but Linux is for adults (unless you're running Gentoo and compiling everything with -O1.7e34 -fOMGLOLHACKS, which would be the moral equivalent of this overclocking nonsense.)
You're right about it being difficult to use Linux for gaming (though my copy of Alpha Centauri still runs fine), but the difficulty has nothing to do with technical merits and everything to do with the small intersection between the Linux desktop user base and the set of people likely to purchase games. That's the sad reality. For other tasks of equal complexity, like software development, audio editing, and document creation, the free software world is at or near par. There's just not a whole lot of interest in gaming.
50 years ago, one could be middle class with one income earner per household. Try that today.
Don't forget SBCL.
No, it's not, and preserving this kind of access is network neutrality's raison d'être. The nightmare scenario is a provider using its clout to hamper access to a company that happens to compete with another line of the provider's business. It is completely unacceptable. Neither Apple nor AT&T has the moral or legal right to use control over one product line to subdue a competitor in another.
Do some research before spreading FUD. Palm WebOS uses V8, the same Javascript engine that Chrome uses. It compiles to machine code.
You're not storing the source and the binary: you're storing the source and generating the binary at runtime. You don't need to simultaneously hold in memory all the compiled code for all programs, or even the whole of a single program. Furthermore, source is often smaller than the binary. Saving the generated code wouldn't be advantageous either because the time it takes to generate it is trivial. This whole line of argument is specious.
The set of vulnerabilities in managed code is a subset of the set of vulnerabilities in native code, barring bugs in the runtime environment. Of course managed code isn't invulnerable, but many common attacks against native code simply don't apply.
If the code is portable to Linux, do what Palm did for libpurple and abstract it away. If, as in your example, the code is written for some obscure, dead environment, then you're going to have to port the code anyway regardless of what Palm offers; at that point, you might as well just port it to Javascript.
For graphics and sound, yes. There are APIs for that, including a 3D canvas extension that (AFAIK) will be distributed soon. The 2D stuff already works very well.
Yes.
Perhaps because Javascript is actually a decent general-purpose programming language.
Funny that you should mention Pidgin, because Palm actually uses libpurple, the Pidgin backend, for its IM backend. As for the front-end --- why the hell would you want to run the stock Pidgin GUI on a phone anyway?
First of all, modern Javascript is fast. Even if it weren't, this isn't your grandmother's Intel 8080. Modern cell phones have processors that would beat the pants off a desktop machine from a scant few years ago while using a reasonable amount of power. (Counter-intuitively, using a faster processor saves power because you spend less time running code and more in low-power sleep.)
Don't forget cleaner, smaller code and a certain insulation from API changes. Have you so quickly forgotten the pain of the Great Symbian ABI break? With Javascript, there is no ABI to break, which gives the platform developers far more flexibility in improving the platform.
You clearly have no idea how modern Javascript runtime systems work. They're compiled to bytecode for ages, and modern Javascript engines compile down to machine code. Like I said, modern Javascript is fast as hell.
There are more vulnerabilities in heaven and earth than are dreamt of in your philosophy. Non-executable pages provide some protection against some attacks, but they're not a panacea.
They are already there if you really need them. You can write a browser plugin (using NSAPI, the API that's been stable for 15 years) or you can write a normal, boring Linux process in whatever language you want, and have your Javascript front-end communicate with it over dbus. (That's how WebOS reuses libpurple, the same library that Pidgin uses.) But chances are, you don't need to write native code.
Lies.
Your company can only reduce your pay in full-day increments. Deducting for partial-day absences is illegal ("hrm, well, you came in late on Wednesday, so we're only paying you for 38 hours this week"):
IANAL, but if your employer is doing that to you, you should be able to sue them into oblivion.
I'd like to see you run something like Emacs or Wireshark on a phone anyway. The user interface constraints of a phone will practically require you to rewrite a GUI anyway. As for non-GUI code: that runs just fine on a Pre. Remember: it's just a normal Linux system with a different GUI.
Is Firefox locked down because its interface is written using XUL and CSS? Palm is doing essentialy the same thing.
The Palm contains no DRM. The native GUI toolkit is XHTML, CSS, and Javascript, yes, but that fact alone doesn't make it "locked down". If you need compiled code for performance reasons, you can write a browser plugin or use dbus to talk to a compiled daemon.
The Pre runs a practically normal Linux distribution. Granted, all the applications are written in Javascript and not some compiled language using C, but I look at that as a good thing.
Bah, pulsars just run on solar power that was stored up over previous aeons.
Pulsars run on fossil fuel!
This is why you never, ever trust an employer to do right by you. All the incentives are aligned the wrong way, and to rise high in a company, you practically have to be a slick sociopath. The same guy that asks you how your day went by the water cooler would have you chained to a desk 14 hours to day if the law would let him get away with it.
Speaking of getting screwed - why are there specific regulations in the federal labor laws that exempt "certain computer workers" from overtime pay?