It's like a weatherman predicting rain in Washington state... "it's going to rain sometime this month." By golly he was right it did rain this month! Predicting economic expansions and collapses in vague terms is about as useful. I will now make a set of predictions myself:
There will be a massive killer earthquake somewhere someday.
A volcano will erupt and cause massive damage somewhere in the Pacific rim... eventually.
A US president will get impeached eventually.
A supreme court justice will step down.
Slashdot will report sensational tech stories foreboding the collapse of the tech industry.
I usually hate on Apple for not having "compatible" hardware. Their tight control on hardware may enforce quality user experience but it forces Apple hardware prices up. I usually hate on Apple for braking backwards compatibility forcing geeks to upgrade their OS and their software. I usually hate on apple for the horribly annoying happiness that Apple users all seem to have. They annoy me as much as Big Bird annoys Oscar the Grouch.
The dedicated physical button represents a command or concept that sits on top of the user experience. Floating over it. As the user changes computing context the button floats there un-changing and pulling the user from the context they are using in at that moment. So Jobs' answer is to eliminate all buttons.
Damn it, Jobs is right on that one. Buttons suck. And, he has just enough arrogance to believe that he can banish them. Because he's Steve Jobs he just might banish them for at least one small annoyingly happy segment of the computing community. They'll have problems of their own... like when software crashes and you can't turn the thing off because the off button is software... but they won't complain because they'll all be shiny happy people holding hands. No one dare disagree in happy Apple land.
Curse you Steve and all your annoyingly happy followers. Oscar and I like our button-y mess.
It's not big, and it's not c++, but I think the prototype Javascript library is a pretty good example of where brevity, functionality and "prettyness" should meet in code. I'll second that. I think in the case of prototype the natural forces of browser compatibility issues, bandwidth, and peer review have created a beautiful library. If the library wasn't "pretty" it wouldn't survive.
I was able to use if statements in school, before I entered university and studied boolean logic, so you shouldn't be math genius to use it. I'm not advocating that every programmer be a math genius. I am advocating that every programmer study math. I don't care if programmers are very good at math, just study math. Learn that there are such tools as boolean algebra and truth tables to name only one.
I have worked on legacy code developed by self taught programmers that don't have the benefit of the training or mathematics background that you and I have. What I find in these code bases is quite disturbing.
which reduces to one simple boolean statement. Typically these will not have single function calls in them but have several pages of code between each bracket. Often the "statement2" will be cut and pasted repeatedly because the original developer was either lazy or stupid and didn't think to use a procedure call. Then comes a bug report that is intermittent and hard to trace.
And lest you think I'm only talking about if statements, consider complexity analysis, sorting, database design, and architecture. You can do all of these things without the math background. You can do 3D graphics using only sine, cosine and triangles without ever using a matrix. But, would you want to? Isn't life easier knowing about matrix algebra? Maybe you aren't a whiz at matrix algebra but you at least know there's an easier way to move that render in 3D than adding dx, dy, and dz over every point one at a time... then subtracting them... calculating the spin of the object and computing each arch of each point around the origin... then adding back dx, dy, and dz to move the object in space.
You don't have to be a math genius, just know what's going on.
"The notion of the algorithm," he concludes "simply does not provide conceptual enlightenment for the questions that most computer scientists are concerned with."
The assertion that computer science is not math is similar to the assertion made in the book "The World is Flat" saying the world is now "flatter" than it used to be. In the case of the flat world, Friedman (the author of "The World is Flat") claims the world is flat to create a sense of shock that he can then use to get his message about globalization across. In the case of "computer science is not math" Fant here is trying first to shock as a method of capturing attention...
Most Americans use math in the singular. The Brits say maths. That is because there are multiple branches of mathematics. What we are discovering is that the tie between arithmetic and calculus and computer science is falsely reinforced. The fact is there are other branches of mathematics that are more important to computer science. There are also many new branches of mathematics that need to be developed in order to solve the new kinds of problems we are trying to solve in modern computer science.
I am really bothered by programmers who, when I interview them, say they have been writing software for years and can't remember ever having to use math.
I know they can't possibly mean that... or they don't know what math is...
I know that in several years of programming you must have at least been tempted to write an if statement or at least one loop of some kind.
The if statement uses a form of algebra called boolean algebra. It was named after George Boole who was very much a mathematician. I know that there are many programmers today who use the if statement and this form of mathematics makes up a large part of many programmer's jobs. I guess it must be falling out of fashion.
I know how to perform boolean algebraic operations on a white board and I have many times been confronted with a gigantic morass of if and else if statements and using simple truth tables and a little boolean math have reduced enormous sets of ifs down to just a few.
The new computer science needs to focus on solving problems involving processes. Processes are like algorithms in that they have a set of instructions but they are unlike algorithms in that they also have many temporal components and may exhibit parallelism, asynchronous invocations, and may not have a finite product. These are the types of problems addressed in newer mathematic disciplines that are trying to see information processes not as tied to computing machinery but as tied to the natural world.
Computer Science may point to a new kind of science that describes an underlying natural computational order of the universe. We are starting to observe computational processes everywhere, in the brains of animals, to the interactions of ecosystems, to quantum mechanics. We may lack the right mathematics to describe these things and we may have to invent new kinds of math but that doesn't mean that math becomes unimportant. An understanding of math can help when studying logic and so too would it help in studying any new disciplines that we may need to invent.
New kinds of math are invented every day to describe new kinds of problems. To say you don't need math to study any formal science let alone computer science is just silly. It is just something shocking to say that grabs attention... and the article nearly contradicts itself by the end... and it's only 7 paragraphs. The distinction Fant makes is nearly academic. Just as the distinction between a Statistician, a Geometer ( a mathematician who studies geometry ), and a Logician is academic. Yet that is not what the readers of the headline will read... Fant is arguing to make computer science a new kind of science much as Wolfram has. Yet it would be sil
I read this forum and I see the influence of Star Trek. If the Rare Earth Hypothesis is true, then alien visitation is a bad omen for us. Read some Kurzweil I'm certain other sentient life would just as inevitably run up against the technological singularity... unless computers are for some strange reason peculiar to humans. I would think any race facing extinction would have to weigh the cost of fostering their own technological singularity... or wiping out another race to survive long enough to realize their singularity.
Yeah, I'm with you. This article should create a resounding "DUH" in the geekosphere. Sadly, some peter-rabbit out there in the media burrow is probably freaking out over this article.
Seriously: don't be retarded. TFA was an article about security. That doesn't mean that security is the only possible metric with which to compare OSes. It doesn't mean security is the only thing that matters. It just means that that was the metric that TFA was studying. Dude. Seriously, I'm totally switching to Windows now. Because I base all my decisions on knee-jerk reactions to single studies that only measure one aspect of a system.
Open source programs are typically not well-commented and searchable enough for a capable outsider to improve upon without significant investment of time. Goddammit, Sir, why did you have to post after I used all my mod points? You have provided, not only for the OSS world but developers in general, the single most important point when it comes to maintainability. The number one reason I've not contributed to more open source projects is that when I do contribute my changes are mostly ignored. So I drift off to another project and say okee dokee I guess you don't need my contributions after all. Oh! Look shiny.
I would probably respond better if the "master contributors" taunted me for how crappy my code was instead of being flatly ignored. Software in an online community (it would seem then) is about fostering a desire to contribute and that might come from people getting a response from making a contribution. In other words fostering community.
And, BTW: I'm pretty sure this whole thread is drifting Off Topic...
After reading this report I've decided to abandon my 11 years of Unix experience and head back over to Windows. Clearly when I made the switch to Unix/Linux/BSD systems back in the 1990's I was misinformed by my years of experience working on windows and suffering with viruses and vulnerabilities. I must have just jumped on the whole Intarweb band wagon. Silly me.
Clearly it is all just about security and nothing to do with lighter faster operating systems tailored to specific purposes. Nobody cares about focused tool sets. Nobody cares about vendor independence. Nobody needs to have a system open enough that you can get at every aspect of the OS because nobody develops software that could possibly need that level of understanding. Nobody cares about a free, open, and stable software development suites... Nobody really cares about precisely tuned servers in clusters... or embedded systems... or monotonic scheduling...
I certainly don't. Not after this study. No sir. I'm making the switch now. Yep. Don't try and talk me out of it.
Go back a second year and see if you can't finagle a second degree. For example many CS degree curriculum are only two or three classes shy of a math degree if your school counts classes like formal linguistics as math classes.
Hate for Windows comes automatically the first time a Windows Programmer sees how bad the wool has been pulled over their eyes when they finally have a chance to do Linux programming. I'm honestly not trolling here but could you elaborate on that? (or is it one of those "if you have to ask, give up right now" things?;) ) I've erased several pages I had written... who's going to read all that? So, instead a bullet list:
symbolic links
The power of pipe: you can pipe output of one program to another...
STDIN, STDOUT, STDERR are all standard and work well.
everything is a file means everything is easy to get at...
$/dev/video0 > video.mpg
captures video to your hard drive... c'mon! You gotta admit that's cool!...that means whatever hardware you are using you just use the file for it.
free SDK
free documentation
Posix is non-stupid
IPC is multi-process programming made simple
Whatever your of choice programming language you can write desktop applications that use the window tool kit of your choice.
you can use Eclipse if you want to... or not...
If you need to use socket streams networking you can
Beryl rocks. Flaming windows are cool.
To be fair many Linux programs suck. They suck really really bad. But many are absolutely genius. Some Linux tricks simply can't be done with the same elegance on Windows. And by elegance I mean, fast, secure, and easy to understand and modify. You can write your own PVR in Linux using shell scripts... you can write shell scripts to do anything you want when a USB key is inserted... anything... not just pick from a list of approved actions... anything... think about that.
The fine and the bond are different issues. The DOR said it will compromise on his fine which apparently is negotiable. The (refundable) bond however applies to anyone with a fuel license to hang over their heads and make sure they pay their taxes. This only happened a month ago, so it isn't surprising that the legislators haven't leapt into action yet. Now that it has been made more public I expect something may be done. So we could see a result where the bond (which I gather is a license to make fuel) could be waived if you produce less than a certain amount... and the DOR could waive fines for bio-diesel as a matter of policy. That would seem fair. But what about the federal law?
If you can take in air and water, cleaning them as they came in... you could conceivably have a geo-thermal powered underground habitat that could be expanded and run for thousands of years provided that the geo-thermal power could provide you with enough juice to scrub the dirty water and air you needed. I suppose you could just dump your waste out into the irradiated environment if there were waste products you couldn't do anything with.
Naturally the group would have to continually engage in enlarging the original living space. Consider how large this structure would have to be. 200,000 people in a bio-dome type environment? What basis should we use to determine the number of square feet per person? Feral deer need about one square mile per deer to roam around in. You wouldn't expect a deer to live in a bottle. So humans need a similar proportional space.
How much space would a feral human need to roam about in? Have previous bio-dome type experiments taken into account the natural range of a feral human?
Don't you think Biosphere 2 pretty much disproved that theory? Well, I suppose it doesn't have to be a closed system. You would just have to make sure that you properly screened or decontaminated anything the pseudo-biosphere took in. Hopefully you could get away with taking in air and water... is it possible to clean irradiated water? Wait, can you de-irradiate substances?
Does it help that the state version of the IRS is trying to get him out of the fine because even the tax man seems to disagree with taxing biodiesel? From the article:
The state Department of Revenue, which fined Teixeira, has asked legislators to waive the $2,500 bond for small fuel users. The department also told Teixeira, after the Observer asked about his case this week, that it will compromise on his fine. Apparently the people responsible for carrying out the fine can't get the people responsible for drafting the laws to lift the fine... typical government run-around.
All that withstanding, what the heck? Where's the hole I'm missing?
Actually, it's quite simple. The state wants tax dollars to pay for roads. All cars drive on roads... even bio-diesel cars... from the article:
With its 29.9-cent a gallon gas tax, the state collects $1.2 billion each year to pay for road construction. ...and there certainly is a lot of road construction in this state in response to the mushrooming population. Land prices are still rising fast enough to double every five years due to incessant demand for more housing.
The unfortunate truth is that governments tend to react slowly and tend to not be very smart. This poor guy is... well let me just quote the article again...
Teixeira says revenue officials are just doing their jobs. But he thinks it's unfair that he was lumped with people who purposely try to avoid fuel taxes. ...lumped in with those who are trying to dodge legitimate taxes because the law does not yet recognize the nature of the issue. It's not like there's a bio-diesel tax or anything... the guy's just driving on roads and not paying the taxes that pay for the roads.
... and did you miss:
He has been told to expect another $1,000 fine from the federal government. ... that means North Carolina isn't the only ignorant government at work here the Federal government wants its cut too! That would have been so even if the fella lived in Georgia or South Dakota. I'm sure the Federal tax has the same rationale and same flaw.
No, you'll only need that if you're using vim instead of emacs.
Damn you bloated editor lover! vim is all you need to do Ajax development! Bah! Kids today. And, if little Stevie Jobs wants to ship a device you have to hack around with vim to create Ajax apps for that's fine by me. All coding is just shoving text around anyhow.
You kids are lucky you can actually see the characters on your screens! I had to use a compass to read the bits from a giant metal drum. I'd kick the thing on a potter's wheel and use two magnets to write my inodes by hand. We did our computation on a chalkboard. Gawd help you if there was a memory leak and you ran out of drum space... you'd dump a whole different kind of core then kiddo!
Suddenly people stop talking while driving? That would be revolutionary.
Instead of talking on their phones while driving they're surfing while driving! Whee! Ajax! Watch out for that Tree! Whee! I'm surfing while I'm surfing in my car! Whee! Flash! Whee! Gmail! Whee! Progressive.com? I have an accident to report!
Remarkable. They keep rediscovering this new theory from a decade ago. I suppose it is relatively new on the 62 million year time scale.
I suppose the unique thing this time around is they are pegging the extinctions directly to increased radiation.
Hyperspace with Sam Neill had a segment talking about just this.
It's like a weatherman predicting rain in Washington state... "it's going to rain sometime this month." By golly he was right it did rain this month! Predicting economic expansions and collapses in vague terms is about as useful. I will now make a set of predictions myself:
There will be a massive killer earthquake somewhere someday.
A volcano will erupt and cause massive damage somewhere in the Pacific rim... eventually.
A US president will get impeached eventually.
A supreme court justice will step down.
Slashdot will report sensational tech stories foreboding the collapse of the tech industry.
Gas prices will go up.
People will die.
Taxes will be paid.
I usually hate on Apple for not having "compatible" hardware. Their tight control on hardware may enforce quality user experience but it forces Apple hardware prices up. I usually hate on Apple for braking backwards compatibility forcing geeks to upgrade their OS and their software. I usually hate on apple for the horribly annoying happiness that Apple users all seem to have. They annoy me as much as Big Bird annoys Oscar the Grouch.
The dedicated physical button represents a command or concept that sits on top of the user experience. Floating over it. As the user changes computing context the button floats there un-changing and pulling the user from the context they are using in at that moment. So Jobs' answer is to eliminate all buttons.
Damn it, Jobs is right on that one. Buttons suck. And, he has just enough arrogance to believe that he can banish them. Because he's Steve Jobs he just might banish them for at least one small annoyingly happy segment of the computing community. They'll have problems of their own... like when software crashes and you can't turn the thing off because the off button is software... but they won't complain because they'll all be shiny happy people holding hands. No one dare disagree in happy Apple land.
Curse you Steve and all your annoyingly happy followers. Oscar and I like our button-y mess.
For the sake of the industry, I hope you get different answers every time you ask... at least I hope you get new answers.
I have worked on legacy code developed by self taught programmers that don't have the benefit of the training or mathematics background that you and I have. What I find in these code bases is quite disturbing.
A very typical example of what I might run into:
if (a) { if(!b) { statement2; } else { if(!c) { statement2; } else { statement1; } } } else { statement2; }
which reduces to one simple boolean statement. Typically these will not have single function calls in them but have several pages of code between each bracket. Often the "statement2" will be cut and pasted repeatedly because the original developer was either lazy or stupid and didn't think to use a procedure call. Then comes a bug report that is intermittent and hard to trace.
And lest you think I'm only talking about if statements, consider complexity analysis, sorting, database design, and architecture. You can do all of these things without the math background. You can do 3D graphics using only sine, cosine and triangles without ever using a matrix. But, would you want to? Isn't life easier knowing about matrix algebra? Maybe you aren't a whiz at matrix algebra but you at least know there's an easier way to move that render in 3D than adding dx, dy, and dz over every point one at a time... then subtracting them... calculating the spin of the object and computing each arch of each point around the origin... then adding back dx, dy, and dz to move the object in space.
You don't have to be a math genius, just know what's going on.
"The notion of the algorithm," he concludes "simply does not provide conceptual enlightenment for the questions that most computer scientists are concerned with."
The assertion that computer science is not math is similar to the assertion made in the book "The World is Flat" saying the world is now "flatter" than it used to be. In the case of the flat world, Friedman (the author of "The World is Flat") claims the world is flat to create a sense of shock that he can then use to get his message about globalization across. In the case of "computer science is not math" Fant here is trying first to shock as a method of capturing attention...
Most Americans use math in the singular. The Brits say maths. That is because there are multiple branches of mathematics. What we are discovering is that the tie between arithmetic and calculus and computer science is falsely reinforced. The fact is there are other branches of mathematics that are more important to computer science. There are also many new branches of mathematics that need to be developed in order to solve the new kinds of problems we are trying to solve in modern computer science.
I am really bothered by programmers who, when I interview them, say they have been writing software for years and can't remember ever having to use math.
I know they can't possibly mean that... or they don't know what math is...
I know that in several years of programming you must have at least been tempted to write an if statement or at least one loop of some kind.
The if statement uses a form of algebra called boolean algebra. It was named after George Boole who was very much a mathematician. I know that there are many programmers today who use the if statement and this form of mathematics makes up a large part of many programmer's jobs. I guess it must be falling out of fashion.
I know how to perform boolean algebraic operations on a white board and I have many times been confronted with a gigantic morass of if and else if statements and using simple truth tables and a little boolean math have reduced enormous sets of ifs down to just a few.
The new computer science needs to focus on solving problems involving processes. Processes are like algorithms in that they have a set of instructions but they are unlike algorithms in that they also have many temporal components and may exhibit parallelism, asynchronous invocations, and may not have a finite product. These are the types of problems addressed in newer mathematic disciplines that are trying to see information processes not as tied to computing machinery but as tied to the natural world.
Computer Science may point to a new kind of science that describes an underlying natural computational order of the universe. We are starting to observe computational processes everywhere, in the brains of animals, to the interactions of ecosystems, to quantum mechanics. We may lack the right mathematics to describe these things and we may have to invent new kinds of math but that doesn't mean that math becomes unimportant. An understanding of math can help when studying logic and so too would it help in studying any new disciplines that we may need to invent.
New kinds of math are invented every day to describe new kinds of problems. To say you don't need math to study any formal science let alone computer science is just silly. It is just something shocking to say that grabs attention... and the article nearly contradicts itself by the end... and it's only 7 paragraphs. The distinction Fant makes is nearly academic. Just as the distinction between a Statistician, a Geometer ( a mathematician who studies geometry ), and a Logician is academic. Yet that is not what the readers of the headline will read... Fant is arguing to make computer science a new kind of science much as Wolfram has. Yet it would be sil
...what the programming language of the future will look like but I know it will be called "Java"!!!
Case in point: As if EJB3 has anything to do with EJB2 other than sharing the same name.
Yeah, I'm with you. This article should create a resounding "DUH" in the geekosphere. Sadly, some peter-rabbit out there in the media burrow is probably freaking out over this article.
I would probably respond better if the "master contributors" taunted me for how crappy my code was instead of being flatly ignored. Software in an online community (it would seem then) is about fostering a desire to contribute and that might come from people getting a response from making a contribution. In other words fostering community.
And, BTW: I'm pretty sure this whole thread is drifting Off Topic...
After reading this report I've decided to abandon my 11 years of Unix experience and head back over to Windows. Clearly when I made the switch to Unix/Linux/BSD systems back in the 1990's I was misinformed by my years of experience working on windows and suffering with viruses and vulnerabilities. I must have just jumped on the whole Intarweb band wagon. Silly me.
Clearly it is all just about security and nothing to do with lighter faster operating systems tailored to specific purposes. Nobody cares about focused tool sets. Nobody cares about vendor independence. Nobody needs to have a system open enough that you can get at every aspect of the OS because nobody develops software that could possibly need that level of understanding. Nobody cares about a free, open, and stable software development suites... Nobody really cares about precisely tuned servers in clusters... or embedded systems... or monotonic scheduling...
I certainly don't. Not after this study. No sir. I'm making the switch now. Yep. Don't try and talk me out of it.
Go back a second year and see if you can't finagle a second degree. For example many CS degree curriculum are only two or three classes shy of a math degree if your school counts classes like formal linguistics as math classes.
Get higher grades and add value to your resume.
I would burst into flames just like a vampire... or a gremlin. Yeah, more like a gremlin.
- symbolic links
- The power of pipe: you can pipe output of one program to another...
- STDIN, STDOUT, STDERR are all standard and work well.
- everything is a file means everything is easy to get at... captures video to your hard drive... c'mon! You gotta admit that's cool!
...that means whatever hardware you are using you just use the file for it.
- free SDK
- free documentation
- Posix is non-stupid
- IPC is multi-process programming made simple
- Whatever your of choice programming language you can write desktop applications that use the window tool kit of your choice.
- you can use Eclipse if you want to... or not...
- If you need to use socket streams networking you can
- Beryl rocks. Flaming windows are cool.
To be fair many Linux programs suck. They suck really really bad. But many are absolutely genius. Some Linux tricks simply can't be done with the same elegance on Windows. And by elegance I mean, fast, secure, and easy to understand and modify. You can write your own PVR in Linux using shell scripts... you can write shell scripts to do anything you want when a USB key is inserted... anything... not just pick from a list of approved actions... anything... think about that.If you can take in air and water, cleaning them as they came in... you could conceivably have a geo-thermal powered underground habitat that could be expanded and run for thousands of years provided that the geo-thermal power could provide you with enough juice to scrub the dirty water and air you needed. I suppose you could just dump your waste out into the irradiated environment if there were waste products you couldn't do anything with.
How much space would a feral human need to roam about in? Have previous bio-dome type experiments taken into account the natural range of a feral human?
Actually, it's quite simple. The state wants tax dollars to pay for roads. All cars drive on roads... even bio-diesel cars... from the article: With its 29.9-cent a gallon gas tax, the state collects $1.2 billion each year to pay for road construction.
The unfortunate truth is that governments tend to react slowly and tend to not be very smart. This poor guy is
No, you'll only need that if you're using vim instead of emacs.
Damn you bloated editor lover! vim is all you need to do Ajax development! Bah! Kids today. And, if little Stevie Jobs wants to ship a device you have to hack around with vim to create Ajax apps for that's fine by me. All coding is just shoving text around anyhow.
You kids are lucky you can actually see the characters on your screens! I had to use a compass to read the bits from a giant metal drum. I'd kick the thing on a potter's wheel and use two magnets to write my inodes by hand. We did our computation on a chalkboard. Gawd help you if there was a memory leak and you ran out of drum space... you'd dump a whole different kind of core then kiddo!
Suddenly people stop talking while driving? That would be revolutionary.
Instead of talking on their phones while driving they're surfing while driving! Whee! Ajax! Watch out for that Tree! Whee! I'm surfing while I'm surfing in my car! Whee! Flash! Whee! Gmail! Whee! Progressive.com? I have an accident to report!