The problem is that if all you've got is some code you don't understand and some tests, you don't really know whether it works. At most, you only know that it gives the correct answers in the specific cases you're testing.
Then your customers, who are using your product in other cases, will find bugs.
Surprisingly, laziness works in this regard, if you know some category theory (heh). If your data types are initial algebras, and you avoid side effects, you don't need tests beyond testing the induction steps. Bugs are 100% impossible, assuming you pass the initial test case, and the induction cases.
Are you *seriously* trying to equate the ability to understand one's own code with "a formal and rigorous proof"? Really? To that, all I can really say is: Wow. Please, get out of the industry. Now.
Speak to yourself. Every program is a constructive proof, via the Howard-Curry correspondence theorem.
Ignore that at your peril. You're only wasting everybody's time with "patterns", when what you really need is existential and universal quantification.
It's also nice to be able to use the Accessibility Options to zoom the screen in, so that you can operate the machine comfortably from your couch/bed. It's a bit limited compared to sitting at a desk, but very useful.
Google uses real life, un-anonymized emails as test data when testing their data mining algorithms. This means that employees regularly read randomly chosen emails, as part of the process of testing a data mining algorithm is verification.
The vast majority of American capital is owned by the middle class. This, of course, is why a Wall Street crash is hard on retirees, and not really anybody else.
Nobody controls "economic resources" except the forces of supply and demand. Least of all, Wall Street, which is what I presume you are trying to get at. If Wall Street could control supply and demand, we would never have any economic troubles. The whole melt down was caused by a demand shock when banks started failing.
Presumably, you are whining that only a small minority of people are responsible for very large investments. But nothing is stopping you from joining them. All you need is a solid business plan, and they will loan you three times your current net worth, in order to pursue your idea. All they ask is that they get a cut, for their trouble. Heck, if you have good management experience and a solid business plan but not much capital, they'll finance your entire operation.
All it takes is the initiative to do it. Why should trillions of dollars just sit in bank accounts, doing nothing, when they can be put to work for the good of many, or even all? Because a few lucky/evil/etc people struck it rich?
Right; because there's no difference between someone who supports a family on $50k per year with no inheritance and someone who: blah blah blah
The point is, the middle class owns the vast majority of American capital. All savings is investment. This is a trivial accounting identity.
Your ideology isn't going to change that. Whining about the "owners of capital", when they're you and your friends and your family and neighbors is not productive. Calling the largest segment of the American population an "aristocracy" is utterly foolish.
I'm not going to discuss the bailouts, but this isn't as good a point as you think. Assuming you end up losing (even a little less than) a billion if you get tails, that's actually a good bet from a financial perspective. The expected value of the bet is greater than 0. Make this bet a thousand times and you will most likely end up ahead.
You "just" need a lot of cash flow to make it work in you favor, in the long term. This is how casinos operate, for example.
I do work in a related field (I am a "research analyst"). The whole point is to make bets that are beneficial to you. Because if you're placing lots of bets, statistically speaking under some modest assumptions, some will win and some will lose. And if you're making bets beneficial to you, you will win more from winning than you will lose from losing. On the one hand, this requires a certain amount of "risk tolerance" or even callous fearlessness about money and risk.
People often conflate this educated risk tolerance with something sinister. It's not.
We're better off with a competent government. After all, the military is already quite competent. If another civil war broke out, the military would already oppress us quite competently. So we've got the problems of competence with none of the benefits.
Because the vast majority of fiction that comes in novel form is utterly awful. That includes most "science fiction" and "fantasy", but also includes "modern literature". You know something is wrong when the only books you hear about from others in your age group is "World War Z", and the damn "Da Vinci Code" back when that was popular.
Older literature can be excellent, but it is also divorced from modern culture. It takes time and research to figure out what is worth reading, considering your interests. You can't just pick up a list of the "top 100" literary works and plough through them. Okay, you can, and would be bored out of your mind, wondering why you're reading about all the crap the Greeks took with them to Troy. (How many damn tripods was it, Homer?) This is a good option if you're willing to put in some effort.
Also, movies suck. 90 minutes is too short to develop an involved plot and good characters. But it is also too long to just sit there, on a plotless character-less story.
So what does that leave for fictional entertainment? Good serialized prime time TV series, some good serialized anime (and the manga it comes from, but that's a different story). PBS documentaries are also worth paying for. So are BBC documentaries, for that matter.
And finally, some of us already read over 2000 pages a week, and would like to NOT read for restful entertainment.
The biggest problem with that thinking is that you can make a DVR for this stuff out of any home PC with enough muscle- you don't need to pay for that functionality.
Servers and effort are free now? Hulu's finances ought to be in good shape then.
I am not trying to be an ass either. I suppose it is true that I am "arrogant". I do, however, think that you can make a workable solution to a simple problem in a short amount of time. As I said, there are already robust XML libraries out there, so choosing one is typically the best choice.
HaXML has been "in development" for 11 years, but you can be that less than a month of developer time has gone into it. As I said, most of the bugs on the changelog are not related to parsing XML per se, but parsing auxiliary formats. (The DTD shows up in 2/3 of those bugs. DTD's are not valid XML)
On the other hand, I take a bit of exception to being called arrogant. When I was a mathematician, mistakes were always "allowed", and yet, mathematicians (relatively) rarely make logical mistakes. Why is that? Because mathematical proof is a form of argument that can be read and verified. Because you can read off logical mistakes just by reading the proof. Approaching programming with the same rigor is not difficult. All it takes is mathematical rigor. In fact, I expect it, and am constantly disappointed by the Computer Science flunkies who mess up even simple reasoning.
Indeed, because of the Howard Curry Isomorphism theorem, you are committed to the position that people are incapable of doing simple mathematics, if you are committed to the position that people can't do simple programming tasks. That much is demonstrably false. People do mathematics, perfectly, the first time, every day.
Obviously, I have my own thoughts on the subject, but he reason I chose to jump on XML parsing is because the semantics of parsing XML are clear, and can be translated by a machine, either via S-expressions or by parsing the W3C's textual representations of state machines.
Similarly, making an Oracle SQL parser is ENTIRELY mechanical. Admittedly, that task is a bit more involved, since the grammar is more complex. But that grammar is entirely specified by their own state machine language. But what you want, ultimately, is a program that accepts Oracle's state machine diagrams and renders a parser for the grammar they embody.
Finally, what you're describing is the worst of all possibilities: poor architecture intended to solve a problem the developer doesn't understand. Bugs can be squashed if the right architecture for a parser is in place. But if you are entirely clueless, and don't realize you need SOME kind of state machine to solve the problem, you're going to re-invent the wheel poorly. I am not surprised to see poor "short cuts". In fact, I am constantly disappointed by computer science flunkies trying to convince me that unit testing is sufficient rigor.
My point is that a developer who thinks making an XML parsing library is difficult isn't a very good developer. Bugs always happen, and it is usually a good idea to use libraries that have already gone though the bug fixing process. I do agree about that much. But XML is about as simple a nesting grammar as you can get, and still (almost) generate a Turing complete language (XML lacks a lambda.). Indeed, XML's grammar is formally equivalent to S-expressions, via a trivial syntactic transformation.
If I want to get REALLY tricky, I can just take a compliant Scheme parser, apply that transformation, and call it an XML parser.
I didn't say it would take me an hour. I said it would take a day or two. It takes freshmen a week or two to write MULTIPLE S-expression parsers and interpreters. I already know how to do it, so I'm not going to make a horrible architectural choice that destroys comprehensibility or maintainability. (Regular expressions are probably a bad idea, unless you're using them to model Hindley-Milnor and using a structural form very similar to HaXML's.)
And there were typically 2-3 low severity bug fixes per version, most of which are actually unrelated to XML parsing.
That's true, especially for computers. (That was what made me doubt that there would be active conditioning in UPSes in the first place). There's one circumstance where your summary might be wrong: if your power company isn't doing its job. If you have some time and supplies, try putting an oscilloscope into your mains power. (Please be safe. There is a safe way to do this.) You might be surprised how square and noisy the "sine" wave looks.
There are some electronic devices that require a lot more isolation from all that gunk than a generic power supply can create. Surprisingly, it can be cheaper to build a power amplifier and a high quality tone generator than to build/buy a custom passive power supply at the same power rating. After all, it's just a generic power supply, a "generic" tone generator and a "generic" amplifier glued together. Heck, in a sense every switching power supply pursues this tactic, though not to the end of creating sine waves. (The end is to create two sets of square waves that "mesh" like gears do to produce a steady voltage)
Well thanks for that suggestion, but I didn't mix anything up.
FreeBSD also has a minor history of merging good Apple tools in... FreeBSD is moving to (or has moved to) Apple's launchd initialization system over the old rc scripts. Apple uses the same user land tools that FreeBSD does, so far as possible (and it is very far, from a "command line" perspective.
In short, the only major differences between OS X and FreeBSD are (or soon will be): the kernel, and all that that entails (for example, OS X will eventually have ZFS, but not because FreeBSD does); Cocoa and the other Apple specific API's; ports package management instead of none.
Debian has clearly abstracted the kernel issue away. Apt is a ports replacement, so that difference is irrelevant. The only possible issue would be binary compatibility, which is relatively straightforward to solve. In fact, it is solved, since both use ELF and the same instruction sets.
Writing an XML parser in a few hours is impossibly difficult. Writing it in a few days is not. It's no harder than writing an S-expression parser. This is a task freshmen students are given in Introductory Scheme courses. (Typically, they get a few weeks to write parsers and evaluators, in order to implement a Scheme runtime, written in Scheme.)
The problem is that if all you've got is some code you don't understand and some tests, you don't really know whether it works. At most, you only know that it gives the correct answers in the specific cases you're testing.
Then your customers, who are using your product in other cases, will find bugs.
Surprisingly, laziness works in this regard, if you know some category theory (heh). If your data types are initial algebras, and you avoid side effects, you don't need tests beyond testing the induction steps. Bugs are 100% impossible, assuming you pass the initial test case, and the induction cases.
Are you *seriously* trying to equate the ability to understand one's own code with "a formal and rigorous proof"? Really? To that, all I can really say is: Wow. Please, get out of the industry. Now.
Speak to yourself. Every program is a constructive proof, via the Howard-Curry correspondence theorem.
Ignore that at your peril. You're only wasting everybody's time with "patterns", when what you really need is existential and universal quantification.
What? How do you get Spotlight to act as a calculator? You're not typing "calculator" into it, are you?
It's also nice to be able to use the Accessibility Options to zoom the screen in, so that you can operate the machine comfortably from your couch/bed. It's a bit limited compared to sitting at a desk, but very useful.
The government can prove that the car has been used substantially, and (I assume) for purported business purposes.
Every car has its mileage recorded for emissions testing...
Google uses real life, un-anonymized emails as test data when testing their data mining algorithms. This means that employees regularly read randomly chosen emails, as part of the process of testing a data mining algorithm is verification.
The vast majority of American capital is owned by the middle class. This, of course, is why a Wall Street crash is hard on retirees, and not really anybody else.
Nobody controls "economic resources" except the forces of supply and demand. Least of all, Wall Street, which is what I presume you are trying to get at. If Wall Street could control supply and demand, we would never have any economic troubles. The whole melt down was caused by a demand shock when banks started failing.
Presumably, you are whining that only a small minority of people are responsible for very large investments. But nothing is stopping you from joining them. All you need is a solid business plan, and they will loan you three times your current net worth, in order to pursue your idea. All they ask is that they get a cut, for their trouble. Heck, if you have good management experience and a solid business plan but not much capital, they'll finance your entire operation.
All it takes is the initiative to do it. Why should trillions of dollars just sit in bank accounts, doing nothing, when they can be put to work for the good of many, or even all? Because a few lucky/evil/etc people struck it rich?
Right; because there's no difference between someone who supports a family on $50k per year with no inheritance and someone who: blah blah blah
The point is, the middle class owns the vast majority of American capital. All savings is investment. This is a trivial accounting identity.
Your ideology isn't going to change that. Whining about the "owners of capital", when they're you and your friends and your family and neighbors is not productive. Calling the largest segment of the American population an "aristocracy" is utterly foolish.
I'm not going to discuss the bailouts, but this isn't as good a point as you think. Assuming you end up losing (even a little less than) a billion if you get tails, that's actually a good bet from a financial perspective. The expected value of the bet is greater than 0. Make this bet a thousand times and you will most likely end up ahead.
You "just" need a lot of cash flow to make it work in you favor, in the long term. This is how casinos operate, for example.
I do work in a related field (I am a "research analyst"). The whole point is to make bets that are beneficial to you. Because if you're placing lots of bets, statistically speaking under some modest assumptions, some will win and some will lose. And if you're making bets beneficial to you, you will win more from winning than you will lose from losing. On the one hand, this requires a certain amount of "risk tolerance" or even callous fearlessness about money and risk.
People often conflate this educated risk tolerance with something sinister. It's not.
We're better off with a competent government. After all, the military is already quite competent. If another civil war broke out, the military would already oppress us quite competently. So we've got the problems of competence with none of the benefits.
Don't be an idiot. Everybody with a bank account is an "owner of capital."
You still have machines capable of using IDE drives?
but now that I'd found a new button to press, my fun was just starting
Heh, the trim button, huh.
You can push a cache. It is basically what the government is doing, with Akamai.
But your accounting and web site is almost certain to be identical to any other businesses
Is that why I can't find any accounting software to deal with non-taxable stock dividend distributions from investment activities?
You don't know what you're talking about.
Because the vast majority of fiction that comes in novel form is utterly awful. That includes most "science fiction" and "fantasy", but also includes "modern literature". You know something is wrong when the only books you hear about from others in your age group is "World War Z", and the damn "Da Vinci Code" back when that was popular.
Older literature can be excellent, but it is also divorced from modern culture. It takes time and research to figure out what is worth reading, considering your interests. You can't just pick up a list of the "top 100" literary works and plough through them. Okay, you can, and would be bored out of your mind, wondering why you're reading about all the crap the Greeks took with them to Troy. (How many damn tripods was it, Homer?) This is a good option if you're willing to put in some effort.
Also, movies suck. 90 minutes is too short to develop an involved plot and good characters. But it is also too long to just sit there, on a plotless character-less story.
So what does that leave for fictional entertainment? Good serialized prime time TV series, some good serialized anime (and the manga it comes from, but that's a different story). PBS documentaries are also worth paying for. So are BBC documentaries, for that matter.
And finally, some of us already read over 2000 pages a week, and would like to NOT read for restful entertainment.
The biggest problem with that thinking is that you can make a DVR for this stuff out of any home PC with enough muscle- you don't need to pay for that functionality.
Servers and effort are free now? Hulu's finances ought to be in good shape then.
WARNING: Do not look at moon with remaining eye.
I am not trying to be an ass either. I suppose it is true that I am "arrogant". I do, however, think that you can make a workable solution to a simple problem in a short amount of time. As I said, there are already robust XML libraries out there, so choosing one is typically the best choice.
HaXML has been "in development" for 11 years, but you can be that less than a month of developer time has gone into it. As I said, most of the bugs on the changelog are not related to parsing XML per se, but parsing auxiliary formats. (The DTD shows up in 2/3 of those bugs. DTD's are not valid XML)
On the other hand, I take a bit of exception to being called arrogant. When I was a mathematician, mistakes were always "allowed", and yet, mathematicians (relatively) rarely make logical mistakes. Why is that? Because mathematical proof is a form of argument that can be read and verified. Because you can read off logical mistakes just by reading the proof. Approaching programming with the same rigor is not difficult. All it takes is mathematical rigor. In fact, I expect it, and am constantly disappointed by the Computer Science flunkies who mess up even simple reasoning.
Indeed, because of the Howard Curry Isomorphism theorem, you are committed to the position that people are incapable of doing simple mathematics, if you are committed to the position that people can't do simple programming tasks. That much is demonstrably false. People do mathematics, perfectly, the first time, every day.
Obviously, I have my own thoughts on the subject, but he reason I chose to jump on XML parsing is because the semantics of parsing XML are clear, and can be translated by a machine, either via S-expressions or by parsing the W3C's textual representations of state machines.
Similarly, making an Oracle SQL parser is ENTIRELY mechanical. Admittedly, that task is a bit more involved, since the grammar is more complex. But that grammar is entirely specified by their own state machine language. But what you want, ultimately, is a program that accepts Oracle's state machine diagrams and renders a parser for the grammar they embody.
Finally, what you're describing is the worst of all possibilities: poor architecture intended to solve a problem the developer doesn't understand. Bugs can be squashed if the right architecture for a parser is in place. But if you are entirely clueless, and don't realize you need SOME kind of state machine to solve the problem, you're going to re-invent the wheel poorly. I am not surprised to see poor "short cuts". In fact, I am constantly disappointed by computer science flunkies trying to convince me that unit testing is sufficient rigor.
Yup, that pattern looked like aurora solare to me. I just coined a term!
My point is that a developer who thinks making an XML parsing library is difficult isn't a very good developer. Bugs always happen, and it is usually a good idea to use libraries that have already gone though the bug fixing process. I do agree about that much. But XML is about as simple a nesting grammar as you can get, and still (almost) generate a Turing complete language (XML lacks a lambda.). Indeed, XML's grammar is formally equivalent to S-expressions, via a trivial syntactic transformation.
If I want to get REALLY tricky, I can just take a compliant Scheme parser, apply that transformation, and call it an XML parser.
I didn't say it would take me an hour. I said it would take a day or two. It takes freshmen a week or two to write MULTIPLE S-expression parsers and interpreters. I already know how to do it, so I'm not going to make a horrible architectural choice that destroys comprehensibility or maintainability. (Regular expressions are probably a bad idea, unless you're using them to model Hindley-Milnor and using a structural form very similar to HaXML's.)
And there were typically 2-3 low severity bug fixes per version, most of which are actually unrelated to XML parsing.
That's true, especially for computers. (That was what made me doubt that there would be active conditioning in UPSes in the first place). There's one circumstance where your summary might be wrong: if your power company isn't doing its job. If you have some time and supplies, try putting an oscilloscope into your mains power. (Please be safe. There is a safe way to do this.) You might be surprised how square and noisy the "sine" wave looks.
There are some electronic devices that require a lot more isolation from all that gunk than a generic power supply can create. Surprisingly, it can be cheaper to build a power amplifier and a high quality tone generator than to build/buy a custom passive power supply at the same power rating. After all, it's just a generic power supply, a "generic" tone generator and a "generic" amplifier glued together. Heck, in a sense every switching power supply pursues this tactic, though not to the end of creating sine waves. (The end is to create two sets of square waves that "mesh" like gears do to produce a steady voltage)
You already consented to being recorded. How would I be breaking the law by recording a conversation between us?
Well thanks for that suggestion, but I didn't mix anything up.
FreeBSD also has a minor history of merging good Apple tools in... FreeBSD is moving to (or has moved to) Apple's launchd initialization system over the old rc scripts. Apple uses the same user land tools that FreeBSD does, so far as possible (and it is very far, from a "command line" perspective.
In short, the only major differences between OS X and FreeBSD are (or soon will be): the kernel, and all that that entails (for example, OS X will eventually have ZFS, but not because FreeBSD does); Cocoa and the other Apple specific API's; ports package management instead of none.
Debian has clearly abstracted the kernel issue away. Apt is a ports replacement, so that difference is irrelevant. The only possible issue would be binary compatibility, which is relatively straightforward to solve. In fact, it is solved, since both use ELF and the same instruction sets.
Would you like to see a fully compliant XML parser, written in a few hundred lines?
http://hackage.haskell.org/packages/archive/HaXml/1.19.7/doc/html/src/Text-XML-HaXml-XmlContent-Parser.html
Writing an XML parser in a few hours is impossibly difficult. Writing it in a few days is not. It's no harder than writing an S-expression parser. This is a task freshmen students are given in Introductory Scheme courses. (Typically, they get a few weeks to write parsers and evaluators, in order to implement a Scheme runtime, written in Scheme.)