Comment Re:What a fool. (Score 1) 82
or does everyone get 140 characters?
Everyone gets 140 NCF normalized UTF-8 Unicode code points. Characters, iow.
or does everyone get 140 characters?
Everyone gets 140 NCF normalized UTF-8 Unicode code points. Characters, iow.
This should be rule number one for this type of application.
Perhaps it should be rule number one, but actually it's Rule 16.2 of MISRA-C:2004 (Motor Industry Software Reliability Association, Guidelines for the use of the C language in critical systems):
Functions shall not call themselves, either directly or indirectly.
The rule actually appeared first in MISRA-C:1998. Each rule is accompanied by a detailed rationale that I will not reproduce verbatim here as the standard is not open; one must pay for the privilege. The rationale for 16.2 is that recursion may cause stack overflows. I only cite the rule itself because it appears in public testimony and also on the (first) page linked by this story
Because MISRA also disallows constructs such as function call indirection, self modifying code, etc. a compiler is entirely capable of detecting recursion and reporting the violation as an error. MISRA compliant compilers do exactly that.
Yes Virginia, the largest auto manufacturer on Earth ignores the very thing that was designed to prevent simple, common, easily predictable failures such as stack overflow despite the fact that the cost of compliance is much, much smaller than a rounding error for an outfit like Toyota.
Also, despite the fact that Industry dutifully identified this specific problem in a published standard at least 16 years ago, compliance is apparently not yet a requirement by government regulators. I suspect they're too busy investigating child seat manufacturers or Telsa batteries or whatever other politically high profile crisis that giant, engineer-free gaggle of NTSB lawyers fill their bankers hours with.
And that, kind reader, is why we must outlaw meat.
but I'm surprised so many attribute that to malice.
My accusation was limited to a lack of understanding; never attribute to malice that which is adequately explained by
The immutability of reader comments has always been a prized feature
Amen. Accountability. It's always been obvious to me why simply revising comments isn't tolerable and I'm glad that view predominates.
And AC isn't a counterpoint to accountability either, for whomever might want to throw that one back at me; AC elevates attributed comments, on several levels.
I'm pretty sure contemporary ideas about UX design are inappropriate for Slashdot. The one or two sentences that Twitter/Facebook/WhatsApp accommodate won't work here. This place indulges people that like to write, and people that don't mind lengthy posts.
The beta site shows a serious indifference to that; the amount of wasted space is just amazing. Fully 45% of the comments view is just empty, half of it gone to the infinitely long side bar that Beta fails to wrap into. No one that understands what this site is for could possibly have made that basic mistake for as long as Beta has been in the works.
Bootstrap et al. don't deal with "long form" threaded forums, so that design mentality won't work.
Here is a possibly novel idea that will actually be appreciated by at least this contributor, and probably most others; comment editing with revision control (a la Wikipedia.) It has to be revision controlled or the trolls will abuse editing. Allow readers to punish such trolls with moderation while the rest of us get the benefit of correcting minor mistakes.
There. That wasn't hard. A real improvement that caters to actual contributors, as opposed to hypothetical users that want to scribble a grammatically challenged half sentence 20 times an hour and don't read.
Anyhow, thanks for the step backwards on this and your participation in the conversation. You all could have gone bull-headed and made this situation even worse. So good on your for that.
None at all.
And yes, beta has serious problems. Regressing to having to bang on the "Load More..." button instead of "Load All Comments" while not logged in is one glaring example. The fact that comments don't flow around the end the right side ad bar is another.
This is not Twitter. People write lengthy comments here; please don't piss away space with huge margins and poor layout.
A petition of the White House to `Restore Net Neutrality By Directing the FCC to Classify Internet Providers as "Common Carriers" just attained the 100k signatures required for a response.
I'm sure a number of you would have liked to have known about that and signed it at the time... but the story submission was declined. Guess there were too many terribly important climate change stories or something.
Is Dart an open language spec?
The language spec is CCA 3 and ECMA standards tracked. The source code is BSD.
Javascript was not an immaculate conception of Berners-Lee, Torvalds and Stallman. It was a product of Mozilla, blessed by nobody and foisted on the world via the defacto browser of the day. It is also more than flawed enough to justify some competition.
The <script> tag has a "language" attribute for a reason, the curmudgeons of Slashdot notwithstanding.
that piece of software/tech tends to perish
Except when it doesn't. VirtualBox hasn't perished.
A colleague of mine speculated that perhaps Oracle had forgotten about VirtualBox and thus it has been spared the obligatory ruining. Perhaps there is a gang of hard core emulator developers quietly slipping in and out of the building each day, carefully avoiding notice.
Netbeans does actually suck less than Eclipse. That's a low bar, to be sure, but it appears to be acquiring more users than it is repulsing, so there's another counterpoint.
So we're just randomly posting that link to every Slashdot story now?
wouldn't Java be a example of the contrary to this?
Yes, but not the best one. The best would be Oracle's database. Despite the fact that Oracle Database Server is not the result of a 'community-based development model,' the product has a long, ugly history of vulnerabilities. For some reason it fails to be composed of 'low-defect code,' despite apparently having all the best financial incentives. The list of vulnerabilities is long and grows regularly.
The only reason Oracle Database Server has never been the victim of a SQL Slammer type exploit is that it is so expensive that most instances exist only well behind corporate and government firewalls that, if not well maintained, at least exist. Many SQL Server admins apparently don't believe in firewalls.
However, [Solaris] is more of Sun's creation than Oracle's.
Likewise with Java.
Point of order: 32-bit ARM code doesn't even have stack instructions
ARM's generalization of the classic PUSH and POP instructions has always been admirable (at least until they made THUMB which sadly does have these foul instructions,) but the real world uses STMDB (store multiple decrement before) and LDMIA (load multiple increment after) to implement stacks, which is exactly why these instructions exist. 32-bit ARM provides a stack pointer (R13 a.k.a SP as per ARM) and a return address (R14) register. This not merely software convention either; these registers are banked to allow distinct values for these specific registers across processor modes to accommodate the classic call stack in the face of exceptions.
32 bit ARM is every bit as "stack oriented" as anything that has explicit PUSH and POP instructions. There is no pretending otherwise.
Modern ISAs provide large numbers of registers specifically to avoid stack usage
Modern ISAs? Providing a large register file to avoid memory accesses goes back to Berkeley RISC-I (the inspiration for ARM, incidentally) at least. However, what you have then when executing real programs is merely a very limited stack inside the register file. From RISC I: A REDUCED INSTRUCTION SET VLSI COMPUTER:
Our approach is to break the set of window registers (r10 to r31) into three parts (Figure 7). Registers 26 through 31 (HIGH) contain parameters passed from “above” the current procedure; that is, the calling procedure. Registers 16 through 25 (LOCAL) are used for the local scalar storage exactly as described previously. Registers 10 through 15 (LOW) are used for local storage and for parameters passed to the procedure “below” the current procedure (the called procedure). On each procedure CALL a new set of registers, r10 to r31, is allocated; however, we want the LOW registers of the “caller” to become the HIGH registers of the “callee.” This is accomplished by having the hardware overlap the LOW registers of the calling frame with the HIGH registers of the called fmme: thus. without moving information, parameters in mgisters 10 through 15 appear in registers 25 through 31 in the called frame.
What we have here is a hardware accelerated stack based on a large banked register file. An optimization.
Stacks are a software things
If that's true it aligns pretty nicely with Genuinely Useful Ideas In Programming then, no?
And you go too far down that road, suddenly you're teaching FORTH.
Or the JVM instruction set, for something a tiny bit more relevant.
Only through hard work and perseverance can one truly suffer.