In building and designing a bridge, you're not going to have your boss walk in halfway through the construction and tell you that you need to use this new concrete that only comes from LargeHard(c). You're not going to build the bridge so that you can take it from a two lane bicycle bridge to a 12 lane, double decker toll bridge with a minimum of work. You're never going to have someone walk over the bridge and promptly say, "sorry, this river is actually 50 feet wider, and I don't like the color, can you change that?" And the question you should be asking yourself is why does civil engineering not have radical and constant requirements changes through the entire design process. The answer is: often they actually do, though not to the extent that some software projects do; and also they tend to have contracts that rule out last minute silliness -- or at the least make it rather expensive. Software developers bring it on themselves to soem extent by simply accepting all these changes. If someone comes to you with a last minute radical change, so no... or, at the least, say "yes, but it's going to cost you!".
I submit to you that some coders can make a mess of any language. Well yes, and some coders can write very clear easy to understand code in perl. On the other hand, there's really no reason to make it too easy for coders to make a mess, just because there are some who will make a mess no matter what you do. A bad coder can make a mess in any language, but for a good coder to make a mess, that takes perl (or, let's be honest, PHP).
Ah, so Canda has different ways in which is is massively less free than the US? I presume Australia (I know several people who got scholarships to universities there) is also somehow different. Come on, admit you were grasping at straws (I mean really, exactly how is ability to get university scholarships and immigrate a significant freedom). Just in case I'll mention that I also know people who got scholarships to UK and German universities and had no trouble getting into those countries.
I had no trouble getting scholarships to Canadian universities, and getting in was no problem either. I left grad school with slightly more money than I started. And really, I am no whiz-kid, so if I can do it, I'm damn sure that whiz-kids can.
Besides, being able to do 4-digit arithmetic in your head is hardly the best metric for mathematical ability. As one PHD in maths told me when I was teasing him for getting his change wrong in the pub: "Why would I need to get that stuff right? It is only occasionally I come across numbers anyway." I know very very few math Ph.D.s who are good at arithmetic, and having done a Ph.D. in math myself (and being at best of average competence at arithmetic, but probably below par) I know quite a few math Ph.D.s. Modern mathematics is about abstraction, structure, and pattern. In a particular case you can specialise down and consider the structure and patterns involved with numbers (they were, after all, one of the very first mathematical abstractions), but there are a lot more far more interesting structures you can abstract out from the natural world. Only the rare mathematicians who specialise in number theory find numbers at all intersting or particularly useful.
laws of the Israelites' God that have been countermanded by Christ's teaching to a much more simpler set of rules (completely love God first, completely love others second). Indeed, and I believe when asked "What more can I do?" Christ replied "Sell all you own and give the money to the poor". Unfortunately that particular commandment doesn't gel quite as well with free market libertarianism, so I'm presuming you're going to either ignore or "interpret" (as in, read it to mean "well, donate a little of something to charity, but obviously don't sell all you own" or some such) that one.
...to develop software that has "the same or substantially the same features or functionality" as the.NET Framework ; as long as it's still on Windows...Very obviously a "back off!" clause for Mono and dotgnu. Which is sad really. Only Microsoft could see such a requirement as good, and herein lies the problem of the monopoly. Ultimately.NET is a (relatively) nice programming framework and set of libraries, and were it developed by anyone but Microsoft they would welcome attempts to expand it's availability. Pretend.NET was developed by a small company that had focussed just on the Windows platform. If they were going to open source the libraries, the first thing they'd be doing is ensuring license compatability with Mono so they can expandtheir market. Hell, look at anyone other than Microsoft who do.NET stuff, like Chrome, or the.NET compiler for Eiffel: they both put in significant work to try and make sure they work with Mono (I believe the Eiffel guys actually have active discussions with the Mono team). In any sane world this would be the thing to do, it's only in Microsoft monopoly land that these sorts of license restrictions make any sense whatsoever. Which really shows you some of the ways the MS monopoly is holding the industry back.
The story of Galileo is a tad more complicated than the simplistic version we're used to. I'm no Roman Catholic, but this meme needs to be corrected. The incident still had rather significant impact of course. For example, apparently Descartes held back from publishing his comprehensive book of physics "The World" upon learning of Galileo's problems. Instead he published portions of it that he thought would be acceptable to the church. Indeed, Descartes career was shaped considerably by his efforts to not upset the church, resulting in large amounts of his philosophy and science being witheld; exactly how much we'll never know. One could suggest similar things of Leibniz, whose public philosophy seemed to differ greatly from what little we know of his private philosophy (which the church would have found rather more troubling). The whole incident apparently put a significant restraining force on science and philosophy of the time.
Actually, the US dollar is plummeting because of a very costly military expense...Oil prices skyrocket because of huge demand (China)...But this has been going on for years. Indeed, it's been on a slow but steady boil for a long time: I wrote about these problems back in 2004. What I find more worrying than the problems themselves, however, is how blithely they've been ignored for the last 5 years or more. It really didn't take a genius to see these were potential issues that were only getting steadily worse (if I could see it, surely anyone could). It required little or no insight to see that, while they weren't presenting an immediate problem, if nothing was done they would simply simmer away under the surface getting worse and worse and waiting for some catalyst to really bring them to the fore. Despite the obviousnes of this, however, US politicians and US media seem to have been happy to largely ignore them. Indeed, even with the arrival of an appropriate catalyst there seems to be little or no interest in the deeper underlying issues that, as you say, have been going for years.
Religion is not the only dangerous thing and making religion go away will not solve the problem. Very true, but that doesn't mean becoming free of religion wouldn't be a good thing; it would be removing one more dangerous aspect of our culture. Humanity growing out of religion wouldn't suddenly turn the world into a utopia, but it would make the world a slightly better place.
Science explains how things work. It expounds theories about how we can make certain things happen consistently. What it does not answer is *why*. That is where religion (or philosophy in general) comes in. You are so close. That is indeed where piholosphy comes in: to answer those why questions. Religion doesn't seek answers to those questions though, it just sits back and declares that it already has them. Religion is essentially just fossilized philosophy; philosophy that comes pre-hobbled with incontrovertible dogma. If you want answers to why questions (and that's a reasonable thing to as for) then by all means turn to philosophy; just leave theology out of it, since it's just bad philosophy ("Intellectual tennis without a net" to quote Dan Dennett), and we can do a lot better if you really want good answers to "why" questions.
I'm inviting a flame war here, but isn't math - at least in the sense that we teach it - an artificial construct that we invented to describe our observations? Math can contain theories, but I don't think it could ever be classified as one because we actually know what it is. It's not quite that easy unfortunately. Exactly which math is the right one? And if you're confused by that, look into the disputes between, for example, Brouwer and Hilbert, or Cantor and Kronecker. There aren't really any truly solid foundations for math; for now most mathematicins are happy with ZFC in as much as it does the job well enough, but there are no guarantees it is "right"... or even any guarantees that "right" has any meaning. NBG set theory will do just as well, or you could look into Topos theory and find a foundation that lets you choose from any number of different local set theories and logics. The math we teach in school is a theory, loosely based on a particular axiom set we happen to have found fairly effective.
Dijkstra defined the best criteria I've ever seen for what makes it possible to reason about a chunk of code (embodying an algorithm) successfully: can you point to any execution point and write down a correct invariant expression of what must be true whenever that execution point is crossed? This is the reason why I adopted the practice of writing code like this... For me it makes a language like Eiffel, which actually lets me write down invariants (for loops, for functions, and for objects) as part of the code that will (1) get used in testing (2) properly get handled in inheritance cases etc. (3) get used automatically in the API documentation. It makes things nicer for all involved (your assumed invariants will get checked in testing, and anyone else using your code will get the benefits of your documented invariants both in the documentation and in testing.
Re:Is there a hidden 3rd party?
on
Negroponte vs Intel
·
· Score: 3, Insightful
I think you can go further: the OLPC was designed from the ground up to be an educational tool. The function of educatign kids was pretty much always foremost in mind with regard to everything about the laptop, from hardware to software. Ultimately the OLPC is an educational device which happens to bear some similarities to a laptop because that was the best technological base on hand at present (if Negorponte could have delivered "The Young Ladies Illustrated Primer" from The Diamond Age instead, I'm sure he would have).
Comparing the OLPC to low priced laptops is an apples and oranges comparison. You are comparing an educational device for kids to a general purpose computing device with no specific user in mind. They just aren't comparable.
Re:The best tools stay out of the way...
on
Goodbye Cruel Word
·
· Score: 2, Informative
I'm writing my dissertation (60 pages done so far) in Word 2007. The new equation editor makes it far better at this than Word 2003 and it accepts most LaTeX syntax as well. I'm actually finding it easier than LaTeX because of this - I type my type, I type my equations, and Word takes care of most of the other drudgery for me. I don't have to deal with issues of markup, as in LaTeX. It's nice that Microsoft has finally started to fix the input mechanisms for equations, and even the display is much improved -- though still rather ugly compared to TeX. Ultimately thought TeX and LaTeX are about more than just entering equations easily (though it is certainly excellent for that); it's about exactly what things like WriteRoom are about: getting out of your way and just letting you write. No worrying about formatting and such while you're writing; you can do all of that either beforehand, or when you're done by mucking with the preamble to your heart's content. No worrying about equation and theorem numbering and references thereto; just write, with tags and references, and everything is taken care of. I wrote my thesis in LaTeX; the beauty was that I could then extract relevant segments (via cut and paste) and compile them into papers to submit to journals. There was no need to worry about renumbering theorems, rechecking citations, or reformatting everything for the journal's house style (a simple change to the documentclass immediately took care fo that).
If for some reason the markup (which, ultimately, is a case of letting you just type) is a pain, then consider using something like Kile or TeXlipse which take all the pain out of writing and managing large LaTeX documents with autocomplete and a whole host of other powerful features.
I don't have the text in front of me, but from the wikipedia article on Paths of the Dead: The only weapon that they required was fear... ...and surprise. The only two weapons they required were fear and surprise, and an almost fanatical devotion to the King of Minas Tirith. Three. The only three weapons they required were fear, surprise, and an almost fanatical devotion to the King of Minas Tirith, and a bright green spectral glow. Wait. Amongst their only weapons were... I'll come in again.
Short answer: yes. About the first 1000 theorems or so are purely logical; propositional logic, predicate calculus, etc. It follows Principia Mathematica relatively closely for the early part. ZFC doesn't arrive till theorem 4586 (which introduces the axiom of choice and gives you all of ZFC at last).
Almost nobody will read proofs. Britannica has no proofs. I think proofs at Wikipedia are doomed. But we need something that supports proofs. It should not be in the form of bitmap graphics, like wikipedia. It should be semantic web content, which can be automatically verified, and used by theorem proving programs as well as by human readers. Something very muh like that exists at metamath. Of course metamath is more interested in foundations (building everything up from just ZFC and basic predicate logic), but it does get as far as Hilbert spaces and such, and has the facility, at least in theory, to extend to any particular field you wish to claim; it is all a matter of adding the necessary extra definitions for whatever sorts of mathematical objects you wish to consider.
Saddam Hussein was perpetrating a fraud on everyone because the belief of him having WMD was almost as good as actually having them. The belief that you have weapons of mass destruction seems to end up with your country invaded, your rule overthrown, and you executed (see Saddam Hussein). On the other hand actually having weapons of mass destruction apparently results appeasement and foreign military generally staying well clear of your country allowing you to continue ruling your totalitarian fantasy land (see Kim Jong Il). Based on that saying belief that you have WMD is almost as good as having WMD is akin to saying that being totured and killed is almost as good as living in your own private paradise. That is, I'm not sure almost means what you think it means.
style is one eternal point of contention (except for python programmers, but they're in a straight jacket) I would hardly call being forced to actually indent your code a "style straight-jacket". Try coding in Eiffel sometime -- there aren't requirements on indentation, but there's pretty much "one way to do things"; Looping constructs? If we make a single general one if should be good enough for everyone; and so on. On the other hand, pretty much all the Eiffel code I've ever had to read has been impeccably clear and easy to understand, with very consistent style across a wide variety of different authors. If I had to inherit a software system to maintain, I think I'd be very happy if it had been written in Eiffel (or Ada for that matter, it seems to promote a similar level of clarity and consistency).
They should encode their increadibly valuable content by moving it to the/dev/null 'encoder'. That way, nobody will ever be able to view even a split second of their content without paying As a side benefit,/dev/null has a truly stunning compression. As long as they use/dev/null they could fit staggering amount of content onto their servers....
And not a computer scientist? Nobody's forcing him to stay in that job. If he was good enough to teach, he could have gone and also done the "computer scientist" job, but he / she didn't. Why not? Its called RISK AVERSION... otherwise known as fear of uncertainty. Having to provide goods rather than just preach a doctrine is different. Right, and by paying teachers not even close to the same sort of salary a competent individual in the field can make, we ensure that the only people who go into teaching are the risk averse and the least competent. The reality is that teachers do have to provide the goods, where the goods are educated students who have developed a good grasp of the material. You can argue (as you do in the rest of your post) that teachers don't do this, and I might well agree with you. But then if you're in the market and the people you hire consistently fail to deliver the goods, what do you do? Ideally you start hiring better people who, though they might cost more, can actually deliver. By saying "teachers do a poor job, so we shouldn't pay them much" you just ensure that the only people who will go into teaching are exactly the risk averse people who are poor teachers -- the position holds limited appeal for anyone else. I'm sorry you didn't have any good teachers. Your experience, does not, however, mean that good teachers don't exist. It simply means that no-one capable of being a good teacher was willing to accept the pay and work conditions of teaching in the sort of high schools you went to...
Re:Perl 6: The Language of the Future (... Forever
on
State of the Onion 11
·
· Score: 1
I'm not saying that ugly Perl doesn't exist, because it sure as hell does. Perl does not enforce any coding standards at all on its programmers, so undisciplined coders will write undisciplined code, but I'd rather be in Perl's side of the enforcement continuum than, say, Java's or Python's side. I think which side of the enforcement continuum looks appealing is generally a function of the sort of project you're working on. The more programmers who all have to cooperate and work with each others code, and the greater the importance of long term maintenance, the more appealing strict enforcement becomes. Conversely, the more important rapid expression and development of ideas is, the more appealing lack of enforcement and flexibility in how you express things becomes.
So yes, if you have a big project with lots of programmers, and the expectation of ongoing maintenance work by people other than the original coders, then having strict enforcement, and hence clarity and consistency throughout, looks very appealing. Sure, you can fit a flexible language to the task by writing a big document of official coding standards and guidelines and spending time going through code as people submit it to make sure it meets the guidelines; on the other hand you can just have the compiler to that work for you. This is why Java is more popular for large scale enterprise applications etc.
Also, yes, if you just need to write a quick program to do some processing, or play around with some prototypes to clarify your ideas, etc. then the compiler complaining every time you don't manage to squeeze your thinking into the appropriate idiom is just kind of annoying and slows you down. This is why perl remains very popular: if managing to get ideas into code as fast as possible is of primary concern, then it's probably at least as good a choice as any.
There is no "better", merely what sort of concerns matter most for the project.
In GNOME you can not open files with applications isn't officially GNOME sanctioned to open those files, and there is no way to change that Yes, there is. Select a file, right click and select Properties. In the Properties window there is an "Open With" tab which lists all the programs that are currently registered for that file type, and lets you select the default program. At the bottom there is a button "Add". Click that and it will bring up a list of applications, as well as a little expander for "Custom command" which will allow you to enter absolutely any arbitrary command you wish to run. Stick whatever program you want there, hit okay, and lo and behold that program will be in the "Open With..." options for files of that type from then on. Not that hard really.
Linux as it is now will NEVER be any sort of viable replacement to Windows. The biggest problem Linux has is its lack of a central authority. There are too many distributions with low standardization. Ultimately that is simply an artifact of the current niche status of Linux. If linux ever started to get real traction and market share on the desktop do you really think this would still be the case? The reality is that if linux gets popular on the desktop it will be a few particular distros, maybe Ubuntu, Redhat and Novell at most. And those 3 distros will be all the avergae public will know of linux -- the other distros will continue to exist of course, in their small market niches, but no-one except the people who currently use them will have to know or care about them. Standardising on just a one or two distros is something that will simply inevitably happen as linux becomes more popular, no one will actually have to do anything to make it happen.
Ah, so Canda has different ways in which is is massively less free than the US? I presume Australia (I know several people who got scholarships to universities there) is also somehow different. Come on, admit you were grasping at straws (I mean really, exactly how is ability to get university scholarships and immigrate a significant freedom). Just in case I'll mention that I also know people who got scholarships to UK and German universities and had no trouble getting into those countries.
I had no trouble getting scholarships to Canadian universities, and getting in was no problem either. I left grad school with slightly more money than I started. And really, I am no whiz-kid, so if I can do it, I'm damn sure that whiz-kids can.
So that would be "interpret" in the guise of "contextualise" then.
...to develop software that has "the same or substantially the same features or functionality" as theI think you can go further: the OLPC was designed from the ground up to be an educational tool. The function of educatign kids was pretty much always foremost in mind with regard to everything about the laptop, from hardware to software. Ultimately the OLPC is an educational device which happens to bear some similarities to a laptop because that was the best technological base on hand at present (if Negorponte could have delivered "The Young Ladies Illustrated Primer" from The Diamond Age instead, I'm sure he would have).
Comparing the OLPC to low priced laptops is an apples and oranges comparison. You are comparing an educational device for kids to a general purpose computing device with no specific user in mind. They just aren't comparable.
If for some reason the markup (which, ultimately, is a case of letting you just type) is a pain, then consider using something like Kile or TeXlipse which take all the pain out of writing and managing large LaTeX documents with autocomplete and a whole host of other powerful features.
Short answer: yes. About the first 1000 theorems or so are purely logical; propositional logic, predicate calculus, etc. It follows Principia Mathematica relatively closely for the early part. ZFC doesn't arrive till theorem 4586 (which introduces the axiom of choice and gives you all of ZFC at last).
So yes, if you have a big project with lots of programmers, and the expectation of ongoing maintenance work by people other than the original coders, then having strict enforcement, and hence clarity and consistency throughout, looks very appealing. Sure, you can fit a flexible language to the task by writing a big document of official coding standards and guidelines and spending time going through code as people submit it to make sure it meets the guidelines; on the other hand you can just have the compiler to that work for you. This is why Java is more popular for large scale enterprise applications etc.
Also, yes, if you just need to write a quick program to do some processing, or play around with some prototypes to clarify your ideas, etc. then the compiler complaining every time you don't manage to squeeze your thinking into the appropriate idiom is just kind of annoying and slows you down. This is why perl remains very popular: if managing to get ideas into code as fast as possible is of primary concern, then it's probably at least as good a choice as any.
There is no "better", merely what sort of concerns matter most for the project.