I'll agree that Perl (or any programming language for that matter) does require somewhat regular use to keep it fresh. I guess I spend on average about 2 hours per week writing Perl. That's a very rough guess.
Here's a Perl script to do what you want that's not too bad. I left out comments to be fair, but normally even for a tiny program like this I'd include a couple just to remind me what it's supposed to do and for a quick hint of what substr does:
To my mind, this alone is not bad. (Sorry the tabbing didn't come through.) No one in their right mind would remember the calling syntax of substr(), but that's what "perldoc -f substr" is for. In fact I even forgot about substr but the docs for "chop" refered to it.
If you feel that this is too much code for such a simple task, it can be shortened to:
If you're up on what -n does (just try "perl -h"), and are a bit more comfortable with C's printf, this might even be easier to read to boot. And, it's a reasonable size to enter on the command line using "perl -e". But my first example tries to do just one thing at a time and that's crucial for readable code.
It's funny that the article made so many claims about how firecely the DoE closed things down at the lab, and how they oversee nuclear weapons and such. Yes, Fermilab is funded by the DoE, and so they fall under the same rules for terrorist paranoia. But the lab has an extremely small amount of radioactive material on site. Mostly it's just small check sources and such for testing detectors. There are some slightly stronger sources for testing calorimeters, and I think there's even a tiny amount of Uranium, but not even close to a critical mass of the stuff. They do not have a nuclear reactor on site. No weapons research is being done there, only particle physics with the accellerator with a bit of astrophysics and neutron therapy on the side.
Fermilab has really been suffering from tighter restrictions since 9/11. They have a lot of community outreach programs, but these days it's not as easy for the public to visit the lab. They still can, but have to jump through a hoop or two. It's really too bad. It used to be completely open, and folks would often be seen fishing, hiking the prairie, or watching the geese and buffalo.
As for "confidential" material that a hacker could access -- The experiments are publicly funded and the data is all, technically, publicly available. But in practice the data from the various experiments is generally kept somewhat secure just so that physicists on competing experiments have a hard time "stealing" the data. But honestly, in order to make any sense at all of this kind of data you'll need a hundred people with an intimate knowledge of the experiment spending a few years on analysis. All experimental results are published in journals and are freely available on the web.
As for tampering with the data, well that's possible but to influence anything you'd have to be impossibly clever and hack systematic changes into tens of TB of raw data, which would require figuring out how it's packed, what it all means, and knowing enough physics to search for events and adjusting things accordingly. For any single individual, that's just impossible.
As for controlling the accellerator, that's ridiculous too. First of all, there is a lot of analog electronics controlling the thing in addition to the computers, and it requires a sizeable team of scientists to operate. I'm sure that someone could cause troubles if they wanted, but never any damage. The worst that could happen is for a magnet in the Tevatron to overheat and no longer superconduct. When that happens the magnet boils off a lot of liquid helium as a protective measure, and the beam wrecks into the sides of the beampipe. This happens every few weeks anyway, without the help of hackers. There is nothing dangerous you could do with the beam, aside from entering the tunnel and sticking your head near it. And to do that you have to cleverly defeat all the interlocks. I've even seen a curious colony of ants trip the interlocks, shutting down the accellerator for a couple hours.
The lab is big on security simply because it's funded by the DoE. There's no other good reason for it. It DOES tend to be a target for hackers because they have lots of computers, mostly running Linux (with pockets of AIX, IRIX, Solaris, OSF1, and VMS), and (forgive me) the computing staff really means well but often screws up. Nothing is a "decision", it's always a "policy". They have gone with Kerberos and some crypto-card thing which is entirely insecure. They must have known about the possible exploits of the crypto-card system years ago, as I knew someone who figured out a couple (very easily) and were trying to let the Fermilab computing group know about it in the best way. I think the blame lies in trying to keep telnet ports open for people who need to log in remotely from computers running Windows that do not have an SSH client installed.
I agree here. The expansion or Arwen's role was really necessary for today's audiences. My wife and I read the books together (before the movies), and she was very critical of Tolkein's treatment of the romance subplots. Compared with the rich detail in every other aspect (plot, timeline, scenery, tradition, language, weather, geology, etc), the romance was hardly there at all. Even Eowyn's role needed more material to be on a par with the importance of her character. Tolkein had some good ideas for the women in his story, but it seems as if he was not comfortable writing about them, and the romantic elements seemed stiffled.
The author of The Nitpicker's Guide states at the end that Arwen's expanded role was the biggest mistake of the adaptation. He goes on to say that the women viewers should be happy enough with the closeups of Orlando Bloom and Viggo Mortensen. Typical geek assumption -- that women don't care about plot or romance, only beefcake. Well, if Leonardo's character in Titanic didn't have a romance, I doubt any girl would have seen the movie more than once.
I don't like everything about the movie adaptation, but I have no quarrels with Arwen's role. What Jackson added was not out of character for Arwen, Elrond, or Aragorn. Denethor and Faramir seemed more out of character, and that I had problems with.
I was thinking the same thing, but the movie also had the flashback scene where Boromir was sent to attend the council of Elrond. In the book I thought that Denethor was not yet poisoned by Sauron at that point, and yet in the movie scene Denethor's character seems consistent with his crazy appearance at the end. So if Jackson was going to introduce that plot element, Denethor's prideful mistake, you'd think that we would see a more likable Denethor in the flashback.
So I was a little dissapointed in the movie when I did not see anything likable in Denethor. There are many shades of grey between good and evil in the trilogy, and Denethor is one of the darker shades. But the audience is missing a lot if they can't relate to his actions at any point. The movie portrays him as an unforgiving and biased father, which is partly true to the books, but in the books you could see goodness in him, and human weakness that led to an understandable but poor decision which snowballed.
But in most other ways I respect Jackson's diversions from the books.
I bet that anyone can write gobbledygook in any language if they take some kind of sick pleasure in that sort of thing. And I'll agree that Perl is one of the best languages for writing gobbledygook. But most Perl code I've read and written is, to me, very easy to read. Easier even than most C++, where to read any given line of code you need to look up a class header or two and pray they are thoroughly commented.
I'm not a disciplened programmer by any standard, being mostly self-taught, but I can still read through 3 or 4-year-old Perl programs that I wrote with ease. In addition, I've had someone with very little programming experience and no Perl knowlegde at all actually successfully debug one of my Perl scripts! (It was a couple hundred lines long to boot.) Their comment was that it was very easy to read. I also find other people's Perl code to be (usually) easy to read, especially when they make some reasonable stylistic choices and stick with them.
This is intentional. Perl is designed by a linguist to read like English. A competent programmer will take advantage of this to write VERY readable code. It also borrows syntax from C, shells, sed, and awk. This gives it a fast learning curve and familliar appearance for Unix programmers. I don't know sed or awk, but thanks to Perl I can now read them to some extent.
A lot of people focus on how Perl is not the absolute best programming language for this or that kind of job, but I find that it's extremely good at handling an enormous variety of tasks. It takes the blue ribbon for text parsing, and partly for that reason it's great for job control (automation or "glue"). It has such a rich library that Perl one-liners are often useful.
It has simple yet powerful data structures and for that reason I use it a lot for simple data analysis. For numerical work, I use different tools depending on the complexity: Calculator -> spreadsheet -> Perl -> C++. Excluding the calculator (which for me is a Perl script I wrote), I'd say I use a spreadsheet 10% of the time, a Perl script 80% of the time, and C/C++ the remaining 10% when performance begins to matter. Oh I use Mathematica too, but strictly for symbolic computation. For numerical work, Mathematica is akward to program and inefficient beyond a fertile imagination!
So while I don't think Perl is right for every task, it's definately readable (in practice) and it's nearly the best tool for a great many tasks.
p.s. I learned Perl in '96 when I was doing a lot of programming in Fortran (not by choice!). Fortran is actually quite good for number crunching, but horrible for anything else. Perl is great for almost everything but number crunching (it's a bit slow there). So those two languages made for a nice, however odd, pair. My first Perl scripts would provide the command-line, GUI, or web-based interfaces to lots of Fortran executables.
One can make up lots of arguments about this, but without any facts you won't get far. I did a quick google search and came up with this.
It basically says that small particles (such as most molecules in our atmosphere) reflect blue light more than red light because the wavelength is smaller at the blue end of the spectrum, comperable with the sizes of the molecules.
But Mars has a fair amount of dust in the atmosphere, and the particles are generally large enough so that the color reflected by them depends more on the composition of the dust than its size. The material is "magnetite", which absorbs blue light more than red. They say that without the dust, the martian sky would appear blue as it does on Earth. The link also provides true-color images.
Comments below indicate that the recent press release images were actually taken with infrared filters, so those images are false color no matter how we see them. Some of them are doctored to approximate true color and others are doctored to be too reddish. But the colors on the sundial are of no help since they are really being viewed in the infrared.
I'd expect more from this book
on
PC Annoyances
·
· Score: 3, Interesting
I'm surprised that this book got an "8" for offering such profoundly useful advice such as how to eliminate popups or to use less ink in your printer by using economy mode. Did any of the advice mentioned in the review even remotely pique your interest (assuming you have to deal with Windows at all)? When auto-correct annoyed me (which it also did in OpenOffice), I looked through the options and turned it off. If that's too hard to figure out without a book, then you need some basic software education instead of a grab-bag of "tricks".
I wonder what versions of Windows the book refers to? I thought PowerDesk only worked for Windows 95-ME. And what software is it really addressing? If it's giving any advice about Internet Explorer, I hope that it's to remove all file associations and hide all links to it by deleting them or burying them deeply in Start Menu/Programs/Accessories/Unsupported Software/Mistakes/Don't Go Here/Did You Try Mozilla?/FireBird?/Opera?/You Can't Be Serious!/Are You Really Really Sure?/Okay But Don't Blame OReilly/.
Even with supermount, one still needs to set up the appropriate entries in/etc/fstab to get things working properly. Supermount mounts on demand, but it does not detect hardware.
When I connected a camera to my laptop (running Mandrake which comes with supermount), I still had to search google/hotwo's to realize that it would connect through/dev/sda. This was no big deal (took me a couple minutes), but I don't call that "just working." In Windows XP, you plug in the camera and the dialog pops up asking if you want to view the files, etc. Most USB storage devices don't need special drivers in XP.
Now I'm running gentoo, and discovered that supermount was not in the default kernels. Again, no big deal if you're used to using patch, compiling the kernel, etc. But not everybody thrills to that prospect.
I tried working with two monitors, but was set back by two problems.
I'm using a laptop with a 15" UXGA screen, and none of the spare CRT monitors lying around are sharp enough to work at that resolution (1600x1200). If I use a lower resolution on my attached monitor, it becomes just a little bit akward. Also there's the issue of looking up-and-to-the-right since the laptop panel is right on the desk.
My other complaint is also laptop-related. To switch to two monitors, I need to use a different XF86Config file and restart X. I haven't yet figured out how to select a particular XF86Config file (or even switch soft links) based on kernel boot parameters which could be selected from a grub/lilo menu. Maybe someone here knows how to do that?
All the examples you've stated and many others like them show why the now "US customary" system of measurements is so attrocious. So many of these units have different meanings depending on their context, and not everyone is an expert in everything and able to discern the appropriate context.
The metric system and the SI prefixes, however, are designed to be suitable for the age that we live in, where science not banned or heretical, and people can communicate across the continents with ease. It's designed to defuddle communication.
Why should we want the computer industry to break this, by "overloading" the SI prefixes?
It's also funny to hear people say things like "Everyone should just switch to the binary prefixes." Keep in mind that "binary" prefixes are used exclusively for bytes and nothing else, while at least thousands of other units all use the traditional SI prefixes. I think even bits are coupled with the standard prefixes -- for example 100 Mb/sec is 100,000,000 bits per second.
The wacky world of kB, MB, GB, TB, etc. is microscopic compared to all the other (legitimate) uses of the SI prefixes. Using kiB, MiB, and such isn't difficult and really does improve communication at times. Is this suggestion really so onerous that we have to needlessly promote confusion where it didn't exist before?
I didn't think the article was very good at all. Even the author seemed a little confused, and the explanation seemed unnecessarily obtuse for a very simple concept. I think the NIST web page offers a much more concise and easy-to-understand explanation, which is basically that the age-old metric prefixes have been bastardized by the computing industry, and now these prefixes have two meanings.
What I didn't like about the article in particular is the sloppy wording anout binary numbers and decimal numbers, binary math, and decimal math. The author says things like "120.6 is not the binary capacity of the drive", "weird that a kilobyte (which is in fact a binary number)," and so on. Then when he tries to be correct, it becomes akward and he fails anyway: "1024 x 1024 x 1024 = 1,073,741,824 = 1 GB (base 2 converted to base 10)."
I think the entire discussion could be done more accurately and gracefully by getting rid of the word "binary" entirely. Well, one could use the word in sentences like "Memory manufacturers and operating systems often use the prefix kilo to refer to 2^10, (which is 100,0000,0000 in binary notation, a nice round number), as opposed to the more usual meaning of 10^3 (1,000 in decimal notation, a nice round number)."
As much as I like the NIST recommendation, and use it myself a bit whenever the meaning might not be clear, I'm more prone to accepting that the prefixes, like most words, have a meaning which depends on the context. The real problem is that the context is not obvious to most people.
He also writes "These numbers are all conventional base 10 arithmetic, of which you are all familliar with, especially if you paid attention in math class." If he left this sentence out entirely, he would improve the paper. People naturally assume that all numbers are written in base 10 unless explicitly stated otherwise, and he does use base 10 exclusively throughout the paper. So this just gets readers worried that he might start writing numbers in a different base, and that the attention they didn't pay in math class would bite them pretty soon. And by using the term "arithmetic" (makes no sense in this context), I began to wonder if the author was paying attention.
I'm nitpicking a little, but really I think the NIST website is much more informative, offers a workable solution, and should have definately been referenced by the PDF. And yes, this is old news, but it's old news that many people still haven't read.
I haven't tried this approach, so I can't really criticise it, but...
I find that whenever I'm really attentive in class and am learning, that I'm thinking just a little bit ahead of the presentation. What's coming next? Where is he/she going? What about if...oh, yeah. When I'm able to participate in a lecture in this way, I am truly learning the subject. When I'm not, most often I feel lost and frequently tune-out the lecture. (For me this particularly pertains to science and math courses, but other subjects as well.) For me to really be following along like that, various things need to happen. First, the lecturer must be good enough to explain where they are headed every now and then, and take time to relate things, form connections. The pacing must be right -- uh oh, high-speed viewers! And I must be prepared and mentally willing to engage.
I would guess that watching a lecture at high speed would not allow one to mentally engage in the lecture in this way. And, for me anyway, simple passive listening is almost completely ineffective by comparison, and really is a waste of time. If that's all a student is doing anyway, then I'm sure speeding it up helps because it demands paying more attention, and wastes that much less of their time (assuming the time would otherwise be spent thinking and learning).
I agree with your hardware and software complaints here. But I wanted to respond to one thing you said in the beginning, that you're an "end user" and not a professional programmer. I think that this viewpoint is part of the main difference between Linux (and pretty much all of the open source world) and Microsoft. The programming tools for Windows are expensive and many have a steep learning curve. So most Windows programmers are either professionals or think they should be (via shareware/demoware). They also don't think in terms of building libraries or tools, but rather in terms of complete, monolithic programs.
In Linux, I find the prevailing attitude is that computers run programs, so people who use them whould be able to write programs. Thus, the programming tools are much mure prevalent, are almost considered part of the OS (okay if I say that then I really have to say "GNU/Linux"), and are designed to be easier to learn and use.
Now, even with some programming experience, I usually can't resolve compilation errors in software unless I'm working on the code or am willing to spend a LOT of time with it. So I'm not arguing that you should be able to port code or patch up a flaky code release. But I just wanted to insinuate that the real power of Linux is seen when you think like a programmer, and learn a little about shell scripting or Perl, Python, Tcl, or whatever. In Linux, a little knowledge goes a long way. Given the massive availability of simple pieces of software, these powerful scripting languages allow you to glue these various programs together in amazing ways.
As people contribute more free software, everyone's life becomes a little bit easier because there are more libraries or examples to draw from when programming. It's already not hard to write some simple p2p applications, for example. But it remains difficult to port these projects to Windows, since different (and generally poorer) libraries are avaiable, and many of them are insanely expensive.
I recently worked on writing a simple GUI to control some hardware through a parallel port. This was for a friend who wanted to run this under Windows. I wrote it in Perl/Tk, but had a very hard time finding a tool in Windows to control the parallel port. I finally found a "free".dll library that did the job, but when I ran into some problems (I wanted to use a port on an expansion card), the author was unresponsive, and simply wanted to sell me the source code for $1000. This would have been much easier to get working in Linux, and in fact I wrote the code in Linux. We ended up with a good working program, but it could only run on the primary parallel port. This helped teach me how hard and expensive it is to program for Windows.
You're hoping for programs that work in any OS, and such programs certainly do exist. But do not take them for granted. For reasons such as these, the switch to Linux must often be motivated by more than mere convenience. Yes, you'll loose some software capability at first, and some hardware options. But I think it's worth it in the long run. Maybe not for you, right now, but eventually I hope.
I have the same problem, and it takes just over two minutes for me to boot into a KDE desktop (with a konsole and emacs) from power-on. I LOVE this idea of parallel bootup scripts!
updatedb is really nice, and even in the daily crontab I don't think it slows bootup much. It runs in the background. If it interferes slightly with the init scripts, one could put a 2-5 minute delay (sleep) in the slocate.cron script.
Part (half?) of the problem is that KDE is slow to boot up. I think that gnome is faster by a factor of two. Perhaps KDE could also benefit from parallelization during init?
Anyway, I'm starting to get aggravated by all the posts here saying "My *server* doesn't need faster boot-up times!" All these posts (and they're about 95% now) are off-topic IMO. What happened to all the Linux-on-the-desktop advocates? Why are only server-admins reading this thread when they don't care anyway?
Re:Use the Power Save features
on
Booting Linux Faster
·
· Score: 2, Informative
I have to concur here. I've been running Linux on a Dell Inspiron 8200 for the past year, and have never gotten sleep or suspend-to-disk working. Evidently the NVidia driver doesn't support it when using AGP. I like AGP for things like, oh, say Neverwinter Nights...
This is just one of many problems with suspending Linux. In fact, probably 3/4 of the people I know running Windows have at least one piece of hardware that crashes the computer if they try to use sleep mode. I guess suspend works for *some* people, but I doubt it works for a majority. So boot-up times are a big deal to me.
I also want to add that I'd been kicking around in my head the idea of starting services in parallel for a long time now, but I never realized how nicely `make' solves the problem. I had imagined writing complex Perl scripts to do the work, and it's always a pain to work out whether or not forked processes have completed in Perl.
As someone who only speaks one language (called "an American") I find it an easy mistake to judge someone's intelligence by how well they speak English. It sounds like the author(s) of the stuff on this webpage are making the same mistake too. But as a physicist, I work with a lot of other people with Ph.D's for whom English is a second (or 3rd, 4th, or 5th) language, so my mistaken prejudices are gradually wearing off.
For one example, I think that most foreign physicists I work with have better written grammar than the average US physicist, as more often than not these folks write the best papers. And on the other hand, I knew another fellow student who had great trouble speaking and writing English (and programming languages for that matter) in spite of several years of learning and speaking in the US, but who was an absolutely brilliant mathematician and theoretical physicist.
So, a person's English-speaking skills are not a good measure of how well they communicate. And communication is just one dimension of intelligence, which itself is a massively multidimensional thing. IMHO intelligence is impossible to quantify in any meaningful way.
I hate to admit it, but my nvidia drivers have been wreaking havok on my Linux laptop. I'm doing better now since I know to never close the lid or allow the screen to blank when running on batteries. The frequent crashes when starting and stopping X have been eliminated by not using VESA-fb anymore. But for a while my Linux system was crashing (complete system lockup) more often than a mid-90's Macintosh!! I can't think of a worse insult than that.
I'm now testing out the more recent Nvidia drivers (4496) and it's good so far, but I haven't been using it for long and haven't tried anything "dangerous" yet. Earlier drivers (=2960) were MUCH more stable but I can't seem to revert back.
I know this doesn't refute your argument. The nvidia drivers are proprietary with an open source wrapper. And with Linux machines running 100% open source drivers, I've seen uptimes that rivaled VMS systems. Genuine Linux kernel crashes on a stable system are so rare I've only seen two or three in 8 years of working with Linux on dozens of computers.
But Linux is no better than Windows in that "3rd-party" (in this case proprietary) drivers are still allowed, are often necessary, and are most likely responsible for system crashes. Well, actually I see a Windows NT BSOD every couple of weeks, and if half of these are due to Windows code, then the Linux kernel is more stable by a couple orders of magnitude.
I agree, though you are perhaps a bit harsh. I was impressed that they attempted to put errorbars on their statistics at all, which puts them leaps and bounds ahead of the moronic masses. Take, for example, Consumer Reports. Do you ever see any kind of statistical significance of their results? No, they consider their highest rated model to always be significantly superior to the others, no matter what the margin of victory was.
Now that I've complimented this AAC comparison for its errorbars, I have to say that they were completely ignored/misunderstood. If you take the results at face value, you have to conclude that:
"QuickTime, Sorenson Squeeze, Psytel AACenc and Nero are tied for first place, with Faac slightly disfavored."
It looks to me like one can make the statement that Faac is worse than all the others with only about 85% confidence. 85% is just a rough guess by eye, but it's certainly not even 95%! To say that "QuickTime is a clear winner" is utter bunk, and "Faac is clearly the worst" is way too strongly worded. And this is not even taking into account the systematic errors arising from a poorly-controlled test.
Wait, doing just a little bit of number crunching... I think that the correct interpretation of the results is that the ratings of all five encoders are remarkably consistent! (The chi-square/DOF is around.4 -.6, much less than 1!) Probably the errors are correlated because they reflect the common fluctuations of some people rating everything high, and others rating everything low. So, if you believe their errorbars then the results are insignificant. If you don't (for good reason) the results are meaningless. Take your pick.
I agree that you don't need pills to deal with this. I think that taking pills for problems like this is at best a temporary way to avoid the problem, and will always lead to complications later. There are better solutions.
I believe that I would have been diagnosed with ADD as a child if it were as popular in the 70's and 80's as it was in the 90's. Certainly all of the symptoms associated with it are all too familliar to me. However, I have never taken medication for it and have managed things just fine.
In grade school I always had great difficulty doing homework, and focusing in class. I particularly hated math, and was always at the rock bottom of my class in timed math tests. When given 100 multiplication problems to solve, most of the class would finish in 3-5 minutes but after 10 I would be playing with my pencil, having done a small fraction of the problems. I enjoyed school generally, but was always daydreaming etc.
In "middle" school this was still a big problem but I was beginning to get it under control, and was greatly helped by going to a different school (and repeating 6th grade there) which focused on experiential learning, had small classes, lots of individual activities, and some great outdoors adventures. It was The College School in Webster Groves, MO. I think it was there that I got turned back on to learning since it was made so exciting and I could always use my creative urges within the system.
In high school I still had problems doing homework, and my grades were always mediocre at best. But I got turned on to music in band, which helped me learn to focus, and I had particularly good math teachers. As math started becoming more conceptual and less busy-work, I became more interested in it.
In college I was gaining much more control, and double-majored in Physics and Math. Focusing in class and turning in homework in was still an issue, but my grades were adequate. Again music, a great girlfriend who helped encourage me to have better study habits, and a good deal of independant projects were all most helpful. Good teachers made a big difference as well, since I was able to stay focused in classes when I could anticipate where the class was going, and think a little bit ahead of the lectures, trying to guess what would follow. I guess this was a kind of creative way to multitask while remaining on topic and with the professor.
Though my grades weren't exemplary, with strong recommendations I was able to squeak into grad school and continue learning about physics. I found the quality of teaching a little worse, and the subject matter more difficult, so I did terribly in classes. But the research was very engaging and a fantastic creative outlet. My advisor was very hands-on and we would talk strategy for several hours a week. I think this in particular helped me stay focused.
Fortunately for me, very few employers care about your grades once you have a Ph.D in physics. Good references made my post-doc job search very easy and fun, and now I'm having a great time doing what I love to do in a completely unstructured environment. It is very challenging work, but my self-discovery throughout my education has prepared me well. I still feel like I could easily be four times more productive at work than I am now. The new and less-structured environment has been more challenging then I expected. But I am steadily learning how to regain control and am starting to make real contributions to my new experiment.
So I guess what I'm saying is that there are other ways to deal with ADD than drugs, and these ways are difficult but are ultimately more rewarding. I feel that I'm not a slave to drugs, but instead have gained mastery over my thinking. I highly doubt that I would be where I am today if I were on drugs. The ADD is perhaps an overabundance of creative energy that can be harnessed. Being mildly scatterbrained is really a great way to connect different ideas from different subjects together and form new ideas. I would also be remiss if I didn't mention religion. I feel that prayer in Christian Science has been a major factor helping me to gain control of my myself while respecting my individuality.
I know that this article has major problems, and my feathers got ruffled when I read "Motif, Tcl/Tk, wxWindows? Die!" Those are all great toolkits (except he meant to say Tk since Tcl is a programming language).
BUT, did no one here actually get the author's point? Seems like everyone just fixated on the details and ignored any possible value in the article. I don't think many people disagreed that there are too many audio interfaces in Linux that are (nearly) equally capable. Research is fun, but should every single Linux *user* need to spend hours trying to figure out why sound works in one program but not in another, and research the complete configuration of and relationships between OSS, aRts, ALSA, etc.? I have things basically working on my computer now, but I still don't completely understand it all.
Maybe the point of the article is that developing an alternative piece of software instead of working with existing code is a matter that should be seriously considered, because the cost of doing this is much larger than one might imagine. To the extent that you are successful, you would be detracting from the existing alternative software.
Probably there are two bad reasons why new projects are started when they should not be. One is that people would rather write code than read it. I guess that's psychological -- when you're writing code you feel like you're making progress, but not when reading code. The other reason is personal glory. "This is MY project!"
So, we need to be sensitive to these bad reasons, and deeply consider if what we want to have is really funudamentally different from any other OS project out there? If the differences can be overlooked or overcome in any way, then it's better to work on an existing project and/or with an existing toolset.
That said, there are also good reasons for starting from scratch, but often an existing project can do that on its own. If a change of paradigm or code structure makes sense, as the project is becoming unwieldy, that can (and does) happen. But this process is motivated by the growth of an existing project, so again even if you have some fundamentally new ideas and really want to write "Ans" by yourself, try working with sendmail first, and maybe your contribution might be the impotice for another healthy re-design.
I wanted to add that I have enjoyed the game a lot, too. I had no difficulties installing or running the game in Linux, but I already had a Windows installation on another partition (naughty me!).
The game has a few flaws -- IMO a fair number of bugs still and the original campaign is fairly bad compared with other games like Baldurs Gate.
But, it can be very fun to play if you're with a group of players that are at least trying to roleplay. Neverwinter Connections helps a great deal in organizing such games.
I think that Neverwinter Nights is the first true CRPG ever. The Dungeon Master client and toolset add the final key ingredient that seperated roleplaying games from character-based computer games. Together these allow games to be played where the game world can react to anything you say and do. Before NWN one could role-play their, say, Diablo character if they really wanted to. But that would be something a player did on their own -- the game world itself would never respond to it. Anyway, having played the Diablo and Baldurs Gate series and many others, I can say that NWN is completely different if you're playing with a dedicated group online.
BTW, the Aurora toolset is not being ported to Linux or MacOS. I see that someone did some work get the toolset working under wine, but I don't know what the current status is. I haven't been brave enough to try it with wine yet, since 95% of my past attempts at getting anything to work under wine have failed. Does anyone know what's up?
I'm an experimental particle physicist, and most of the mathematics packages I use are home-brew libraries (mostly C++ w/ bits of older Fortran). I think for me a multi-dimensional function minimizer is just about the most complex tool used, and it is used constantly -- tens to thousands of times per day. Unfortunately, it's not a trivial problem and different minimizers will often produce different results. The only one that I know which is semi-free and basically functional is MINUIT, part of CERNLIB (in Fortran). I've recently been searching hard for an open-source minimizer to replace this, written in C/C++. I would also like to see one in Java, for a few reasons (I'd rather an applet than a CGI script).
The GNU scientific library has a very crude minimizer that's too simplistic for my needs (I want things like the curvature at minimum which can be inverted to give a coordinate covariance matrix). I most often use the minimizer to fit various functional forms to observed statistical distributions.
I am surprised at the lack of an up-to-date open-source minimizer, because so many university researchers use these kinds of tools, and are in an environment where commercial solutions are painfully expensive and a schism for any multi-university collaboration. A lot of phycisists write good code prolifically, but far too few support/contribute to open-source projects!
I was reading through Numerical Recipies recently, and was also taken aback by their licensing policies. The algorithms in the book are simple solutions which have been previously published by others in journals and such. And the code is just a direct adaptation (translation really) of the algorithm. Yet somehow their code, or any translations of it, are under copyright? I think it's foul-play like this that are the reason there are so many high-quality commercial mathematics packages, and so few open-source ones.
I agree here, and more generally that Mathematica is very inefficient at doing a lot of basic things.
I would break down problems into two types: Those that Mathematica can solve quickly and easily, and those that it can't. For the latter category, I would think that 99% of the time the proper solution is to use something other than Mathematica, not distributed computing.
I find that when (in Mathematica) something takes more than a few seconds, it's because I'm doing it wrong or I should code the problem in C or something else. After the first several seconds have elapsed, I either abort the calculation and figure out how I screwed up, or if I'm desperate and it's late, I'll let it run overnight. Then when I return, it will either still be running or will have produced a result that I didn't want anyway. So in my experience, throwing more CPU time at Mathematica is almost never helpful. On the computing cluster I used during grad school, every week or two I would find that my analysis jobs were running slowly, because someone had a runaway mathematica kernel going at interactive priority. If it's using significant CPU, kill it! Don't give it more CPU's to burn!
I think Mathematica is great, and worth the cost if you do a lot of mathematics. But like any program, you have to know when to use it. Too many people have been trained on Mathematica and little else, and they can't understand why it takes mathematica an hour to integrate a wave packet (and still gets it wrong), while a C program can get the right answer in microseconds. You can actually do this with Mathematica if you're bent on it, but you can't use Integrate or NIntegrate -- you have to do it as a sum, and it still takes several minutes. That's just one example of many I've experienced. Same principle applies when doing symbolic math, too.
If the Windows users are comfortable with DOS and love using EDLN to edit their files, write HTML, etc... THEN they'll love vi -- its so much more intuitive and user-friendly. Otherwise, keep it off the CD.
Here's a Perl script to do what you want that's not too bad. I left out comments to be fair, but normally even for a tiny program like this I'd include a couple just to remind me what it's supposed to do and for a quick hint of what substr does:
To my mind, this alone is not bad. (Sorry the tabbing didn't come through.) No one in their right mind would remember the calling syntax of substr(), but that's what "perldoc -f substr" is for. In fact I even forgot about substr but the docs for "chop" refered to it.
If you feel that this is too much code for such a simple task, it can be shortened to:
If you're up on what -n does (just try "perl -h"), and are a bit more comfortable with C's printf, this might even be easier to read to boot. And, it's a reasonable size to enter on the command line using "perl -e". But my first example tries to do just one thing at a time and that's crucial for readable code.
It's funny that the article made so many claims about how firecely the DoE closed things down at the lab, and how they oversee nuclear weapons and such. Yes, Fermilab is funded by the DoE, and so they fall under the same rules for terrorist paranoia. But the lab has an extremely small amount of radioactive material on site. Mostly it's just small check sources and such for testing detectors. There are some slightly stronger sources for testing calorimeters, and I think there's even a tiny amount of Uranium, but not even close to a critical mass of the stuff. They do not have a nuclear reactor on site. No weapons research is being done there, only particle physics with the accellerator with a bit of astrophysics and neutron therapy on the side.
Fermilab has really been suffering from tighter restrictions since 9/11. They have a lot of community outreach programs, but these days it's not as easy for the public to visit the lab. They still can, but have to jump through a hoop or two. It's really too bad. It used to be completely open, and folks would often be seen fishing, hiking the prairie, or watching the geese and buffalo.
As for "confidential" material that a hacker could access -- The experiments are publicly funded and the data is all, technically, publicly available. But in practice the data from the various experiments is generally kept somewhat secure just so that physicists on competing experiments have a hard time "stealing" the data. But honestly, in order to make any sense at all of this kind of data you'll need a hundred people with an intimate knowledge of the experiment spending a few years on analysis. All experimental results are published in journals and are freely available on the web.
As for tampering with the data, well that's possible but to influence anything you'd have to be impossibly clever and hack systematic changes into tens of TB of raw data, which would require figuring out how it's packed, what it all means, and knowing enough physics to search for events and adjusting things accordingly. For any single individual, that's just impossible.
As for controlling the accellerator, that's ridiculous too. First of all, there is a lot of analog electronics controlling the thing in addition to the computers, and it requires a sizeable team of scientists to operate. I'm sure that someone could cause troubles if they wanted, but never any damage. The worst that could happen is for a magnet in the Tevatron to overheat and no longer superconduct. When that happens the magnet boils off a lot of liquid helium as a protective measure, and the beam wrecks into the sides of the beampipe. This happens every few weeks anyway, without the help of hackers. There is nothing dangerous you could do with the beam, aside from entering the tunnel and sticking your head near it. And to do that you have to cleverly defeat all the interlocks. I've even seen a curious colony of ants trip the interlocks, shutting down the accellerator for a couple hours.
The lab is big on security simply because it's funded by the DoE. There's no other good reason for it. It DOES tend to be a target for hackers because they have lots of computers, mostly running Linux (with pockets of AIX, IRIX, Solaris, OSF1, and VMS), and (forgive me) the computing staff really means well but often screws up. Nothing is a "decision", it's always a "policy". They have gone with Kerberos and some crypto-card thing which is entirely insecure. They must have known about the possible exploits of the crypto-card system years ago, as I knew someone who figured out a couple (very easily) and were trying to let the Fermilab computing group know about it in the best way. I think the blame lies in trying to keep telnet ports open for people who need to log in remotely from computers running Windows that do not have an SSH client installed.
I agree here. The expansion or Arwen's role was really necessary for today's audiences. My wife and I read the books together (before the movies), and she was very critical of Tolkein's treatment of the romance subplots. Compared with the rich detail in every other aspect (plot, timeline, scenery, tradition, language, weather, geology, etc), the romance was hardly there at all. Even Eowyn's role needed more material to be on a par with the importance of her character. Tolkein had some good ideas for the women in his story, but it seems as if he was not comfortable writing about them, and the romantic elements seemed stiffled.
The author of The Nitpicker's Guide states at the end that Arwen's expanded role was the biggest mistake of the adaptation. He goes on to say that the women viewers should be happy enough with the closeups of Orlando Bloom and Viggo Mortensen. Typical geek assumption -- that women don't care about plot or romance, only beefcake. Well, if Leonardo's character in Titanic didn't have a romance, I doubt any girl would have seen the movie more than once.
I don't like everything about the movie adaptation, but I have no quarrels with Arwen's role. What Jackson added was not out of character for Arwen, Elrond, or Aragorn. Denethor and Faramir seemed more out of character, and that I had problems with.
I was thinking the same thing, but the movie also had the flashback scene where Boromir was sent to attend the council of Elrond. In the book I thought that Denethor was not yet poisoned by Sauron at that point, and yet in the movie scene Denethor's character seems consistent with his crazy appearance at the end. So if Jackson was going to introduce that plot element, Denethor's prideful mistake, you'd think that we would see a more likable Denethor in the flashback.
So I was a little dissapointed in the movie when I did not see anything likable in Denethor. There are many shades of grey between good and evil in the trilogy, and Denethor is one of the darker shades. But the audience is missing a lot if they can't relate to his actions at any point. The movie portrays him as an unforgiving and biased father, which is partly true to the books, but in the books you could see goodness in him, and human weakness that led to an understandable but poor decision which snowballed.
But in most other ways I respect Jackson's diversions from the books.
I bet that anyone can write gobbledygook in any language if they take some kind of sick pleasure in that sort of thing. And I'll agree that Perl is one of the best languages for writing gobbledygook. But most Perl code I've read and written is, to me, very easy to read. Easier even than most C++, where to read any given line of code you need to look up a class header or two and pray they are thoroughly commented.
I'm not a disciplened programmer by any standard, being mostly self-taught, but I can still read through 3 or 4-year-old Perl programs that I wrote with ease. In addition, I've had someone with very little programming experience and no Perl knowlegde at all actually successfully debug one of my Perl scripts! (It was a couple hundred lines long to boot.) Their comment was that it was very easy to read. I also find other people's Perl code to be (usually) easy to read, especially when they make some reasonable stylistic choices and stick with them.
This is intentional. Perl is designed by a linguist to read like English. A competent programmer will take advantage of this to write VERY readable code. It also borrows syntax from C, shells, sed, and awk. This gives it a fast learning curve and familliar appearance for Unix programmers. I don't know sed or awk, but thanks to Perl I can now read them to some extent.
A lot of people focus on how Perl is not the absolute best programming language for this or that kind of job, but I find that it's extremely good at handling an enormous variety of tasks. It takes the blue ribbon for text parsing, and partly for that reason it's great for job control (automation or "glue"). It has such a rich library that Perl one-liners are often useful.
It has simple yet powerful data structures and for that reason I use it a lot for simple data analysis. For numerical work, I use different tools depending on the complexity: Calculator -> spreadsheet -> Perl -> C++. Excluding the calculator (which for me is a Perl script I wrote), I'd say I use a spreadsheet 10% of the time, a Perl script 80% of the time, and C/C++ the remaining 10% when performance begins to matter. Oh I use Mathematica too, but strictly for symbolic computation. For numerical work, Mathematica is akward to program and inefficient beyond a fertile imagination!
So while I don't think Perl is right for every task, it's definately readable (in practice) and it's nearly the best tool for a great many tasks.
p.s. I learned Perl in '96 when I was doing a lot of programming in Fortran (not by choice!). Fortran is actually quite good for number crunching, but horrible for anything else. Perl is great for almost everything but number crunching (it's a bit slow there). So those two languages made for a nice, however odd, pair. My first Perl scripts would provide the command-line, GUI, or web-based interfaces to lots of Fortran executables.
It basically says that small particles (such as most molecules in our atmosphere) reflect blue light more than red light because the wavelength is smaller at the blue end of the spectrum, comperable with the sizes of the molecules.
But Mars has a fair amount of dust in the atmosphere, and the particles are generally large enough so that the color reflected by them depends more on the composition of the dust than its size. The material is "magnetite", which absorbs blue light more than red. They say that without the dust, the martian sky would appear blue as it does on Earth. The link also provides true-color images.
Comments below indicate that the recent press release images were actually taken with infrared filters, so those images are false color no matter how we see them. Some of them are doctored to approximate true color and others are doctored to be too reddish. But the colors on the sundial are of no help since they are really being viewed in the infrared.
I'm surprised that this book got an "8" for offering such profoundly useful advice such as how to eliminate popups or to use less ink in your printer by using economy mode. Did any of the advice mentioned in the review even remotely pique your interest (assuming you have to deal with Windows at all)? When auto-correct annoyed me (which it also did in OpenOffice), I looked through the options and turned it off. If that's too hard to figure out without a book, then you need some basic software education instead of a grab-bag of "tricks".
I wonder what versions of Windows the book refers to? I thought PowerDesk only worked for Windows 95-ME. And what software is it really addressing? If it's giving any advice about Internet Explorer, I hope that it's to remove all file associations and hide all links to it by deleting them or burying them deeply in Start Menu/Programs/Accessories/Unsupported Software/Mistakes/Don't Go Here/Did You Try Mozilla?/FireBird?/Opera?/You Can't Be Serious!/Are You Really Really Sure?/Okay But Don't Blame OReilly/.
Even with supermount, one still needs to set up the appropriate entries in /etc/fstab to get things working properly. Supermount mounts on demand, but it does not detect hardware.
/dev/sda. This was no big deal (took me a couple minutes), but I don't call that "just working." In Windows XP, you plug in the camera and the dialog pops up asking if you want to view the files, etc. Most USB storage devices don't need special drivers in XP.
When I connected a camera to my laptop (running Mandrake which comes with supermount), I still had to search google/hotwo's to realize that it would connect through
Now I'm running gentoo, and discovered that supermount was not in the default kernels. Again, no big deal if you're used to using patch, compiling the kernel, etc. But not everybody thrills to that prospect.
I tried working with two monitors, but was set back by two problems.
I'm using a laptop with a 15" UXGA screen, and none of the spare CRT monitors lying around are sharp enough to work at that resolution (1600x1200). If I use a lower resolution on my attached monitor, it becomes just a little bit akward. Also there's the issue of looking up-and-to-the-right since the laptop panel is right on the desk.
My other complaint is also laptop-related. To switch to two monitors, I need to use a different XF86Config file and restart X. I haven't yet figured out how to select a particular XF86Config file (or even switch soft links) based on kernel boot parameters which could be selected from a grub/lilo menu. Maybe someone here knows how to do that?
I thought you could do that...
for example:
Option "TwinViewOrientation" "LeftOf"
All the examples you've stated and many others like them show why the now "US customary" system of measurements is so attrocious. So many of these units have different meanings depending on their context, and not everyone is an expert in everything and able to discern the appropriate context.
The metric system and the SI prefixes, however, are designed to be suitable for the age that we live in, where science not banned or heretical, and people can communicate across the continents with ease. It's designed to defuddle communication.
Why should we want the computer industry to break this, by "overloading" the SI prefixes?
It's also funny to hear people say things like "Everyone should just switch to the binary prefixes." Keep in mind that "binary" prefixes are used exclusively for bytes and nothing else, while at least thousands of other units all use the traditional SI prefixes. I think even bits are coupled with the standard prefixes -- for example 100 Mb/sec is 100,000,000 bits per second.
The wacky world of kB, MB, GB, TB, etc. is microscopic compared to all the other (legitimate) uses of the SI prefixes. Using kiB, MiB, and such isn't difficult and really does improve communication at times. Is this suggestion really so onerous that we have to needlessly promote confusion where it didn't exist before?
I didn't think the article was very good at all. Even the author seemed a little confused, and the explanation seemed unnecessarily obtuse for a very simple concept. I think the NIST web page offers a much more concise and easy-to-understand explanation, which is basically that the age-old metric prefixes have been bastardized by the computing industry, and now these prefixes have two meanings.
What I didn't like about the article in particular is the sloppy wording anout binary numbers and decimal numbers, binary math, and decimal math. The author says things like "120.6 is not the binary capacity of the drive", "weird that a kilobyte (which is in fact a binary number)," and so on. Then when he tries to be correct, it becomes akward and he fails anyway: "1024 x 1024 x 1024 = 1,073,741,824 = 1 GB (base 2 converted to base 10)."
I think the entire discussion could be done more accurately and gracefully by getting rid of the word "binary" entirely. Well, one could use the word in sentences like "Memory manufacturers and operating systems often use the prefix kilo to refer to 2^10, (which is 100,0000,0000 in binary notation, a nice round number), as opposed to the more usual meaning of 10^3 (1,000 in decimal notation, a nice round number)."
As much as I like the NIST recommendation, and use it myself a bit whenever the meaning might not be clear, I'm more prone to accepting that the prefixes, like most words, have a meaning which depends on the context. The real problem is that the context is not obvious to most people.
He also writes "These numbers are all conventional base 10 arithmetic, of which you are all familliar with, especially if you paid attention in math class." If he left this sentence out entirely, he would improve the paper. People naturally assume that all numbers are written in base 10 unless explicitly stated otherwise, and he does use base 10 exclusively throughout the paper. So this just gets readers worried that he might start writing numbers in a different base, and that the attention they didn't pay in math class would bite them pretty soon. And by using the term "arithmetic" (makes no sense in this context), I began to wonder if the author was paying attention.
I'm nitpicking a little, but really I think the NIST website is much more informative, offers a workable solution, and should have definately been referenced by the PDF. And yes, this is old news, but it's old news that many people still haven't read.
I haven't tried this approach, so I can't really criticise it, but...
I find that whenever I'm really attentive in class and am learning, that I'm thinking just a little bit ahead of the presentation. What's coming next? Where is he/she going? What about if...oh, yeah. When I'm able to participate in a lecture in this way, I am truly learning the subject. When I'm not, most often I feel lost and frequently tune-out the lecture. (For me this particularly pertains to science and math courses, but other subjects as well.) For me to really be following along like that, various things need to happen. First, the lecturer must be good enough to explain where they are headed every now and then, and take time to relate things, form connections. The pacing must be right -- uh oh, high-speed viewers! And I must be prepared and mentally willing to engage.
I would guess that watching a lecture at high speed would not allow one to mentally engage in the lecture in this way. And, for me anyway, simple passive listening is almost completely ineffective by comparison, and really is a waste of time. If that's all a student is doing anyway, then I'm sure speeding it up helps because it demands paying more attention, and wastes that much less of their time (assuming the time would otherwise be spent thinking and learning).
I agree with your hardware and software complaints here. But I wanted to respond to one thing you said in the beginning, that you're an "end user" and not a professional programmer. I think that this viewpoint is part of the main difference between Linux (and pretty much all of the open source world) and Microsoft. The programming tools for Windows are expensive and many have a steep learning curve. So most Windows programmers are either professionals or think they should be (via shareware/demoware). They also don't think in terms of building libraries or tools, but rather in terms of complete, monolithic programs.
.dll library that did the job, but when I ran into some problems (I wanted to use a port on an expansion card), the author was unresponsive, and simply wanted to sell me the source code for $1000. This would have been much easier to get working in Linux, and in fact I wrote the code in Linux. We ended up with a good working program, but it could only run on the primary parallel port. This helped teach me how hard and expensive it is to program for Windows.
In Linux, I find the prevailing attitude is that computers run programs, so people who use them whould be able to write programs. Thus, the programming tools are much mure prevalent, are almost considered part of the OS (okay if I say that then I really have to say "GNU/Linux"), and are designed to be easier to learn and use.
Now, even with some programming experience, I usually can't resolve compilation errors in software unless I'm working on the code or am willing to spend a LOT of time with it. So I'm not arguing that you should be able to port code or patch up a flaky code release. But I just wanted to insinuate that the real power of Linux is seen when you think like a programmer, and learn a little about shell scripting or Perl, Python, Tcl, or whatever. In Linux, a little knowledge goes a long way. Given the massive availability of simple pieces of software, these powerful scripting languages allow you to glue these various programs together in amazing ways.
As people contribute more free software, everyone's life becomes a little bit easier because there are more libraries or examples to draw from when programming. It's already not hard to write some simple p2p applications, for example. But it remains difficult to port these projects to Windows, since different (and generally poorer) libraries are avaiable, and many of them are insanely expensive.
I recently worked on writing a simple GUI to control some hardware through a parallel port. This was for a friend who wanted to run this under Windows. I wrote it in Perl/Tk, but had a very hard time finding a tool in Windows to control the parallel port. I finally found a "free"
You're hoping for programs that work in any OS, and such programs certainly do exist. But do not take them for granted. For reasons such as these, the switch to Linux must often be motivated by more than mere convenience. Yes, you'll loose some software capability at first, and some hardware options. But I think it's worth it in the long run. Maybe not for you, right now, but eventually I hope.
I have the same problem, and it takes just over two minutes for me to boot into a KDE desktop (with a konsole and emacs) from power-on. I LOVE this idea of parallel bootup scripts!
updatedb is really nice, and even in the daily crontab I don't think it slows bootup much. It runs in the background. If it interferes slightly with the init scripts, one could put a 2-5 minute delay (sleep) in the slocate.cron script.
Part (half?) of the problem is that KDE is slow to boot up. I think that gnome is faster by a factor of two. Perhaps KDE could also benefit from parallelization during init?
Anyway, I'm starting to get aggravated by all the posts here saying "My *server* doesn't need faster boot-up times!" All these posts (and they're about 95% now) are off-topic IMO. What happened to all the Linux-on-the-desktop advocates? Why are only server-admins reading this thread when they don't care anyway?
I have to concur here. I've been running Linux on a Dell Inspiron 8200 for the past year, and have never gotten sleep or suspend-to-disk working. Evidently the NVidia driver doesn't support it when using AGP. I like AGP for things like, oh, say Neverwinter Nights...
This is just one of many problems with suspending Linux. In fact, probably 3/4 of the people I know running Windows have at least one piece of hardware that crashes the computer if they try to use sleep mode. I guess suspend works for *some* people, but I doubt it works for a majority. So boot-up times are a big deal to me.
I also want to add that I'd been kicking around in my head the idea of starting services in parallel for a long time now, but I never realized how nicely `make' solves the problem. I had imagined writing complex Perl scripts to do the work, and it's always a pain to work out whether or not forked processes have completed in Perl.
As someone who only speaks one language (called "an American") I find it an easy mistake to judge someone's intelligence by how well they speak English. It sounds like the author(s) of the stuff on this webpage are making the same mistake too. But as a physicist, I work with a lot of other people with Ph.D's for whom English is a second (or 3rd, 4th, or 5th) language, so my mistaken prejudices are gradually wearing off.
For one example, I think that most foreign physicists I work with have better written grammar than the average US physicist, as more often than not these folks write the best papers. And on the other hand, I knew another fellow student who had great trouble speaking and writing English (and programming languages for that matter) in spite of several years of learning and speaking in the US, but who was an absolutely brilliant mathematician and theoretical physicist.
So, a person's English-speaking skills are not a good measure of how well they communicate. And communication is just one dimension of intelligence, which itself is a massively multidimensional thing. IMHO intelligence is impossible to quantify in any meaningful way.
I hate to admit it, but my nvidia drivers have been wreaking havok on my Linux laptop. I'm doing better now since I know to never close the lid or allow the screen to blank when running on batteries. The frequent crashes when starting and stopping X have been eliminated by not using VESA-fb anymore. But for a while my Linux system was crashing (complete system lockup) more often than a mid-90's Macintosh!! I can't think of a worse insult than that.
I'm now testing out the more recent Nvidia drivers (4496) and it's good so far, but I haven't been using it for long and haven't tried anything "dangerous" yet. Earlier drivers (=2960) were MUCH more stable but I can't seem to revert back.
I know this doesn't refute your argument. The nvidia drivers are proprietary with an open source wrapper. And with Linux machines running 100% open source drivers, I've seen uptimes that rivaled VMS systems. Genuine Linux kernel crashes on a stable system are so rare I've only seen two or three in 8 years of working with Linux on dozens of computers.
But Linux is no better than Windows in that "3rd-party" (in this case proprietary) drivers are still allowed, are often necessary, and are most likely responsible for system crashes. Well, actually I see a Windows NT BSOD every couple of weeks, and if half of these are due to Windows code, then the Linux kernel is more stable by a couple orders of magnitude.
I agree, though you are perhaps a bit harsh. I was impressed that they attempted to put errorbars on their statistics at all, which puts them leaps and bounds ahead of the moronic masses. Take, for example, Consumer Reports. Do you ever see any kind of statistical significance of their results? No, they consider their highest rated model to always be significantly superior to the others, no matter what the margin of victory was.
.4 - .6, much less than 1!) Probably the errors are correlated because they reflect the common fluctuations of some people rating everything high, and others rating everything low. So, if you believe their errorbars then the results are insignificant. If you don't (for good reason) the results are meaningless. Take your pick.
Now that I've complimented this AAC comparison for its errorbars, I have to say that they were completely ignored/misunderstood. If you take the results at face value, you have to conclude that:
"QuickTime, Sorenson Squeeze, Psytel AACenc and Nero are tied for first place, with Faac slightly disfavored."
It looks to me like one can make the statement that Faac is worse than all the others with only about 85% confidence. 85% is just a rough guess by eye, but it's certainly not even 95%! To say that "QuickTime is a clear winner" is utter bunk, and "Faac is clearly the worst" is way too strongly worded. And this is not even taking into account the systematic errors arising from a poorly-controlled test.
Wait, doing just a little bit of number crunching... I think that the correct interpretation of the results is that the ratings of all five encoders are remarkably consistent! (The chi-square/DOF is around
I agree that you don't need pills to deal with this. I think that taking pills for problems like this is at best a temporary way to avoid the problem, and will always lead to complications later. There are better solutions.
I believe that I would have been diagnosed with ADD as a child if it were as popular in the 70's and 80's as it was in the 90's. Certainly all of the symptoms associated with it are all too familliar to me. However, I have never taken medication for it and have managed things just fine.
In grade school I always had great difficulty doing homework, and focusing in class. I particularly hated math, and was always at the rock bottom of my class in timed math tests. When given 100 multiplication problems to solve, most of the class would finish in 3-5 minutes but after 10 I would be playing with my pencil, having done a small fraction of the problems. I enjoyed school generally, but was always daydreaming etc.
In "middle" school this was still a big problem but I was beginning to get it under control, and was greatly helped by going to a different school (and repeating 6th grade there) which focused on experiential learning, had small classes, lots of individual activities, and some great outdoors adventures. It was The College School in Webster Groves, MO. I think it was there that I got turned back on to learning since it was made so exciting and I could always use my creative urges within the system.
In high school I still had problems doing homework, and my grades were always mediocre at best. But I got turned on to music in band, which helped me learn to focus, and I had particularly good math teachers. As math started becoming more conceptual and less busy-work, I became more interested in it.
In college I was gaining much more control, and double-majored in Physics and Math. Focusing in class and turning in homework in was still an issue, but my grades were adequate. Again music, a great girlfriend who helped encourage me to have better study habits, and a good deal of independant projects were all most helpful. Good teachers made a big difference as well, since I was able to stay focused in classes when I could anticipate where the class was going, and think a little bit ahead of the lectures, trying to guess what would follow. I guess this was a kind of creative way to multitask while remaining on topic and with the professor.
Though my grades weren't exemplary, with strong recommendations I was able to squeak into grad school and continue learning about physics. I found the quality of teaching a little worse, and the subject matter more difficult, so I did terribly in classes. But the research was very engaging and a fantastic creative outlet. My advisor was very hands-on and we would talk strategy for several hours a week. I think this in particular helped me stay focused.
Fortunately for me, very few employers care about your grades once you have a Ph.D in physics. Good references made my post-doc job search very easy and fun, and now I'm having a great time doing what I love to do in a completely unstructured environment. It is very challenging work, but my self-discovery throughout my education has prepared me well. I still feel like I could easily be four times more productive at work than I am now. The new and less-structured environment has been more challenging then I expected. But I am steadily learning how to regain control and am starting to make real contributions to my new experiment.
So I guess what I'm saying is that there are other ways to deal with ADD than drugs, and these ways are difficult but are ultimately more rewarding. I feel that I'm not a slave to drugs, but instead have gained mastery over my thinking. I highly doubt that I would be where I am today if I were on drugs. The ADD is perhaps an overabundance of creative energy that can be harnessed. Being mildly scatterbrained is really a great way to connect different ideas from different subjects together and form new ideas. I would also be remiss if I didn't mention religion. I feel that prayer in Christian Science has been a major factor helping me to gain control of my myself while respecting my individuality.
I know that this article has major problems, and my feathers got ruffled when I read "Motif, Tcl/Tk, wxWindows? Die!" Those are all great toolkits (except he meant to say Tk since Tcl is a programming language).
BUT, did no one here actually get the author's point? Seems like everyone just fixated on the details and ignored any possible value in the article. I don't think many people disagreed that there are too many audio interfaces in Linux that are (nearly) equally capable. Research is fun, but should every single Linux *user* need to spend hours trying to figure out why sound works in one program but not in another, and research the complete configuration of and relationships between OSS, aRts, ALSA, etc.? I have things basically working on my computer now, but I still don't completely understand it all.
Maybe the point of the article is that developing an alternative piece of software instead of working with existing code is a matter that should be seriously considered, because the cost of doing this is much larger than one might imagine. To the extent that you are successful, you would be detracting from the existing alternative software.
Probably there are two bad reasons why new projects are started when they should not be. One is that people would rather write code than read it. I guess that's psychological -- when you're writing code you feel like you're making progress, but not when reading code. The other reason is personal glory. "This is MY project!"
So, we need to be sensitive to these bad reasons, and deeply consider if what we want to have is really funudamentally different from any other OS project out there? If the differences can be overlooked or overcome in any way, then it's better to work on an existing project and/or with an existing toolset.
That said, there are also good reasons for starting from scratch, but often an existing project can do that on its own. If a change of paradigm or code structure makes sense, as the project is becoming unwieldy, that can (and does) happen. But this process is motivated by the growth of an existing project, so again even if you have some fundamentally new ideas and really want to write "Ans" by yourself, try working with sendmail first, and maybe your contribution might be the impotice for another healthy re-design.
The game has a few flaws -- IMO a fair number of bugs still and the original campaign is fairly bad compared with other games like Baldurs Gate.
But, it can be very fun to play if you're with a group of players that are at least trying to roleplay. Neverwinter Connections helps a great deal in organizing such games.
I think that Neverwinter Nights is the first true CRPG ever. The Dungeon Master client and toolset add the final key ingredient that seperated roleplaying games from character-based computer games. Together these allow games to be played where the game world can react to anything you say and do. Before NWN one could role-play their, say, Diablo character if they really wanted to. But that would be something a player did on their own -- the game world itself would never respond to it. Anyway, having played the Diablo and Baldurs Gate series and many others, I can say that NWN is completely different if you're playing with a dedicated group online.
BTW, the Aurora toolset is not being ported to Linux or MacOS. I see that someone did some work get the toolset working under wine, but I don't know what the current status is. I haven't been brave enough to try it with wine yet, since 95% of my past attempts at getting anything to work under wine have failed. Does anyone know what's up?
I'm an experimental particle physicist, and most of the mathematics packages I use are home-brew libraries (mostly C++ w/ bits of older Fortran). I think for me a multi-dimensional function minimizer is just about the most complex tool used, and it is used constantly -- tens to thousands of times per day. Unfortunately, it's not a trivial problem and different minimizers will often produce different results. The only one that I know which is semi-free and basically functional is MINUIT, part of CERNLIB (in Fortran). I've recently been searching hard for an open-source minimizer to replace this, written in C/C++. I would also like to see one in Java, for a few reasons (I'd rather an applet than a CGI script).
The GNU scientific library has a very crude minimizer that's too simplistic for my needs (I want things like the curvature at minimum which can be inverted to give a coordinate covariance matrix). I most often use the minimizer to fit various functional forms to observed statistical distributions.
I am surprised at the lack of an up-to-date open-source minimizer, because so many university researchers use these kinds of tools, and are in an environment where commercial solutions are painfully expensive and a schism for any multi-university collaboration. A lot of phycisists write good code prolifically, but far too few support/contribute to open-source projects!
I was reading through Numerical Recipies recently, and was also taken aback by their licensing policies. The algorithms in the book are simple solutions which have been previously published by others in journals and such. And the code is just a direct adaptation (translation really) of the algorithm. Yet somehow their code, or any translations of it, are under copyright? I think it's foul-play like this that are the reason there are so many high-quality commercial mathematics packages, and so few open-source ones.
I agree here, and more generally that Mathematica is very inefficient at doing a lot of basic things.
I would break down problems into two types: Those that Mathematica can solve quickly and easily, and those that it can't. For the latter category, I would think that 99% of the time the proper solution is to use something other than Mathematica, not distributed computing.
I find that when (in Mathematica) something takes more than a few seconds, it's because I'm doing it wrong or I should code the problem in C or something else. After the first several seconds have elapsed, I either abort the calculation and figure out how I screwed up, or if I'm desperate and it's late, I'll let it run overnight. Then when I return, it will either still be running or will have produced a result that I didn't want anyway. So in my experience, throwing more CPU time at Mathematica is almost never helpful. On the computing cluster I used during grad school, every week or two I would find that my analysis jobs were running slowly, because someone had a runaway mathematica kernel going at interactive priority. If it's using significant CPU, kill it! Don't give it more CPU's to burn!
I think Mathematica is great, and worth the cost if you do a lot of mathematics. But like any program, you have to know when to use it. Too many people have been trained on Mathematica and little else, and they can't understand why it takes mathematica an hour to integrate a wave packet (and still gets it wrong), while a C program can get the right answer in microseconds. You can actually do this with Mathematica if you're bent on it, but you can't use Integrate or NIntegrate -- you have to do it as a sum, and it still takes several minutes. That's just one example of many I've experienced. Same principle applies when doing symbolic math, too.
I'd only make one amendment to your advice here:
If the Windows users are comfortable with DOS and love using EDLN to edit their files, write HTML, etc... THEN they'll love vi -- its so much more intuitive and user-friendly. Otherwise, keep it off the CD.