I like Konsole too. Both Konsole and Gnome Terminal support multiple sessions with tabs. I'm completely addicted to that feature!
But as you mentioned, Konsole is many times faster. That makes a big difference in many cases. Often when compiling code, gcc will only get about 1/3 of the CPU cycles since the rest get sucked up by gnome-terminal (and X). And what really drives me nuts about gnome-terminal is that it eats the same CPU even if the window is iconified or that session is tabbed-out! The only solution I found is to make the window as small as possible, for example one line high. I hope the newer version does better than this because otherwise Gnome is pretty nice.
I, too, would highly recommend Python as a first language for learners. Python was about my 14th programming language, and I really love it!
Having said that, it's really a stupid answer to a stupid question. Well, not stupid, just underqualified. What kinds of things do you want your prospective student to be learning about programming? If you're teaching computer architecture, go straight to a hex editor! If you're teaching memory management, pointers and simmilar low-level concepts, then something like C is more useful. But I would guess that as a very first programming language, the concepts that should be learned include order of execution, variables, breaking down problems into simpler pieces, scope, and code reuse. A short while later, some OOP would be good to learn. Python provides easy ways to apply all these concepts with a minimum of extraneous details. It also lets you write some useful and interesting programs very quickly and easily, so a higher interest level can be maintained.
I'm not very familliar with VB these days, but in general I don't think the beginning programmer should have to worry about GUI design or need any template code. A terminal-based program provides the most simplicity at the beginning, and there are some great toolkits for Python that can build GUIs later on. Another advantage of Python is the interpreter shell, which makes testing code snippets and general exploration a piece of cake!
So if you're really wanting to teach basic programming concepts in an interesting and straight-forward manner, Python really has a lot of advantages.
I'm not sure what part of this thread to reply to. I think this whole discussion is muddied by loosing the distinction between cold dark matter and dark energy. "Dark energy" (or vacuum energy density) is the mysterious term in Einstein's equation which apparently dominates the evolution of our universe, driving expansion. No one knows what it is, and estimates from particle physics come out a few tens of orders of magnitudes off. (10^50?? I'm too lazy to look it up.)
Then there's cold dark matter, which is also assumed in cosmological models, that comes in at a much lower fraction but still is a few times more important than luminous matter. By "luminous matter", I mean stuff that can be accounted for by observation, either by emmision or extinction of light. So that includes both stars, gas, and dust clouds. CDM helps slow the expansion of the universe, and is needed to explain things like the orbits of stars around their host galaxies, and the much of the observed gravitational lensing of (foreground) galaxies. This is also unknown stuff, and there are several theories of what this could be ranging from massive subatomic particles to brown dwarfs. Searches for all these have come up negative so far as I'm aware, but there is still good reason to hope for a discovery soon.
It seems to me that the original article confuses these two contributions to the universe, calling the vacuum energy "dark matter". Most of the posts here seem to refer to (cold) dark matter. And take all this with a grain of salt, of course. I'm a particle physicist, not a cosmologist. I hear things every now and then, but I'm not an authority on the subject.
I like that statement. Science can only prove what is not true. Progress in science is made by restricting more and more what could be true. So science leads us to truth asymptotically. I think the mistaken idea that science provides absolute truth is responsible for 90% of the debate on intelligent design. The philosophical conflict between science and religion only exists when both scientific theories and religious texts or leaders are thought to be "authoritative" -- to contain absolute truth.
I can relate to this. At my lab many people (myself included) run Linux on the desktop, and either Linux or Solaris on the servers. Our servers are not as mission-critical, since most crashes and such can be recovered from.
I simply find Linux on the desktop to be a more civilized environment for doing software development in a scientific environment. The advantages are too many to enumerate, but I'll list a few that come to mind. The window managers are more productive, it's a similar environment to the servers, connectivity software like ssh and X11 are better integrated (though Cygwin helps Windows a lot), analysis tools run better on Linux, more scripting languages with better OS interfaces, Windows roaming profiles are a blight on humanity, etc.
As for Solaris being more stable -- that's not inconsistent with my experience either. the various basic C/C++ libraries seem to have fewer quirks, for one. And we've been having strange network-wide NFS slowdowns caused by the Linux machines for the past couple years. I don't know all the details, but Linux is certainly no panacea.
I believe that some of the quirkiness is due to the x86 platforms being more prone to failure. Obviously that's an overgeneralized statement but it seems that even the server-grade PC components have generally been a source of frustration more so than the Sun systems. Bad networking cards, motherboards that can't take the heat when under load 24/7, etc. (I think HP has supplied most of our systems FYI.) However Linux on PC's is *much* more cost-effective! So Solaris is fading out here. Sadly, Digital bit the dust a while back.
I wondered this same thing. The story reminded me of the way particle physics was done in the 60's with bubble chambers and photographs.
These days, of course, it's all done with discreet detector components and complex tracking algorithms. Nobody wants to sift through billions of pictures and carefully measure the curvatures of dozens of tracks per picture. (Also modern tracking chambers don't perturb the particle as much and allow for other follow-up detectors such as calorimeters or Cerenkov emmision detectors.)
Tracking algorithms of some sort could easily be employed here, as well. As soon as you take a picture and scan it in you have digitized it in some way. Admitedly these impact patterns don't look exactly like "tracks", but there are also algorithms for finding "showers" in calorimeters, Cerenkov rings, etc. They just need to get a particle physicist on board with the project. Actually I thought astronomers were also good at writing pattern recognition software. And there are some nice new statistical techniques that should be able to do better than humans can at this kind of thing. Hmm.
In '96 I was a physics grad student who decided to learn Perl. If there was one smart thing I did as a grad student, it was learning Perl. To do a physics experiment well, you'll want to be able to quickly try a lot of different things. If you have one program to do one thing, no matter what it's written in (say, Fortran for legacy libraries), you can write little Perl scripts to feed it input, process the output, run it different ways, collect statistics, make reports, etc. Among other things, Perl is fantastic for this kind of automation.
I strongly disagree with the attitude that all programming should be left to the professionals! Computers run programs. So to really use a computer is to program it. With increasingly more powerful languages cropping up in recent years, it should be even easier for everyone to learn programming to some degree. And in this respect, Linux really shines over Windows because the tools available to the programmer on Linux is just staggering. But you have to make a distinction between programmers who will be writing small stand-alone scripts versus programmers who are contributing to a large joint effort. In a large project, lack of experience combined with open-ended languages like Perl can be harmful.
These days there are other attractive scripting languages. I learned Python over a year ago, and like it a lot too. I also learned Tcl back in the mid-90's along with Perl.
Perl is good because the syntax makes a lot of common tasks easy. Backticks, for example, and the way it handles regular expressions. It's a great get-it-done-now kind of language, provided you get over a fairly steep learning curve.
Python is another great alternative. I think that Python is much easier to learn than Perl. OOP is better integrated in Python, and there are nice Python shells for trying out code snippets easily (perl -e works but is not as straight-forward). But for short-to-medium sized projects that involve job control and automation, provided learning Perl is not a problem, I recommend Perl.
I can't talk about Ruby except that I've heard great things about it. Tcl also has its uses, but it can be a little akward. What I like best about Tcl is a kind of conceptual simplicity.
I think a bit of programming experience is absolutely vital for physicists, as well as any other scientists or even just people in a technical field where computers are used. But don't get hung up on stodgy details like scalability and "use strict;"when you aren't talking about a professional programmer (someone building/maintaining a long-term coding project).
I ultimately agree that DRM is a bad idea, but I still worry that even if music were priced very low (iTunes), it's still going to be more expensive than free. There is a basic moral desire in most people, I would hope, not to steal. And there is some fear of punishment out there, though with the possibility of better p2p technology I doubt this fear will last into the future.
If the legal threat were to disappear completely, then paying for music would be a matter of morality for some, and charity for others. Like throwing some change into the open guitar case out of appreciation for the music. That's not completely bad, but I don't think it's really the best that can be done for the artists.
Hmm, what if buying music through some kind of future iTunes-like service entitled you to more than just the song? Perhaps some kind of listener review service could be provided (you can only review what you've bought), with moderation based on factors such as how many people agreed with your particular review, how many agreed with or just liked other reviews of yours, and how many songs you have purchased in the past. So you're buying songs, the ability to participate in reviews, discussions, and contact with the artists, as well as buying a bit of "karma". Those would be things that piracy could not get you. Other sites could crop up and offer the same services for free, but the artists would probably not support these others since they are not getting paid through them and there would be a sense of illigitimacy.
I don't know, maybe there are other ways as well. But my main line of reasoning is that offering a purely moral incentive to pay for music is good but not enough. It's fine to appeal to a higher level of reasoning, but ultimately there needs to be a fall-back to either fear (DRM plus litigation) or a direct reward for socially-acceptable behavior.
Well, he is very easy to agree with on these points.
Open source is humanist in some sense, but not when it comes to the human-computer interface. People want consistency, but OS developers need the freedom to try different things. Also (speaking for myself anyway) programmers tend to devote more thought to the structure, or internal beauty, of a program than its interface. I think that almost any interface to a program that the author has either written or deeply understands will seem intuitive to them. Intuition is not universal, it's individual and formed from prior experience.
I can definitely see his point with DRM -- it's instinctively a repulsive thing, but there are so far nothing but incentives for music piracy. I can imagine a great online system of music distribution, recomendation, and even profits to feed into startup artists. But I can't see an economic system working without any factors that will reduce piracy. I hear lots of people objecting to DRM, but haven't yet heard any suggestions for what else to do.
I've occasionally thought about what systems could replace advertising in some sort of idyllic society. There is a real need for companies to "get the word out" about their products, but the amount commonly spent on advertising these days is ridiculous! And the present advertisements are much more obnoxious than they are informative.
We have a great opportunity in this dawn of the information age to more easily communicate about products. But for the most part this is not happening. Take yesterday's story about Lego versus Mega Blocks as an example. Many people felt that Lego produced a much better-quality product, but they are loosing to the competition because not enough people know this. We can't trust any advertisements or text on the packaging, so the information has to come from third parties -- other consumers. There are a lot of consumer review sites starting up, which seems like progress in the right direction. But we're far from "there" yet, wherever "there" is.
So, thinking about economics, it seems to me like this is one area where a competetive free market (the advertising market) utterly fails to find an optimum, efficient solution to consumers' needs. Instead competition drives more and more money into ineffective forms of advertising which focus increasingly on psychological manipulation rather than making available verifyable information about choice. In fact, it seems like the few facts we have available as consumers (EPA ratings, food labels, etc.) were government-driven efforts instead of commercial ones. And often even those are abused as much as legally allowable.
Even without knowing a perfect solution to the problem of advertisement, one can estimate its potential in terms of economic indicators such as GNP. If the average company spends 50% on marketing (just guessing, it's somewhere between 25% and 75% I'd think), and realizing that current advertisements are maybe 1% effective at really reaching their target audience, I'd think that our economy could easily double given such a change.
All this, of course, is my reason to think that Microsoft is again going in the wrong direction.
Wouldn't a sane person have set up the new system on a test platform and had some customs workers test it out for a few days first? Wouldn't they have wanted to get the order processing time down to at or below the original one before even thinking about having it go live? I can't understand how, on such a huge budget, things like this can happen.
Playing the Devil's advocate
on
Quake 4 Linux
·
· Score: 1
If the Linux version were released before the Windows version (an interesting thought), would any stores carry it?
Perhaps, but the even bigger problem is that this move would be very expensive -- probably more so than giving away the Linux version for free. Any number of days the Windows version is not on the shelves will be a large opportunity cost to ID.
Also, many companies don't develop a Linux version of their games because the development costs exceed the profits from selling it on that platform. Linux users love to play games, but they don't like to pay money for software. So the idea of them giving away a Linux version for free seems rather remote, since that even takes away a small chunk from their Windows sales. Right-thinking individuals would get warm, fuzzy feelings about this sacrifice to promote Linux, but share-holders would not. And heck, there may even be technical reasons not to have a free version. It may well up more possibilities for CD-key cracks in the retail versions.
In spite of all that I think there are genuine merits to the idea. If it were to happen on a big scale with a big game like Quake 4, major Linux distributions should be prepared ahead of time to make sure things "just work" as much as possible. They will get a host of Linux adopters that want to jump into the action and will immediately forget how much Windows installation sucks the moment their sound cards, wireless newtorking cards, and video cards don't perform right on the first try.
It's making fun of math teachers' fettish for meaningless and uninspired word problems. Most of the word problems that crop up on quizzes don't require any real understanding of the situation or question. You can just dive right in and start computing as you read. So the listener is teased for doing the same thing here, multiplying it out as they go, quickly getting into trouble and missing the question for it.
And as people here have begun to realize, the only correct answer to the question is "I don't know." And yet this answer is so frowned upon in our society that people would rather choose clever-sounding answers like "one" or blame the questioner for not posing a proper question with a proper answer.
I wanted to suggest a couple ideas. First, dark matter is a well-favored theory because there is a lot of evidence that supports it. Galactic rotation speeds is one important piece of evidence, but I also think that gravitational lensing provides strong evidence -- which may also be explained by the GR work done in this paper. I don't know but it seems possible. I'm not an astrophysicist, and couldn't (or didn't waht to) follow all the details of the paper. Fluctuations in the cosmic microwave background is another piece of evidence for (cold) dark matter, though it gets complicated here. I don't think that the CMB directly requires dark matter, but dark matter models have been very successful here. I'm out of touch with recent CMB and cosmological accounting developments.
Anyway, the point is that the theory of dark matter kills a lot of birds with one stone. So it's very attractive from that point of view. And there are literaly dozens of yet-untested theories that can explain dark matter as exotic particles, compact massive objects, and so on. Many of these theories have been either disproved or damaged by careful experiments, but by no means all of them. So the existence of dark matter doesn't seem all that far-fetched either.
A second point is that a lot of this discussion has to do with scientific theories being "falsifiable", a term very much at the heart of the debate on creationism being taught in science classes. I don't think many people appreciate what the term means. Science cannot prove a theory to be true. You can only prove it to be false. Take "Newton's laws" example. It took somewhere around 250 years to prove those wrong, and relativity suffered a lot of ridicule from scientists still unwilling to let go of them.
Well, even though there's no way to really prove a theory to be correct, a theorist still has to start somewhere -- put their faith in some basic assumptions before any progress can be made. The choice of these assumptions is mostly a matter of taste, and a little bit of cleverness -- how can you keep your set of assumptions as small and palatable as possible?
General relativity is a really nice theory, and has stood up to a great deal of testing. It is thought to break down only on small scales far beyond our experimental reach, and there is no compelling reason to suspect its accuracy on even cosmically large distance scales. So it makes for a nice starting assumption for astrophysics. I guess the point of this paper is that some details have been forgotten about when modeling galactic rotation. It was thought that because of the small speeds involved, and weak gravitational field, that newtonian gravity (which is much easier to deal with computationally) was a perfectly good approximation. The author of this paper realized why it was not, and points this out.
I can only imagine that, if the math is correct, this will have a huge impact on the astrophysics community. For example, they mention why newtonian gravity works so well for our solar system still, but I'm not sure any more that it would work well for cloud collapse and star formation models. If it affects these models, it will probably also affect cosmologists modeling the evolution of structure.
I wanted to second this comment. I've been hoping for 16 bits per channel support in GIMP for a long time. I read somewhere that this was going to be a feature in the 2.0 release -- whoops!
My digital camera puts out 12 bits per channel. Photoshop can handle this, but not gimp. Astronomical CCDs typically produce 16 bits or more. This performance is vital in astronomy because there is detail at multiple intensities (classic example is the nucleus and outer extents of a galaxy). Often tricks like logarithmic scaling help to visualize an image better. Sure, there are specialized astronomical imaging programs to handle this, but for amateurs the gimp would be the perfect tool if only.
In regular photography much the same needs arise, except that they are not so overwhelmingly important. It's not uncommon to want to bring out some detail in the shadows while not saturating lighter parts of an image. Then there are those super-high-contrast LCDs that have been coming out...
I don't see why more people don't think this is a big deal. Images with 16 bits per channel have been around for at least 15 years.
I don't think that people who don't place any value on free-as-in-freedom are stupid. They are just short-sighted. They are so concerned with having the absolute best software right now that they don't consider the long-range viability of the development model. They also think of themselves as such an insignificant portion of society that their own contributions wouldn't matter.
But you just admitted that you are in the majority, so most other people are thinking this way, too. As long as this is the case, open-source development will continue at a fraction of the pace that it could otherwise. the point is that "you" (including all those who are like-minded") are not insignificant -- you are the majority.
That said, I myself am short-sighted when it comes to software that is almost uncontested in the open-source world. Stuff like Quicken, Corel Draw, etc. But between Opera and Firefox, I don't see any hugely compelling reason to switch to Opera, compelling enough that I wish to give up on the open-source developers making Firefox.
Sorry to reply so late, I just wanted to be more specific about web services lock-in. My original post was long enough, and I didn't want to go any further off topic.
AFAIK ActiveX controls are built for the Win32 platform. So you must be on a PC running Windows to use ActiveX content, even if another browser besides IE could handle it. The lock-in here is blatantly obvious. Once your company starts using ActiveX + IE as an application frontend, they can no longer migrate to any other platform without huge redevelopment costs.
This is one that shows up over and over, that IE's basic design is flawed. Which is, as far as I can tell, unfounded. All the external interfaces and architecture seems clean and nice enough, and since I (and I would guess; you) have no way to look at the source I can't say that we have any reason to believe that the IE source is in a bad state.
I'm no expert on this stuff, but I think some of the basic design flaws in IE were Active X (what were they thinking?!), overly-tight system integration (inflating minor security flaws into complete system compromise), and the way it handled MIME types based on file extensions (part of the former design flaw, really). We don't need to read the code to know about these flaws. They are manifest in the way the program behaves.
As for IE7, I haven't seen any features promised that Firefox doesn't already have. And I think Firefox is still more standards-compliant, which is a pretty big deal to me. Also, Microsoft's general attitude toward their web services has been contrary to the spirit of common standards with multiple implementations, and has almost always been some kind of maneuver to force a lock-in. They thought they had that with IE 4.0, which explains why they didn't really take the broswer any further until maybe now.
This presents a kind of moral argument for using Firefox over IE. It sounds ridiculous on the surface, and it would be in any kind of sane universe. But we have Microsoft.
There was an excellent talk at Cornell a year or two ago by Rob Nelson (a Princeton physicist), who has been researching the potential for these new nuclear technologies. His conclusion about bunker busters is that collatoral damage in a populated area would still be around 10,000-50,000 civillian deaths since a missile cannot penetrate to a depth sufficient for even a low-yield nuclear detonation to be contained underground.
The talk slides are in powerpoint format, and it would help to have more text explanations, but even as it is these talk slides make a VERY solid case against new nuclear initiatives:
His results have received a little bit of media attention, but are certainly not widely known. Of course, the neglegence of scientific research is one of the hallmarks of our current administration!
He goes on to invalidate the claim that a nuclear weapon can sterilize biological agents being stored in a building. He concludes that is a catastrophically effective delivery mechanism for the agents rather than a means of sterilizing them!
I'll paste the conclusion here:
* No EPW can penetrate deeply enough to contain a nuclear explosion; it would produce lethal fallout over several square kilometers..
* If bunkers contain stockpiles of chemical or biological weapons, the agents would probably not be destroyed and may be dispersed with the fallout.
* New warhead development may require renewed underground nuclear weapons testing, ending the U.S.-Russia moratorium that has existed since 1992.
The only thing that bothered me about the wiki is the line: "There are two more approaches for attacks that we do not want to disclose yet, as Microsoft may still offer updated Xboxes in the future."
How well does this represent our culture of openness? Is this consistent with how we want others to disclose security flaws? Obviously the authors have pegged themselves here as not pro-freedom, but simply anti-Microsoft.
The text is well-written, but the tone of it all is: "Haha, see how much more clever we are than this evil Microsoft dude!"
Well, while I'm a little bothered by the smugness of the article, I'll admit that there is no reason Microsoft should have tried to secure the xbox in the first place. I honestly wonder why they did?
Is it possible that the obvious security flaws are there intentionally? Certainly the hackability of the Xbox has done nothing but improve sales by opening up more uses of it, such as running Linux on it! There's the GTA debacle, but that's not the fault of a hackable xbox. I guess there's also the issue of game cheats, which is a legitimate concern. But probably the security measures in the xbox were just enough (looked good on paper) for M$ to get game developers on board with them.
I liked the article because I didn't know much about security on a hardware level but I knew just enough about computer architecture to follow it. A worthwhile read even if the tone of it was annoying.
I wonder how much public awareness there is of these issues? Certainly radio astronomy is already crippled today by the demands on the radio spectrum. The FCC gets pressure from one side by a few astronomers with miniscule funds, and on the other side by big business with heavy political clout. The astronomers don't win. But I think (IANAA) with every band that goes to that next wireless technology, radio astronomers loose a window on some set of physical proceses out there.
So, how much do or should we value bandwidth versus science?
I love this idea! I was also thinking that an all-human collaboration might be appropriate against a computer. Historically, has there ever been a chess game where a group of people played for one side or both of a chess match?
In a lot of ways it is interesting to see if and how a group of people can effectively collaborate on hard problems like you find in chess. I also wonder how much of chess strategy is in finding a particular cohesive style that has proven to work, and how much is just move-by-move out-thinksmanship. Would a collaboration weaken itself by shifting strategy or style too often? Or would that turn out to be a strength?
Re:the code of conduct for free software distribut
on
Drafting GPL3
·
· Score: 1
Sorry, but I think that Stallman's idealism is to his credit. Your arguments seem to be based entirely on the money-making potential of licensed software. From that perspective, Microsoft's licensing has proven to be better than the GPL.
But from the point of view of generating good and powerful software, the GPL has demonstrated its value. Stallman's arguments for the GPL are made on a more fundamental level -- that of economy of labor, or social efficiency. He often states his case in terms of morality, and this offends some people who mistake morality for religious dogma rather than social practicality. I think of moral principles as somewhat like go proverbs (general wisdom for playing the game of go). It's very hard to reason-out why a proverb is so generally true, but experience shows it to be. It's hard for us to see (microscopically) why "freedom" helps write better software, but sure enough it does.
Out present economic systems aren't perfect. They don't properly reward someone for contributions to the public domain, for example. I think of things like patents and copyrights as kludges to the system that worked well enough in the 1800's but not today. Even so, there are some ways of making money while writing free software.
I don't know if this helps, but maybe it's something to think about anyway.
I agree that taking a break from the computer screen for a few minutes can help a great deal, especially if I'm stuck on a problem or struggling with some code and don't have a clear enough vision of the whole thing. But the motivation for the break shouldn't come from an urge (chemical dependence), because then you don't have control over it, and it can just as easily derail you when you're on a roll.
But your comment about smokers being marginalized and ostracized makes me think about the advertizing for tobacco products. You have to admire cigarette commercials since they not only have to deny reality, but even reverse it!
The advertisements' messages are that smoking makes you more popular, more sexy, more free, and happier. But I've observed the exact opposite to be the truth. I don't know how they do it!
Some people use open-source software based on principle, and others on a pragmatic basis. I'm beginning to become more of an idealist and less of a pragmatist in this issue.
I think you could call OSS the "moral" option. But don't wince and think I'm talking about dogmatic belief. Morality just means that, taking our whole society into consideration, it's the best option. So it's a practical issue really, but in a long-term way.
In other words, I use OSS not because it's always better than proprietary software today, but because if I and others like me start using it (and contributing where we can) today, our future prospects are much better.
That said, I still agree with you. If you foist a half-baked open-source program on your grandpa when there is a clearly better proprietary one that they are willing to buy or already have, they might get the wrong impression of OSS, over-generalizing, and get turned off.
I like Konsole too. Both Konsole and Gnome Terminal support multiple sessions with tabs. I'm completely addicted to that feature!
But as you mentioned, Konsole is many times faster. That makes a big difference in many cases. Often when compiling code, gcc will only get about 1/3 of the CPU cycles since the rest get sucked up by gnome-terminal (and X). And what really drives me nuts about gnome-terminal is that it eats the same CPU even if the window is iconified or that session is tabbed-out! The only solution I found is to make the window as small as possible, for example one line high. I hope the newer version does better than this because otherwise Gnome is pretty nice.
I, too, would highly recommend Python as a first language for learners. Python was about my 14th programming language, and I really love it!
Having said that, it's really a stupid answer to a stupid question. Well, not stupid, just underqualified. What kinds of things do you want your prospective student to be learning about programming? If you're teaching computer architecture, go straight to a hex editor! If you're teaching memory management, pointers and simmilar low-level concepts, then something like C is more useful. But I would guess that as a very first programming language, the concepts that should be learned include order of execution, variables, breaking down problems into simpler pieces, scope, and code reuse. A short while later, some OOP would be good to learn. Python provides easy ways to apply all these concepts with a minimum of extraneous details. It also lets you write some useful and interesting programs very quickly and easily, so a higher interest level can be maintained.
I'm not very familliar with VB these days, but in general I don't think the beginning programmer should have to worry about GUI design or need any template code. A terminal-based program provides the most simplicity at the beginning, and there are some great toolkits for Python that can build GUIs later on. Another advantage of Python is the interpreter shell, which makes testing code snippets and general exploration a piece of cake!
So if you're really wanting to teach basic programming concepts in an interesting and straight-forward manner, Python really has a lot of advantages.
I'm not sure what part of this thread to reply to. I think this whole discussion is muddied by loosing the distinction between cold dark matter and dark energy. "Dark energy" (or vacuum energy density) is the mysterious term in Einstein's equation which apparently dominates the evolution of our universe, driving expansion. No one knows what it is, and estimates from particle physics come out a few tens of orders of magnitudes off. (10^50?? I'm too lazy to look it up.)
Then there's cold dark matter, which is also assumed in cosmological models, that comes in at a much lower fraction but still is a few times more important than luminous matter. By "luminous matter", I mean stuff that can be accounted for by observation, either by emmision or extinction of light. So that includes both stars, gas, and dust clouds. CDM helps slow the expansion of the universe, and is needed to explain things like the orbits of stars around their host galaxies, and the much of the observed gravitational lensing of (foreground) galaxies. This is also unknown stuff, and there are several theories of what this could be ranging from massive subatomic particles to brown dwarfs. Searches for all these have come up negative so far as I'm aware, but there is still good reason to hope for a discovery soon.
It seems to me that the original article confuses these two contributions to the universe, calling the vacuum energy "dark matter". Most of the posts here seem to refer to (cold) dark matter. And take all this with a grain of salt, of course. I'm a particle physicist, not a cosmologist. I hear things every now and then, but I'm not an authority on the subject.
I like that statement. Science can only prove what is not true. Progress in science is made by restricting more and more what could be true. So science leads us to truth asymptotically. I think the mistaken idea that science provides absolute truth is responsible for 90% of the debate on intelligent design. The philosophical conflict between science and religion only exists when both scientific theories and religious texts or leaders are thought to be "authoritative" -- to contain absolute truth.
I can relate to this. At my lab many people (myself included) run Linux on the desktop, and either Linux or Solaris on the servers. Our servers are not as mission-critical, since most crashes and such can be recovered from.
I simply find Linux on the desktop to be a more civilized environment for doing software development in a scientific environment. The advantages are too many to enumerate, but I'll list a few that come to mind. The window managers are more productive, it's a similar environment to the servers, connectivity software like ssh and X11 are better integrated (though Cygwin helps Windows a lot), analysis tools run better on Linux, more scripting languages with better OS interfaces, Windows roaming profiles are a blight on humanity, etc.
As for Solaris being more stable -- that's not inconsistent with my experience either. the various basic C/C++ libraries seem to have fewer quirks, for one. And we've been having strange network-wide NFS slowdowns caused by the Linux machines for the past couple years. I don't know all the details, but Linux is certainly no panacea.
I believe that some of the quirkiness is due to the x86 platforms being more prone to failure. Obviously that's an overgeneralized statement but it seems that even the server-grade PC components have generally been a source of frustration more so than the Sun systems. Bad networking cards, motherboards that can't take the heat when under load 24/7, etc. (I think HP has supplied most of our systems FYI.) However Linux on PC's is *much* more cost-effective! So Solaris is fading out here. Sadly, Digital bit the dust a while back.
I wondered this same thing. The story reminded me of the way particle physics was done in the 60's with bubble chambers and photographs.
These days, of course, it's all done with discreet detector components and complex tracking algorithms. Nobody wants to sift through billions of pictures and carefully measure the curvatures of dozens of tracks per picture. (Also modern tracking chambers don't perturb the particle as much and allow for other follow-up detectors such as calorimeters or Cerenkov emmision detectors.)
Tracking algorithms of some sort could easily be employed here, as well. As soon as you take a picture and scan it in you have digitized it in some way. Admitedly these impact patterns don't look exactly like "tracks", but there are also algorithms for finding "showers" in calorimeters, Cerenkov rings, etc. They just need to get a particle physicist on board with the project. Actually I thought astronomers were also good at writing pattern recognition software. And there are some nice new statistical techniques that should be able to do better than humans can at this kind of thing. Hmm.
In '96 I was a physics grad student who decided to learn Perl. If there was one smart thing I did as a grad student, it was learning Perl. To do a physics experiment well, you'll want to be able to quickly try a lot of different things. If you have one program to do one thing, no matter what it's written in (say, Fortran for legacy libraries), you can write little Perl scripts to feed it input, process the output, run it different ways, collect statistics, make reports, etc. Among other things, Perl is fantastic for this kind of automation.
I strongly disagree with the attitude that all programming should be left to the professionals! Computers run programs. So to really use a computer is to program it. With increasingly more powerful languages cropping up in recent years, it should be even easier for everyone to learn programming to some degree. And in this respect, Linux really shines over Windows because the tools available to the programmer on Linux is just staggering. But you have to make a distinction between programmers who will be writing small stand-alone scripts versus programmers who are contributing to a large joint effort. In a large project, lack of experience combined with open-ended languages like Perl can be harmful.
These days there are other attractive scripting languages. I learned Python over a year ago, and like it a lot too. I also learned Tcl back in the mid-90's along with Perl.
Perl is good because the syntax makes a lot of common tasks easy. Backticks, for example, and the way it handles regular expressions. It's a great get-it-done-now kind of language, provided you get over a fairly steep learning curve.
Python is another great alternative. I think that Python is much easier to learn than Perl. OOP is better integrated in Python, and there are nice Python shells for trying out code snippets easily (perl -e works but is not as straight-forward). But for short-to-medium sized projects that involve job control and automation, provided learning Perl is not a problem, I recommend Perl.
I can't talk about Ruby except that I've heard great things about it. Tcl also has its uses, but it can be a little akward. What I like best about Tcl is a kind of conceptual simplicity.
I think a bit of programming experience is absolutely vital for physicists, as well as any other scientists or even just people in a technical field where computers are used. But don't get hung up on stodgy details like scalability and "use strict;"when you aren't talking about a professional programmer (someone building/maintaining a long-term coding project).
Late reply here -- oh well.
I ultimately agree that DRM is a bad idea, but I still worry that even if music were priced very low (iTunes), it's still going to be more expensive than free. There is a basic moral desire in most people, I would hope, not to steal. And there is some fear of punishment out there, though with the possibility of better p2p technology I doubt this fear will last into the future.
If the legal threat were to disappear completely, then paying for music would be a matter of morality for some, and charity for others. Like throwing some change into the open guitar case out of appreciation for the music. That's not completely bad, but I don't think it's really the best that can be done for the artists.
Hmm, what if buying music through some kind of future iTunes-like service entitled you to more than just the song? Perhaps some kind of listener review service could be provided (you can only review what you've bought), with moderation based on factors such as how many people agreed with your particular review, how many agreed with or just liked other reviews of yours, and how many songs you have purchased in the past. So you're buying songs, the ability to participate in reviews, discussions, and contact with the artists, as well as buying a bit of "karma". Those would be things that piracy could not get you. Other sites could crop up and offer the same services for free, but the artists would probably not support these others since they are not getting paid through them and there would be a sense of illigitimacy.
I don't know, maybe there are other ways as well. But my main line of reasoning is that offering a purely moral incentive to pay for music is good but not enough. It's fine to appeal to a higher level of reasoning, but ultimately there needs to be a fall-back to either fear (DRM plus litigation) or a direct reward for socially-acceptable behavior.
Well, he is very easy to agree with on these points.
Open source is humanist in some sense, but not when it comes to the human-computer interface. People want consistency, but OS developers need the freedom to try different things. Also (speaking for myself anyway) programmers tend to devote more thought to the structure, or internal beauty, of a program than its interface. I think that almost any interface to a program that the author has either written or deeply understands will seem intuitive to them. Intuition is not universal, it's individual and formed from prior experience.
I can definitely see his point with DRM -- it's instinctively a repulsive thing, but there are so far nothing but incentives for music piracy. I can imagine a great online system of music distribution, recomendation, and even profits to feed into startup artists. But I can't see an economic system working without any factors that will reduce piracy. I hear lots of people objecting to DRM, but haven't yet heard any suggestions for what else to do.
I've occasionally thought about what systems could replace advertising in some sort of idyllic society. There is a real need for companies to "get the word out" about their products, but the amount commonly spent on advertising these days is ridiculous! And the present advertisements are much more obnoxious than they are informative.
We have a great opportunity in this dawn of the information age to more easily communicate about products. But for the most part this is not happening. Take yesterday's story about Lego versus Mega Blocks as an example. Many people felt that Lego produced a much better-quality product, but they are loosing to the competition because not enough people know this. We can't trust any advertisements or text on the packaging, so the information has to come from third parties -- other consumers. There are a lot of consumer review sites starting up, which seems like progress in the right direction. But we're far from "there" yet, wherever "there" is.
So, thinking about economics, it seems to me like this is one area where a competetive free market (the advertising market) utterly fails to find an optimum, efficient solution to consumers' needs. Instead competition drives more and more money into ineffective forms of advertising which focus increasingly on psychological manipulation rather than making available verifyable information about choice. In fact, it seems like the few facts we have available as consumers (EPA ratings, food labels, etc.) were government-driven efforts instead of commercial ones. And often even those are abused as much as legally allowable.
Even without knowing a perfect solution to the problem of advertisement, one can estimate its potential in terms of economic indicators such as GNP. If the average company spends 50% on marketing (just guessing, it's somewhere between 25% and 75% I'd think), and realizing that current advertisements are maybe 1% effective at really reaching their target audience, I'd think that our economy could easily double given such a change.
All this, of course, is my reason to think that Microsoft is again going in the wrong direction.
Wouldn't a sane person have set up the new system on a test platform and had some customs workers test it out for a few days first? Wouldn't they have wanted to get the order processing time down to at or below the original one before even thinking about having it go live? I can't understand how, on such a huge budget, things like this can happen.
If the Linux version were released before the Windows version (an interesting thought), would any stores carry it?
Perhaps, but the even bigger problem is that this move would be very expensive -- probably more so than giving away the Linux version for free. Any number of days the Windows version is not on the shelves will be a large opportunity cost to ID.
Also, many companies don't develop a Linux version of their games because the development costs exceed the profits from selling it on that platform. Linux users love to play games, but they don't like to pay money for software. So the idea of them giving away a Linux version for free seems rather remote, since that even takes away a small chunk from their Windows sales. Right-thinking individuals would get warm, fuzzy feelings about this sacrifice to promote Linux, but share-holders would not. And heck, there may even be technical reasons not to have a free version. It may well up more possibilities for CD-key cracks in the retail versions.
In spite of all that I think there are genuine merits to the idea. If it were to happen on a big scale with a big game like Quake 4, major Linux distributions should be prepared ahead of time to make sure things "just work" as much as possible. They will get a host of Linux adopters that want to jump into the action and will immediately forget how much Windows installation sucks the moment their sound cards, wireless newtorking cards, and video cards don't perform right on the first try.
No, it's a good riddle, really!
It's making fun of math teachers' fettish for meaningless and uninspired word problems. Most of the word problems that crop up on quizzes don't require any real understanding of the situation or question. You can just dive right in and start computing as you read. So the listener is teased for doing the same thing here, multiplying it out as they go, quickly getting into trouble and missing the question for it.
And as people here have begun to realize, the only correct answer to the question is "I don't know." And yet this answer is so frowned upon in our society that people would rather choose clever-sounding answers like "one" or blame the questioner for not posing a proper question with a proper answer.
I wanted to suggest a couple ideas. First, dark matter is a well-favored theory because there is a lot of evidence that supports it. Galactic rotation speeds is one important piece of evidence, but I also think that gravitational lensing provides strong evidence -- which may also be explained by the GR work done in this paper. I don't know but it seems possible. I'm not an astrophysicist, and couldn't (or didn't waht to) follow all the details of the paper. Fluctuations in the cosmic microwave background is another piece of evidence for (cold) dark matter, though it gets complicated here. I don't think that the CMB directly requires dark matter, but dark matter models have been very successful here. I'm out of touch with recent CMB and cosmological accounting developments.
Anyway, the point is that the theory of dark matter kills a lot of birds with one stone. So it's very attractive from that point of view. And there are literaly dozens of yet-untested theories that can explain dark matter as exotic particles, compact massive objects, and so on. Many of these theories have been either disproved or damaged by careful experiments, but by no means all of them. So the existence of dark matter doesn't seem all that far-fetched either.
A second point is that a lot of this discussion has to do with scientific theories being "falsifiable", a term very much at the heart of the debate on creationism being taught in science classes. I don't think many people appreciate what the term means. Science cannot prove a theory to be true. You can only prove it to be false. Take "Newton's laws" example. It took somewhere around 250 years to prove those wrong, and relativity suffered a lot of ridicule from scientists still unwilling to let go of them.
Well, even though there's no way to really prove a theory to be correct, a theorist still has to start somewhere -- put their faith in some basic assumptions before any progress can be made. The choice of these assumptions is mostly a matter of taste, and a little bit of cleverness -- how can you keep your set of assumptions as small and palatable as possible?
General relativity is a really nice theory, and has stood up to a great deal of testing. It is thought to break down only on small scales far beyond our experimental reach, and there is no compelling reason to suspect its accuracy on even cosmically large distance scales. So it makes for a nice starting assumption for astrophysics. I guess the point of this paper is that some details have been forgotten about when modeling galactic rotation. It was thought that because of the small speeds involved, and weak gravitational field, that newtonian gravity (which is much easier to deal with computationally) was a perfectly good approximation. The author of this paper realized why it was not, and points this out.
I can only imagine that, if the math is correct, this will have a huge impact on the astrophysics community. For example, they mention why newtonian gravity works so well for our solar system still, but I'm not sure any more that it would work well for cloud collapse and star formation models. If it affects these models, it will probably also affect cosmologists modeling the evolution of structure.
I wanted to second this comment. I've been hoping for 16 bits per channel support in GIMP for a long time. I read somewhere that this was going to be a feature in the 2.0 release -- whoops!
My digital camera puts out 12 bits per channel. Photoshop can handle this, but not gimp. Astronomical CCDs typically produce 16 bits or more. This performance is vital in astronomy because there is detail at multiple intensities (classic example is the nucleus and outer extents of a galaxy). Often tricks like logarithmic scaling help to visualize an image better. Sure, there are specialized astronomical imaging programs to handle this, but for amateurs the gimp would be the perfect tool if only.
In regular photography much the same needs arise, except that they are not so overwhelmingly important. It's not uncommon to want to bring out some detail in the shadows while not saturating lighter parts of an image. Then there are those super-high-contrast LCDs that have been coming out...
I don't see why more people don't think this is a big deal. Images with 16 bits per channel have been around for at least 15 years.
I don't think that people who don't place any value on free-as-in-freedom are stupid. They are just short-sighted. They are so concerned with having the absolute best software right now that they don't consider the long-range viability of the development model. They also think of themselves as such an insignificant portion of society that their own contributions wouldn't matter.
But you just admitted that you are in the majority, so most other people are thinking this way, too. As long as this is the case, open-source development will continue at a fraction of the pace that it could otherwise. the point is that "you" (including all those who are like-minded") are not insignificant -- you are the majority.
That said, I myself am short-sighted when it comes to software that is almost uncontested in the open-source world. Stuff like Quicken, Corel Draw, etc. But between Opera and Firefox, I don't see any hugely compelling reason to switch to Opera, compelling enough that I wish to give up on the open-source developers making Firefox.
Sorry to reply so late, I just wanted to be more specific about web services lock-in. My original post was long enough, and I didn't want to go any further off topic.
AFAIK ActiveX controls are built for the Win32 platform. So you must be on a PC running Windows to use ActiveX content, even if another browser besides IE could handle it. The lock-in here is blatantly obvious. Once your company starts using ActiveX + IE as an application frontend, they can no longer migrate to any other platform without huge redevelopment costs.
As for IE7, I haven't seen any features promised that Firefox doesn't already have. And I think Firefox is still more standards-compliant, which is a pretty big deal to me. Also, Microsoft's general attitude toward their web services has been contrary to the spirit of common standards with multiple implementations, and has almost always been some kind of maneuver to force a lock-in. They thought they had that with IE 4.0, which explains why they didn't really take the broswer any further until maybe now.
This presents a kind of moral argument for using Firefox over IE. It sounds ridiculous on the surface, and it would be in any kind of sane universe. But we have Microsoft.
There was an excellent talk at Cornell a year or two ago by Rob Nelson (a Princeton physicist), who has been researching the potential for these new nuclear technologies. His conclusion about bunker busters is that collatoral damage in a populated area would still be around 10,000-50,000 civillian deaths since a missile cannot penetrate to a depth sufficient for even a low-yield nuclear detonation to be contained underground.
p pt
The talk slides are in powerpoint format, and it would help to have more text explanations, but even as it is these talk slides make a VERY solid case against new nuclear initiatives:
http://www.princeton.edu/~rnelson/papers/cornell.
His results have received a little bit of media attention, but are certainly not widely known. Of course, the neglegence of scientific research is one of the hallmarks of our current administration!
He goes on to invalidate the claim that a nuclear weapon can sterilize biological agents being stored in a building. He concludes that is a catastrophically effective delivery mechanism for the agents rather than a means of sterilizing them!
I'll paste the conclusion here:
* No EPW can penetrate deeply enough to contain a nuclear explosion; it would produce lethal fallout over several square kilometers..
* If bunkers contain stockpiles of chemical or biological weapons, the agents would probably not be destroyed and may be dispersed with the fallout.
* New warhead development may require renewed underground nuclear weapons testing, ending the U.S.-Russia moratorium that has existed since 1992.
The only thing that bothered me about the wiki is the line: "There are two more approaches for attacks that we do not want to disclose yet, as Microsoft may still offer updated Xboxes in the future."
How well does this represent our culture of openness? Is this consistent with how we want others to disclose security flaws? Obviously the authors have pegged themselves here as not pro-freedom, but simply anti-Microsoft.
The text is well-written, but the tone of it all is: "Haha, see how much more clever we are than this evil Microsoft dude!"
Well, while I'm a little bothered by the smugness of the article, I'll admit that there is no reason Microsoft should have tried to secure the xbox in the first place. I honestly wonder why they did?
Is it possible that the obvious security flaws are there intentionally? Certainly the hackability of the Xbox has done nothing but improve sales by opening up more uses of it, such as running Linux on it! There's the GTA debacle, but that's not the fault of a hackable xbox. I guess there's also the issue of game cheats, which is a legitimate concern. But probably the security measures in the xbox were just enough (looked good on paper) for M$ to get game developers on board with them.
I liked the article because I didn't know much about security on a hardware level but I knew just enough about computer architecture to follow it. A worthwhile read even if the tone of it was annoying.
I wonder how much public awareness there is of these issues? Certainly radio astronomy is already crippled today by the demands on the radio spectrum. The FCC gets pressure from one side by a few astronomers with miniscule funds, and on the other side by big business with heavy political clout. The astronomers don't win. But I think (IANAA) with every band that goes to that next wireless technology, radio astronomers loose a window on some set of physical proceses out there.
So, how much do or should we value bandwidth versus science?
I love this idea! I was also thinking that an all-human collaboration might be appropriate against a computer. Historically, has there ever been a chess game where a group of people played for one side or both of a chess match?
In a lot of ways it is interesting to see if and how a group of people can effectively collaborate on hard problems like you find in chess. I also wonder how much of chess strategy is in finding a particular cohesive style that has proven to work, and how much is just move-by-move out-thinksmanship. Would a collaboration weaken itself by shifting strategy or style too often? Or would that turn out to be a strength?
Sorry, but I think that Stallman's idealism is to his credit. Your arguments seem to be based entirely on the money-making potential of licensed software. From that perspective, Microsoft's licensing has proven to be better than the GPL.
But from the point of view of generating good and powerful software, the GPL has demonstrated its value. Stallman's arguments for the GPL are made on a more fundamental level -- that of economy of labor, or social efficiency. He often states his case in terms of morality, and this offends some people who mistake morality for religious dogma rather than social practicality. I think of moral principles as somewhat like go proverbs (general wisdom for playing the game of go). It's very hard to reason-out why a proverb is so generally true, but experience shows it to be. It's hard for us to see (microscopically) why "freedom" helps write better software, but sure enough it does.
Out present economic systems aren't perfect. They don't properly reward someone for contributions to the public domain, for example. I think of things like patents and copyrights as kludges to the system that worked well enough in the 1800's but not today. Even so, there are some ways of making money while writing free software.
I don't know if this helps, but maybe it's something to think about anyway.
I agree that taking a break from the computer screen for a few minutes can help a great deal, especially if I'm stuck on a problem or struggling with some code and don't have a clear enough vision of the whole thing. But the motivation for the break shouldn't come from an urge (chemical dependence), because then you don't have control over it, and it can just as easily derail you when you're on a roll.
But your comment about smokers being marginalized and ostracized makes me think about the advertizing for tobacco products. You have to admire cigarette commercials since they not only have to deny reality, but even reverse it!
The advertisements' messages are that smoking makes you more popular, more sexy, more free, and happier. But I've observed the exact opposite to be the truth. I don't know how they do it!
Some people use open-source software based on principle, and others on a pragmatic basis. I'm beginning to become more of an idealist and less of a pragmatist in this issue.
I think you could call OSS the "moral" option. But don't wince and think I'm talking about dogmatic belief. Morality just means that, taking our whole society into consideration, it's the best option. So it's a practical issue really, but in a long-term way.
In other words, I use OSS not because it's always better than proprietary software today, but because if I and others like me start using it (and contributing where we can) today, our future prospects are much better.
That said, I still agree with you. If you foist a half-baked open-source program on your grandpa when there is a clearly better proprietary one that they are willing to buy or already have, they might get the wrong impression of OSS, over-generalizing, and get turned off.