1,803 karma · joined August 27, 2007
This is also the ideal place to add in additional data such as from an accelerometer. If you only have the calculated position (and speeds, which are useful for figuring out how far you're actually likely to have moved since the last fix) but not the error estimates to work on then you've thrown away much of the useful data.
Why does everyone think that politicians are clueless numpties when they're deciding what to tax, but omniscient geniuses whenever they're deciding what to subsidise?
Of course if Congress does pass anything it all it's most likely to be a law to shield ISP from liability for not delivering the services their customers have paid for when they don't receive the kickbacks they want...
http://spectrum.ieee.org/cars-that-think/transportation/self...
I don't think I'll ever get used to this. I don't see how it's possible even in principle to acclimate to such large swings in temperature over such a short time frame.
What has changed is that there is essentially no chance of getting a privileged port allocated now.
https://en.m.wikipedia.org/wiki/Nobel_Memorial_Prize_in_Econ...
Unfortunately it's struggling to escape from yet another entry in the tedious genre of "software engineer (sorry, programmer) who has never worked in, or even read a book about, any other engineering discipline assuming that he knows everything about how they work".
It's ironic that he cites the failure of the NATO "Software Engineering" conferences as evidence that software development is not engineering, when the idea of those conferences was that "programmers" would be the assembly-line workers in a software manufacturing process.
Software development is a design process, not a manufacturing process. That's why we call its practitioners software engineers:
http://www.zerobanana.com/essays/reclaiming-software-enginee...
That's cool and all, but your compiler probably has far lower error rates, definitely has much higher repeatability, runs in seconds instead of... years, and doesn't cost tens of millions of dollars per year.
The idea that we should be imitating them is laughable. Automated compilers were light years ahead even at the time.
Maybe one day we'll see an article about the high-level code was designed. Probably not though.
[1] '"Our requirements are almost pseudo-code," says William R. Pruett, who manages the software project for NASA. "They say, you must do exactly this, do it exactly this way, given this condition and this circumstance."' - they may use words like 'specification' and 'requirements', but generally those terms are indicate documents that tell you what to do, not what to do and how to do it.
http://lists.openstack.org/pipermail/openstack-dev/2014-Marc...
For the record, I personally think that this is 100% pure FUD (the thinking behind it is described as "preposterous" later in the thread). Nevertheless, if someone with the title of "Sr. Director Of Open Source, Open Standards" at a company the size of Yahoo can buy in to this FUD, then most smaller companies have no chance of distinguishing between fact and fantasy, and many will steer clear as a precaution.
Dealing with raw vs cooked (where LF is automatically translated to CRLF) ttys in UNIX is also a giant pain when you have to do it, so in a way it's not surprising that they decided to leave that out. The original DOS kernel was very minimal compared to UNIX even of the same era. Of course, it turns out that having to write CRLF into files is also a pain - Windows has binary and text mode files instead of raw and cooked mode ttys - and one that you encounter much more often.
True enough. But the piece argues (I am the author) that software engineering is not making, it's designing.
> Carpentry is not engineering. Cooking is not engineering.
Carpentry is a craft, but furniture design can be engineering. Cooking dinner is a craft, but designing the menu and production process for a chain restaurant is definitely engineering.
> Before you can declare that making software is (or can be) engineering, you have to be able to explain why those things aren't.
My position is that they are (or can be), when analysed in an analogous way. You've asserted that they self-evidently are not, even in the absence of a rationale for why. I simply don't agree.
> My tentative theory is that engineering has rigorous ways to check whether a design will work before it is manufactured
I appreciate you sharing your theory! However, I believe you'll find the history of engineering has largely been one of people doing stuff first and then later finding ways to reduce the cost by doing analysis. I highly recommend watching one of Glenn Vanderburg's "Real Software Engineering" talks for a more in-depth treatment of that subject: http://vanderburg.org/speaking/
> A mechanical engineer might need to draw a detailed design, but can then check it rigorously with finite element methods.
That's great, but finite element analysis won't tell you e.g. where water might pool causing a structure to deteriorate, or that a machine can't be properly maintained because a part is too difficult to access. If you worked in any of these fields I think you'd quite quickly be disabused of the notion that they consist of just plugging designs into known formulae until the computer accepts one. Similarly, we have plenty of similar tools in software (e.g. Big-O analysis), but we don't kid ourselves that using them is the be all and end all of developing software.
> When we make software, in practice, we have to construct the software and test the artefact, hoping that our tests are adequate.
We do that in practice because it's more efficient. I can't accept a definition of engineering that holds that we could claim to be doing engineering only if we did things inefficiently, because it's self-contradictory. That's the opposite of engineering.
> Do you really get mechanical or civil engineers saying "yeah, we expect there are a few fatal flaws in the design, that's just how it goes, we'll build it anyway and ship a fix if customers complain"?
Heck yes! (Well, not fatal flaws.) Any product you can think of that has been popular enough to get a second production run probably has had some design flaws corrected. Some of which were probably already known by the time that the first version shipped, and some of which were probably only discovered after real users had it in their hands for a while.
> it's part of the engineer's job to trade off reliability and cost.
Correct. But the cost includes not only the cost of the artefact but also the cost of the design. The difference with software is that design costs dominate in a way that isn't often the case with physical artefacts.
However, the shuttle design (which placed the crew compartment right next to the giant explodey bit, to use the technical term) was also inherently much less safe than the rockets that preceded it. (That it was chosen anyway was due in part to the degradation of the safety culture in favour of other goals.)
It's really, really hard to keep an entire organisation laser-focused on safety when they haven't seen an accident in nearly a generation.
https://en.m.wikipedia.org/wiki/Patient_Protection_and_Affor...
Every Republican voted against it. At no point did Republicans in Congress try to improve any of its manifest flaws, but instead they held hundreds of symbolic votes to repeal it and return to the status quo ante (which, prior to that, everyone had agreed was unacceptable - no presidential candidate of either party in living memory had failed to include healthcare reform in their platform). Republicans who had never objected to the individual mandate when they proposed it now claimed it was unconstitutional (Obama didn't help, by claiming for political reasons that it is not a tax). Romney ran for president on a platform that his healthcare plan was a good idea when he did it but a bad idea when Obama did it.
To liberal ears, it's really hard to explain how this was a principled stand against wacky liberal ideas run amok, and not simply an attempt to regain power by obstructing even previously-bipartisan ideas, even at the cost of damaging the country, to ensure that the other side couldn't take credit.
Of course you can always tunnel over TCP (you need to tunnel over something, because you can't route multicast over the Internet either), but that would almost certainly eliminate the performance benefits.
English is a Germanic language, so perhaps in a sense this meaning has always been part of it. As you point out, even if it's not considered completely idiomatic most people would have no trouble interpreting the meaning.
Yep, this is much more likely than that it's accidentally forwarding the pause frames. The magic phrase to google here is "head of line blocking": https://en.wikipedia.org/wiki/Ethernet_flow_control#Issues
For that reason you should basically never enable ethernet flow control except for on a Fibre Channel over Ethernet SAN, and even then they had to invent Priority-based Flow Control to make it sane. If this is a managed switch then you should be able to disable it.
(I used to also work at an ethernet switch vendor.)