support code that no one really understands What does he mean by this? He's equating more manageable code with slower code. Is he implying that complex, unmaintainable code is faster? I've never seen that to be the case.
From my experience, there has been a substantial increase in abstraction that has occured with many modern operating systems. In addition, even if you are not directly aware of it as a user, there are many libraries that application developers take advantage of. The issue is trying to track down the library depencencies. When you do something like click on a button, there is usually a whole chain of software functions, and each layer of abstraction adds to the CPU time to accomplish the task you wanted to work on.
There are even issues involved when using software abstractions like COM, CORBA, Bonabo, dotNet, etc. that have a huge impact on performance. When you are writing software, often it is easier to use prewritten functions that are found in a standard library rather than rewriting it yourself, but the trade-off is that you have to pay for it with decreased performance.
There are still some benefits for using library routines, even if "reinventing the wheel" will give you a huge performance boost. Primarily, you know the library has already been "debugged", so you don't have to (usually) check to see if that code is not working correctly. Also, there are issues with standardization of software interfaces so if you want to change the behavior of the system (change the skin on all of the windows on your desktop, for instance) everything is behaving in a uniform manner. You may be able to speed up drawing a window on the screen, but it would not fit with what all of the other windows on the desktop are doing.
This is what leads to this bloat, and yes, the code is more manageable but substantially (100 x or more the CPU usage) slower. I have indeed seen this to be the case, and it is not strictly the Q/A issues but the overhead of trying to access the library functions themselves. Ideally you would have directly linking at compile time to the libraries, but that is often not available to programmers. And each layer of abstraction adds just a little bit more CPU time to deal with.
I want to start by saying that most computers that are around today could indeed by made into multi-user timeshare computers that would blow away anything that was made in the 1970's. The key is that you have to have the right software installed on that computer, and the I/O devices available to be able to support those users. Some of those early computers had the equivalent of 100 serial I/O connections, something that is seldom if ever seen on a PC platform.
If you installed Linux onto a computer with a Pentium CPU and had a dozen or so serial ports, with some "dumb" ASCII terminals, I think you would be surprised at how many users you could support simultaneously. Just as the author of the article pointed out, there is feature bloat that is sucking up the CPU bandwidth, and in many cases doing stuff that really isn't necessary.
This is also why I refuse to buy another Microsoft operating system, because the feature bloat that has been put into Windows XP is just over the top for me, and I can't find (easily) a way to turn most of that garbage off.
I would suggest that the I/O issues you are talking about are not nearly so much of a problem as the bloat the operating system is going through trying to deal with the I/O issues. Even Linux is bloated for I/O control, but at least it is a bit more manageable than some of the propritary operating systems.
I need to add my $0.02 here as a crusty old school programmer who learned how to program when assembly was a major item to learn. I also want to add to the comment already made in reply here.
When I am programming, I am very aware of each and every instruction that I am writing, even when using a HLL to write the code. That is perhaps the primary reason that even if you don't do everything in assembly, you should be at least knowlegeable enough to understand the whole process from the gate level up through GUI design motifs. In order to really get the performance out of a computer that you need, this understanding has to be there.
This is also what seperates the very good programmers from the mediocre. I am still trying to expand my sphere of knowledge regarding computer design, compiler theory, and software structures, and while I consider my knowlege to be pretty good, it is still not as much as I want to know. This is no different than an artist understanding paint dyes or a good photographer that has at least experimented with creating their own negatives and manufacturing their own camera (aka Ansel Adams). To be at the top of the game you really need to know as many of the low-level details as you can learn.
I would also beg to differ about the need to learn about 3D graphic programming, GUI development, or OOP abstraction is an excuse to not learn basic Boolean logic, finite state machines, and bit-wise number manipulation. Again, just like any human endeavor, you need to learn the basics and the foundation before you can move on to really understand the more abstract concepts.
I think that too many young programmers are missing these basics, and unfortunately totally lack even the capability to write their own compiler, or the ability to tap into the resources of the computer itself. Unfortunately, many university computer science programs are geared to producing programming drones for large software companies, and these students are being graduated with skills that are there just to be able to get the job done. They are also being taught that they no longer have to worry about memory bloat, and that CPU speed is not really an issue. Since most beginner's programs are usually so fast that the speed is inperceptable, they are lulled into thinking that as long as the job gets done they don't need to worry about tweaking performance.
In many ways I really appreciate the contraints in the old 8-bit CPUs, as it taught the need for optimization that when carried over to 32-bit and 64-bit processors still provides huge benefits.
This is almost like the terms apogee and perigee that get transformed to things like apohelion and perihelion or apojove and perijove. They all refer to defintions of point in an orbit, but also refer to the object that item is orbiting.
I would have to agree with you that there is really only one Solar System, but there needs to be a more generic term, and at the moment solar system happens to be handy absent any other reasonable term (like "star system" that seems to indicate only collections of stars alone, not with planets).
BTW, the name of our sun is simply "The Sun". Sol is the name of the Sun in Latin, hence solar (because acedemic high brows think anglo-saxon terms are insufficient for scientific descriptions). If you were speaking a romance language derived from Latin, you would already know that the name of our star is Sol, as that is the word used to describe it in those languages.
Science Fiction writers, because of necessity due to a lack of vocabulary, tend to use the Latin term of Sol for our sun when specifically describing the star that the Earth (old home Terra, another Latin term there) orbits and is dominated by. The big ball of nuclear fusion in the sky around on any other planet in SF stories is also simply called "The Sun". By using Latin in these cases, it also makes the stories seem a little more exotic.
From my own viewpoint, talking about "the Earth" and "the Sun" is just fine, and I like the Anglo-Saxon terms very well. As an English speaker, I don't need the Latin terms.
Unfortunately, because this is a relatively new area the terminology is still not nailed down, and science journalists are not very good at coining new terms. Instead they rely on the researchers to come up with the terminology, which in this case is seriously lagging behind what needs to be described.
I would have to argue that even "moon" is suspect. Objects like the Earth's moon and things like the Galileian moons, Titan and Triton can give even definitions you may think of as a moon some heartburn.
Luna (the Earth's Moon) is large enough to be called a planet in its own right, and if it were orbiting the Sun independently would perhaps be called exactly that. As with the other objects like Quoar, Chiron, Pluto, and others, this definition really needs to be looked at more closely.
I believe that classification of celestial objects need to be more mass-based, or based on physical characteristics that are universal rather than the physical location where they just happen to be at the moment. Doing something that allows you to classify everything from grains of sand to superheavy stars that are 10 000 x the size of our Sun.
Sand: Objects small enough that when they aggrigate can fuse together through chemical binding.
Gravel/Rocks: Objects Large enough to be held and counted individually, even when aggrigated. (Antropormorphic definition....it could be improved)
Boulders: Objects large enough to crush any organic item when on a planet, even when not moving, but small enough that gravity does not act as a major binding force to keep it together.
Asteroids: Objects large enough to have measureable gravity and is a factor to keep the object together. Gravity is low enough that the shape is usually irregular (not spherical). BTW, this would end up including most of what are called moons in the solar system, including Phobos, Deimos, and most of moons of the outer solar system.
Moons: Objects large enough that gravity pushes the object to have a generally spherical shape. Gaseous atmospheres are generally unmeasureable except to nitpickers and landing on one of these objects can be done ignoring gasses already present. BTW, this definition would likely include some asteroids (Ceres, Vesta) and some larger moons like the Earth's moon. This might even include Mercury.
Planets: Measureable and substantial atmospheres, but the dominating feature is still made up of solid and/or liquid materials. In order to have to draw a line here, roughly 90% of the mass of the planet is in the form of solid or liquid materials. This definition would make Titan a planet.
Gas sub-giant: An object where the atmosphere is a dominating feature, but still less than 90% of the mass of the planet.
Gas Giant: An object that is more than 90% gaseous, with Hydrogen, Helium, and other light elements being a major feature. While heat energy is being released by gravitational contraction, it is not a major feature.
Gas Super-Giant: Depending on age, the energy released from gravitation contraction is a major feature. Nuclear fusion is largely not occuring and does not influence the structure of this object.
Star: Nuclear fusion is a major feature, and when hydrogen dominates the structure of the object it can be placed on the "Main Sequence" depending on size.
I know that the defintions here are arbitrary, but other than trying to define the difference between a rock and a boulder it is pretty clear. There is some fuzziness due to being right on the boundary between defintions, but that is true for any classification system. Try to define the difference between red and yellow if you were classifying different wavelengths of visible light by color.
I absolutely love the ad hominum attacks. Keep it up. You might just become the person you hope to become.
I have used and mastered more than two dozen operating system families (i.e. all Windows versions, 3.1, '95, '98, NT, XP, etc. all count as one, as do all flavors of Linux.. heck I'll even lump in all flavors of Unix as one) and even more variations of hardware familes. The point I'm trying to make here is that there is a tendancy to try and complexify a very simple problem, like trying to get a mouse handler routine to become invoked when a mouse is clicked over a certain grouping of pixels on the screen.
Having written device drivers, as well as helped to form the specs for many hardware devices, there is also a tendancy to throw in features just because, and often those features are never invoked.
I also beg to differ that the number of cycles saved from a ground-up implementation of only one mouse button would be just 5 cycles. And that was not the only point I was trying to make either. There are also additional costs of trying to debug multi-button mouse handlers, particularly when each button has a different context.
I'm not advocating that Microsoft or Linus make a sweeping change in the OS API architechture here. I'm just pointing out that there are some benefits to having a single mouse button that go way beyond user training issues.
BTW, an OS from the "ground up" would not merely ignore an input event packet. That packet would never even be there in the first place. If like Apple has done with the Mac, they designed the equipment itself so it never has to do anything other than merely signal that the mouse has been clicked. That means that from there on up the hardware doesn't even have to translate what mouse button has been pressed, the interrupt has to be invoked alone. The motion information would be handled through other means anyway, but a simple memory copy would be all that is needed to get this information to the application software, or a lookup from another API function that can be invoked if needed. The whole chain from CPU interrupt to invoking the application code, including thread switching, would take just a couple dozen cycles. The threading would take more time to deal with that the event processing itself.
BTW, on interrupt-driven operating systems a keyboard is handled considerably different from a mouse handler...usually a totally different interrupt. Only on the API level does the distinction begin to blur, and even that is based on how interrupt events get passed to the application.
You are assuming here that the mouse button click will be implemented via USB devices?
This is just more of the bloat that I was talking about, where all sorts of extra data and CPU bandwidth has to be spent to deal with all sorts of potential issues. Sure, an individual end-user application may only respond to the single mouse event, but you have to write specific implementation code to do this filtering. And there are usually multiple layers of abstraction below the end-user application, each of which in turn MUST deal with the multiple button issues.
The point here is that the complexity is still there all through the OS stack, and of course here we have to try and deal with multiple mouse connections types too, like USB, serial, and PS-2 style connectors, each of which behave slightly differently.
If the operating system is designed from the ground-up to only deal with a single mouse button with enforced dogma of this philosophy, this really does greatly simplify the OS task, and in the long run does simplify the CPU overhead. That some developers think saving a few hundred clock cycles isn't necessary just shows how bloated the thinking is for some application developers, and why application response time really hasn't improved that much since the days of MS-DOS 3.3, dispite incredible improvements of hardware capabilities.
As a software developer who has used multiple threads, it was a big shock to me the first time I had to put the multiple threads into a true multi-processor system. It was a very minor two-line bug fix, but there are whole classes of bugs that show up when you are using a true multi-processor system then compared to multiple threads on a single processor. Simply put, you can't simulate it easily, and merely having multiple threads is not going to be proof that all of the processing capability is going to be avaiable to applications that need CPU bandwidth. Going the other way, from a multi-processor system to a single processor with multiple threads doesn't seem to be as big of a deal.
The dual cores is, IMHO, a pretty good thing, however. Motherboard designs using multiple processors have been painfully slow in getting developed, and because of the complexity in putting them together, along with comparatively low demand vs. single processor systems, you can often get a much more powerful system in terms of raw throughput of number crunching by simply buying a single processor system. The multiple processor cores on a single chip simplify the motherboard design issues and will make multi-processing computers more available, and something that mere mortals can get access to easily.
The problem with having a strong religious faith in "geek", "acedemia", or scientific circles is that non-believers consider religious belief to be at most a harmless diversion, or worse a serious brainwashing and "opate for the masses" to keep you from really understanding this universe.
People who have a strong religious faith believe that there are fundimental truths that simply go beyond strict observations. In this case, the reproducable aspect would require somebody else to go through a resurrection... something that is not commonplace and not technically possible with current understanding of science. Faith: The hope of things not seen, but accepted and you act out your life as though they are true.
In the case of if Jesus ben Joseph (anglicized names here), of Nazereth, born roughly 1 AD was a historical figure and really existed, I find it personnally insulting to see people question his existance and not that of Ramses or Julius Caesar. The historical documentation of the existance of Jesus is available in the archeological record as well as contemporary historical journals done in the Roman Empire, not to mention the huge social impact his teaching made and the millions of 2nd & 3rd Century people who professed allegiance to him, even with official opposition to the religious teachings of Jesus.
As to if Jesus is the promised Jewish Messiah, the divine Son of God, the Christus, Profetic predecessor to Mohammed, or simply a Jewish carpenter turned Rabbi is where the question of faith comes in. The interesting thing about the Shroud of Turin is that, if accepted, provides a concrete piece of evidence that not only did Jesus exist, but that something beyond normal human experience occured with his body after he died.
It is something tangeble that is within the realm of scientific reason to evaluate, test, and come to conclusions that are similar to testing and evaluating other historical figures. It is the possibility that you could scientifically "prove" a religious belief that ends up turning this whole investigation into a political debate, offending both believers and non-believers alike. The Catholic Church has luckily tried to defuse the whole political ramifications from it by trying to distance itself from this scientific proof, and certainly the validity of Christian religious thought does not depend on proving that the Shroud is authentic.
From a believers viewpoint: If the Shroud is authentic, I knew the events it supposedly depicts occured anyway. If it is a forgery, it is just like the millions of other fake medeval artifacts and it doesn't really matter. I have faith that the events of the ressurection occured anyway.
From a non-believers viewpoint: If it is a forgery, this is further proof that the church is a corrupting influence on the lives of the ignorant. If this is the genuine article, then WTF is going on? It actually brings more questions than answers.
Agreed from almost all fronts: If this is a forgery, it is a damn good one and the people in question who made it did a good job of making it that it leaves the question unanswered even in the 21st Century.
While I will say that C# is a good language to pick up, I would strongly recommend that a beginning software developer avoid DirectX in any flavor like it was an airborn Ebola virus.
Microsoft keeps changing its mind regarding what goes into DirectX, and older interface keep going obsolete with each new version of DirectX. More simply put, if you are not actively involved full-time in a professional setting and using DirectX as a part of your everyday development environment, don't use it.
For myself, I've spent far too much time trying to learn the basics of DirectX even since DirectX 1.0, and I had a pretty solid background of using COM/DCOM before even touching DirectX. Unfortunately, I was only an occasional dabbler with DirectX as most of my software development was in other areas. I watched as some of my software broke because of incompatable upgrades, and all sorts of new interfaces to learn with each new generation. At this point, I don't even bother because it is essentially like trying to learn it all over again. BTW, never, NEVER, NEVER upgrade the version of DirectX on your computer if you plan on doing a presentation sometime in the next couple of weeks, or have a product deadline (class assignment?) due in a short period of time. You may (and probabaly will) find at least some of your software not working any more, and more than likely see drivers "repaired" that should never have been touched.
For a beginning student like this high school student, DirectX just plain sucks. And anything he/she learns by programming with it will be lost anyway in the next few years. Choose a library like OpenGL or some other relatively stable (and preferably open source... for stability reasons as well) graphics library, and even then most of the simple graphics that you will need for a beginner's game system will not even require this library. All you need to do is learn how to turn on/turn off a graphic image's visibility property and be able to reposition the graphical object to different places on a display "form".
For getting into C# on the cheap, I would strongly suggest getting a copy of SharpDevelop, which works at least as well as Visual Studio for most of what a beginner would be doing anyway. They are past the 1.0 pain threshold of open source projects, and has plenty of objects available to do most of the fun stuff you would want to do for simple games as well. Don't get fancy, just learn the basics of making simple games and then branch out if you want to try something more challenging.
The whole controversy of how many buttons belong on a mouse pre-date even the MacIntosh, Lisa and Windows 1.0.
I remember an April 1st spoof of "Creative Computing" that got into the whole issue of how many buttons should be on a mouse, and they decided to solve the issue once and for all: Put a full QWERTY keyboard on the mouse. That way you will never run out of buttons to press.
As you did, I became familiar with the Mac interface well before using Windows, and as a software developer I still avoid the right-mouse button whenever possible, even when programming for M$ platforms. There are a few pop-up menus and a very few situations where I've done some specific programming that took advantage of having the second mouse button for the stuff I've done, but even in those situations it was possible to run all of my software with only a single mouse button.
Good software developers who understand UI issue (and BTW recommended by Microsoft in their "official" guidelines for Windows GUI interfaces) will even design a UI to at least "work" without a mouse at all. I've had mice die on me in the past, where I had to save and exit the software application without a mouse before. Also, there are times when you are using a keyboard where it is nice to be able to avoid having to switch between the mouse and the keyboard... especially if you are doing some data entry work. I find it particularly frustrating when some applications (particularly web applets) force you to use both a keyboard and mouse for data entry purposes. Keeping track of and designing a logical tab order (using the tab key to switch between different fields on a data entry form) is a part of this. Sure, you can use to mouse to move from one field to another, but using your left-pinky to press a tab key is much more convient when you are a touch typist.
I also swear that MS threw in the second button to help counter the lawsuits over GUI design concepts back in times of old (the old Apple vs. Microsoft suits). By having the second button, Apple couldn't claim that MS copied the "look and feel" of MacOS in Windows. The rest was astroturfing by Microsofties to convince you that using more than one mouse button was a GOOD THING(tm). And since they had that second button, they also had to make a case for why it is there, with a huge PR campaign behind it. During the debut of Windows '95, there was a huge effort to really push this idea and to explain just what the difference between the left and right mouse buttons really did.
From a software viewpoint, the two mouse buttons (Windows actually recognizes three, but the middle button is not always on Windows-based computers) really adds an extra level of complexity, more room for bugs, and adds extra parameters to mouse processing routines that for simple tasks end up chewing up more bandwidth on the CPU. To all of the zelots out there that are saying how wonderful having multple buttons on a mouse makes life easier, I would have to ask: Is it worth the extra overhead, bugs, and additional headaches (including training costs) to include the additional buttons on there? It is more than just the problems confusing novice users.
he wasn't jailed 'for using lynx.' He would have been 'arrested' for supposedly breaching the Computer Misuse Act by unlawfully trying to access information that he has no business viewing.
Still, he was jailed for using Lynx. The headline is correct as that is the only action he really did, and the "unlawful access" was a public website where he was doing something not only legitimate, but encouraged by the government.
It kills me when people consider it "hacking" when you type a new URL into your browser (i.e. directly moving to another webpage (5.html to 6.html) or accessing the directory root. In this case, this individual wasn't even doing that... he was simply using a non-standard web browser that also didn't fully implement the HTTP protocol correctly, or at least do so in a manner consistant with the psuedo standards pushed by Microsoft.
Although it has been a while myself, I used to be a rather avid Lynx user. Also, if you absolutely want to make sure that your website is 100% following standard HTML coding, I love to run it through Lynx if for nother other than to do a quick verification that all of the images are properly tagged, and other aspects of viewing web pages aren't all that cumbersome. If the webpage passes the Lynx test, I feel pretty confident that most other non-standard browsers will also work (in addition to IE and Mozilla).
Also, keep in mind that there are some (admittedly older) computers that you can shell into via telnet that only have Lynx installed. Rather than trying to hassle getting something new installed, Lynx is there and handy. It was also spread around quite freely in the early days of the web.
I know I am getting into this debate late, in terms of/. experience, but here is my personal take on the whole thing:
I actually sat down and downloaded the climate modeling software and put it on the computer that I am writing this reply on. I even ran it through a whole cycle and one of those "50,000" modeling runs was done on this computer.
I was willing to try and get it to do a couple more "runs" on my computer, but the software had a serious bug in it when you have a hard crash on your computer, like getting struck by lightning, or otherwise from a blackout condition where the computer shuts down hard and quick. Windows in general doesn't do too well when that happens either [yes, it is a Windows box... sue me if you like], but when that happened, I couldn't get the software up and going. I was going to delete and reinstall the software hoping to solve the problem, but I simple killed the software altogether after what happened next.
I spent some time on the message boards looking around at the basic assumptions behind the climate model being used. I also spent some time reading from the software designers, and really tried to dig around the website, asking a few very good hard questions. I've also spent some time studying climatology, and even spent some time helping to gather and input some historical weather data for the Utah Climate Center where we gathered weather data going back to the late 19th Century and put it into a machine-readable format. BTW, this is rather unusal to do this to have daily weather, temperature, and precipitation data going back that far. Most climate data used in modeling goes only back to the 1970's at best.
From what I saw on the website, it was politically motivated from the start to prove that there was global warming occuring. On the basis of all of the sensationalist news stories that seems to be coming out right now, it seems to confirm my theory.
There were legitimate items that were missed in the model, and ways to improve to modeling that may or may not prove global warming and/or cooling. Variations of things like increases in solar radiation, increased volcanic activity (over multi-annual periods of time), and assumptions regarding human impact on the environment were totally missed, or at least ignored and put into context of something that doesn't affect the climate. Some posters on the web pages proved that it wouldn't take that much additional processing to add these extra variables, and that is the point too: There are a bunch of variables that affect the outcome of the climate and for the most part these variables are just guesses in the dark. Even a true understanding of what the interaction between different things like how warming of the ocean off the coast of Chile affects weather in London is still not totally understood, even though there are some pretty good theories.
This whole idea was a nice try, but I am no longer involved simply because of the political angle that I got from reading the major participants, not to mention the leading researchers involved in this whole mess. In other words, I consider this to be bad science on the whole, and in the politically charged "atmosphere" of the global warming hypothesis, it is very difficult to keep a scientifcally neutral attitude regarding anything. From my experience as well, most of the schools also have professors that encourage the "solid" basis of human-influenced global warming, so it is very difficult to counter that culture if you are a student trying to study climatology that has a viewpoint counter to the prevailing attitude in acedemia. Simply put, if you don't publish a thesis or other papers that support global warming, you won't get a PhD.
This project, unfortunately, is an extension of that attitude, although I will admire a basic attempt to try and solve a difficult problem. The basic user interface for this software was cool, and it was neat to see a model of the Earth
I've actually written some stuff on Wikibooks. A book like this would be a huge win for Wikibooks, and I want to add my voice to suggest this approach.
If not that, then at least look at Light and Matter by Benjamin Crowell This is an excellent undergraduate Physics textbook that is released under the GFDL. At the time he created the textbook, Wikibooks wasn't available, so he created his own infrastructure to get it going. Mr. Crowell is very approachable as well. If the author of this Quantum Computing textbook wants to go it alone, at least register this book with Crowell's free book registry and review guide.
I am not so sure that/. is the best forum for something like this, due to the fact that it takes some time to grok this book, and unfortunately is a little above the heads of far too many/. readers. In addition, the nitpicking that needs to be done to get something like this going should at least be done chapter by chapter.
For example, in Chapter One there is an incorrect remark about Gordon Moore's Law. He originally proposed a doubling every year, then suggested in a subsequent talk it would slow to double chip density (and much else) every two years. Some biographers and industry journalists were the ones that split the difference and made it 18 months. It is stuff like this that in a textbook situation can help to prepetuate misinformation, not to mention how this can open a can of worms if you are not careful, even though the discussion of Moore's Law is appropriate for the subject matter.
Since this wasn't posted on the "main" page, he might have a little bit of salvation here. Still, even with those that know to check different sections and are into "science" would still provide a huge load on any server. The PDF file comes in at about 2 Megs of data... not huge but enough to cause some problems if it is downloaded 1000+ times.
If you think MP3's are bad, try to do MPEG-2 video. As far as I can tell from what I've seen and read, MPEG-2 (aka DVD-Video) is totally incompatable with the GPL. Indeed, if you do any distribution of content, even stuff you produce yourself (as in a GPL'd DVD disc or rather GFDL disc), you still have to pay licensing fees per clip. Sure, only 1/2 cent per clip or disc that is distributed, but it essentially invalidates the spirit of the GPL altogether.
What is worse, once you have paid the extortion fees proper and legal-like, you still don't have a guarentee that all of the patent issues have been cleared up... all you've done is pay off some bribe money to a few major companies.
I just got through dealing with a client I was working for that totally didn't get this, with either MPEG-2 Video or MP3's, thinking they didn't have to pay any licensing fees beyond what they got by purchasing decoding/encoding chips from Taiwan or Singapore. While some licensing issues are solved that way, it still is a legal minefield that most people don't want to deal with, and choose to ignore. I ended up quiting and not continuing with that job, BTW.
Another person who did something very similar was John D. Rockefeller, who got into oil refining and distribution, and due to monopolistic control over those areas forced "rebates" on railroad shipping (Vanderbilt was one of the railroad executives he worked with) to get a much cheaper rate on shipping vs. the competition. He also deliberately set prices so low that it would drive compeition out of business, and deliberately kept prices low enough that new companies couldn't start up again.
Sound familiar? Look up Standard Oil Company on your favorite search engine to see for yourself.
Every single one of these points, other than the first man in space (who was actually before Gagarin, but died in space hence the non-person status in the old USSR) could be said about the old Apollo space capsules.
While Apollo was high-tech engineering (as was Soyuz), it was no-frills. And as seen with the Apollo-Soyuz missions, it was the Apollo modules that seriously kicked butt at being able to manuver and perform multiple dockings. The Soyuz capsules were more or less simply targets for the docking attempts.
It was a pity that all of that engineering, in typical American fashion, was dumped down the drain and the blueprints filed somewhere next to the Ark of the Covenant (aka Indiana Jones). I am not totally hating the Space Shuttle, but with 20/20 hindsight the USA lost an incredible body of engineering talent and design philosophy when no follow-up to the Apollo occured. May Senator Proximire never rest in his grave.
The only reason I can give for seperate terms for each country of origin is due to the fact that so far only three countries have poured the national resources together in one spot to have independent space programs: USA, China, and Russia (USSR).
That said, You don't see seperate terms for astronauts from Israel, Saudi Arabia, Brazil, France, Germany, or Canada. And all of these countries, with others have already sent somebody into space via one of the other space programs. These are all called astronauts, and justifiably so.
I don't see any problem with the grammar police insisting on simply "Chinese Astronauts" instead of "Taikonauts". The whole issue with Cosmonauts/Taikonauts is more a PR stunt anyway, due to the fact that they stand on the top of a multi-billion dollar effort to put somebody into space. Any time you spend that much money, the PR costs are incidental to coin a new word anyway.
If you want to see something wierd and bizzare regarding pushing a word to change its meaning, look up the word "cola" in a Portuguese/English dictionary. Somehow Coca-Cola spent enough money in Brazil and Portugul to change the meaning from glue to something cool to drink. I shudder to think of how much that actually cost to do that, but it wasn't cheap. A little Chinese PR work to push the term "Taikonaut" is nothing in comparison.
You think this isn't happening anyway? As far as cultural norms are concerned, the minimum age to start a family, particularly for women, has gone up from age 14-15 to 21-25 even now. And it is not that unusual to see a woman begin her family at age 30 anymore...even be encouraged to do so in fact.
In most places in America, even have sex at all with people younger than 16 can land you in jail very quickly. I'm not familiar with laws outside the USA, but there are some similar laws in Europe as well.
If people lived to be 200+ years old, and in good shape, with women able to become pregnent at age 60+ (with low probability of birth defects), I think you might find the age women start families to go up even more.
BTW, if you think I've full of it, I don't think 1850 is really that long ago, in terms of # of generations ago that would affect human DNA. And it was very common in 1850 for 15 year old girls to get married... mostly because they had to if they were going to have any kids before they died. There is some evidence of 10 year old girls getting "married" with prehistoric groups.
I envision future spacecraft, similar to Cassini, that would contain dozens of micro-probes that could be used to study several moons in a single mission.
While that seems good on the surface of it, except for mineral analysis for something like Iapetus or some of the moons that way, I don't see that as a very logical way of doing things at least for "first contact" or such mission. As a part of a comprehensive mineral survey mission, perhaps you might be right.
In the not too distant future, I can envision a cluster of probes going to Jupiter and having things drop off at each of the Gallileian moons. Each moon, however, would have very different mission requirements if for nothing more than the very different environments of each moon. Io would have to deal with molten sulfur (in some ways worse than Venus), Europa would have some serious life science packages on board, Ganymede would include some pathfinder-like capabilities, and Callisto would be some sort of deep impact probe.
It might just be cheaper and more practical in each case to launch a much more modest mission for each moon on seperate rockets, even if probes going to all four moons are to get there at the same time. A fifth "probe" to act as a node on the interplanetary internet-Jupiter station would act as a data bus to send information back to the Earth. This way you could even send follow-up probes with less hassle and not have to worry so much about data communication. If one of the probes besides the data bus probe fail, not all is lost. And the data bus probe could be standardized and sent on missions all over the solar system, reducing the likelyhood of errors because there would be multiple chances to catch mistakes. Mass produced equipment does allow for better margins to increase reliability.
Now the exciting thing that you could do is not just casually pull up a website and view pictures of almost every body in the solar system, but that you could conceivably gain access to a rover directly and "request" views to get more detailed information. If I were a planetary scientist, that would be a blast to do.
You know, now that I've seen the mainstream press reaction to this, I think they've totally missed the biggest story of the year. When all is said and done, histories written, in 200+ years when people look back to important historical events of the current century, I think this will be considered one of the major accomplishments to have occured.
Right now there is competition from a lot of different areas for what is called "news", so it is not surprising that it is going onto sidebars and back pages in newspapers. It surprises me, however, that even a short 30 second spot on the evening news isn't happening. On a slow news day I'm sure this would have been something like the leading story, or at least a full 3-5 minute news story on television.
Part of the problem is that this is being viewed by the mainstream media as being a European accomplishment (justifibly so, BTW). It is a little hard at least for American news personnel to get excited over this, or even suggesting that France can do something besides screwing over the USA. I hope that this isn't a sign of things to come. Not withstanding ESA participation, there certainly is an American angle to this whole story they could also persue if they choose.
This is a first that ranks with Surveyor, Venera, Viking, and now you can add Huygens to that very short list of major exploration missions. Not bad company, and if you notice each mission occured several years apart. This is not something that mankind has been knocking off and exploring new worlds with direct sampling as routine.
The neat thing that will come from this and further exploration of Titan is another world with a fluid (petrological instead of hydrological?) system, where you can study rivers, streams, lakes, and oceans in what is arguably an unaltered (by humans) state. Studies of fluid cycles on Titan can complement studies done on the Earth of water cycles.
The interesting thing to wonder, however, would be to find the energy source on Titan, as Saturn puts out more heat radiation than the sun as far as Titan is concerned. A whole bunch of really fun science could be done on Titan that would be unavailable anywhere else in the Solar System.
Keep in mind that Titan has a much thicker atmosphere than Mars or even the Earth (about 50% more gasses by some estimates). Certainly much, much more than the Moon, where of course you need a lot of fuel on the decent rather than relying on atmospheric braking. Martian atmosphere at the bottom of Vallis Marineris is the equivalent of being at the top of Mt. Everest here on the Earth, so most Martian space missions rely quite a bit more on the powered decent and use atmospheric braking only to reduce the payload of the decent engine. The bouncing ball trick is another example of how engineers have to take a more creative approach in order to deal with an already thin atmosphere.
While Titan is slightly bigger than our Moon (Luna or whatever), it is still somewhat smaller than Mars. The difference in atmospheres between these three bodies is mainly due to distance from the Sun, where around Titan water is not just simply ice, it is a mineral in structures that you would normally think of here on the Earth as Granite or Limestone. The gasses that here on the Earth would have (by theory did) get boiled off by solar radiation (heat) are still there on Titan.
Then, if we did count on it landing safely, why not put all the stuff they had on Beagle on it? It could have a drill, a microscope, etc.
This is a first contact mission for a planetary landing, not a followup mission like Beagle. Think of this more like Surveyor or even the Viking lander instead. Even the Venera missions fit this category of lander, where the gee-whiz factor is just that it got accomplished at all.
I would love to see a follow-up mission to this. Perhaps something that can float in the "sea" and "navigate" the coastlines? An amphibious vehicle that can take both fluid samples as well as mineral analysis. Neither possibility would have even been concieved prior to the launch of Cassini-Huygens. Not to mention huge advances in computer technology and a willingness of space engineers to use more modern electronic components, like the Mars Rovers.
A direct to Saturn, or at least with gravity assist from just Jupiter would be nice (aka Voyager Probes), with perhaps an ion propulsion system (where the distances would clearly favor such a device). Windows of opportunity for something like that happen every 12 years or so. The Voyager flight path was more like 1 in 500 years, but we aren't talking a grand tour. Unfortunately to do all of the above with a reasonable spacecraft will take a lot of money, and that much is something I don't have. Even Mr. Gates couldn't afford too many missions like this for pure science.
I was also quite impressed with the space fight sequences in the miniseries as well. I had a few problems with the bullets flying out of the cannons, and in that regard it seemed more like an F-16 fight sequence from Top Gun or something you might have seen on the opening days of the Gulf War.
Face it, bullets in space just add debris that most spacecraft would have to be shielded against anyway (micrometorites, and natural hazards). Emptying an M-60 in space would be equivalent of flying through the rings of Saturn. It simply doesn't make sense to use bullets like that.
Clearly better than the Star Wars-inspired combat sequences, which George Lucas openly admits were inspired by newsreel footage from WWII. The original series simply followed (some say too closely) what Lucas had done just a couple of years earlier.
I also liked the Hyperjump sequences, which is something the original series simply ignored altogether. They showed a sequence in the original series where they actually made it into another Galaxy.... and people expressed awe when the Galactica was able to travel at "lightspeed". Totally ignoring relativity on multiple levels. Why the landing bays are extended out from the body of the Galactica is even explained in a much better fashion than the original series seemed to convey.
One aspect of the Miniseries that I also noticed was the Americanification of the series. In other words, the underlying culture for the colonies was considerably much more like the USA than there was in the original series. They still payed homage to the original series with Pyramid games and the card games (as well as the cubit coins), but many other aspects were more like America, with the colonies more like the U.S. states rather that distinctive cultures with individual religious and socialtal differences. The cousel of the twelve is totally gone, Adama is clearly a part of military heirarchy alone, clergy has been seperated to its own heirarchy (you won't see Adama performing a wedding anytime soon), and there is now a counsel of Ministers that are in the line of Presidential succession, of which Adama is nowhere near as important in that political arena. Adama simply can't take control of the government except by brute force or resigning his commission (very unlikely to ever see happen).
One of the most sobering parts of the miniseries that I loved/hated (perhaps because it comes too close to home living very near some major defense installations) was the Nuclear War during the Battle of Capraca. They nailed the physics of a nuclear bomb blast, and otherwise the producers did their homework in that regard. Seeing a global nuclear war from space was something I've never even seen from any other SciFi show.... at least done so well as it was done rather than a big ball of flame that eats up the whole planet. In the original series you only saw the ruins of the aftermath, and even then the cities were taken out by lasers rather than nukes, although radiation weapons were implied in some conversations later in the series.
From my experience, there has been a substantial increase in abstraction that has occured with many modern operating systems. In addition, even if you are not directly aware of it as a user, there are many libraries that application developers take advantage of. The issue is trying to track down the library depencencies. When you do something like click on a button, there is usually a whole chain of software functions, and each layer of abstraction adds to the CPU time to accomplish the task you wanted to work on.
There are even issues involved when using software abstractions like COM, CORBA, Bonabo, dotNet, etc. that have a huge impact on performance. When you are writing software, often it is easier to use prewritten functions that are found in a standard library rather than rewriting it yourself, but the trade-off is that you have to pay for it with decreased performance.
There are still some benefits for using library routines, even if "reinventing the wheel" will give you a huge performance boost. Primarily, you know the library has already been "debugged", so you don't have to (usually) check to see if that code is not working correctly. Also, there are issues with standardization of software interfaces so if you want to change the behavior of the system (change the skin on all of the windows on your desktop, for instance) everything is behaving in a uniform manner. You may be able to speed up drawing a window on the screen, but it would not fit with what all of the other windows on the desktop are doing.
This is what leads to this bloat, and yes, the code is more manageable but substantially (100 x or more the CPU usage) slower. I have indeed seen this to be the case, and it is not strictly the Q/A issues but the overhead of trying to access the library functions themselves. Ideally you would have directly linking at compile time to the libraries, but that is often not available to programmers. And each layer of abstraction adds just a little bit more CPU time to deal with.
I want to start by saying that most computers that are around today could indeed by made into multi-user timeshare computers that would blow away anything that was made in the 1970's. The key is that you have to have the right software installed on that computer, and the I/O devices available to be able to support those users. Some of those early computers had the equivalent of 100 serial I/O connections, something that is seldom if ever seen on a PC platform.
If you installed Linux onto a computer with a Pentium CPU and had a dozen or so serial ports, with some "dumb" ASCII terminals, I think you would be surprised at how many users you could support simultaneously. Just as the author of the article pointed out, there is feature bloat that is sucking up the CPU bandwidth, and in many cases doing stuff that really isn't necessary.
This is also why I refuse to buy another Microsoft operating system, because the feature bloat that has been put into Windows XP is just over the top for me, and I can't find (easily) a way to turn most of that garbage off.
I would suggest that the I/O issues you are talking about are not nearly so much of a problem as the bloat the operating system is going through trying to deal with the I/O issues. Even Linux is bloated for I/O control, but at least it is a bit more manageable than some of the propritary operating systems.
I need to add my $0.02 here as a crusty old school programmer who learned how to program when assembly was a major item to learn. I also want to add to the comment already made in reply here.
When I am programming, I am very aware of each and every instruction that I am writing, even when using a HLL to write the code. That is perhaps the primary reason that even if you don't do everything in assembly, you should be at least knowlegeable enough to understand the whole process from the gate level up through GUI design motifs. In order to really get the performance out of a computer that you need, this understanding has to be there.
This is also what seperates the very good programmers from the mediocre. I am still trying to expand my sphere of knowledge regarding computer design, compiler theory, and software structures, and while I consider my knowlege to be pretty good, it is still not as much as I want to know. This is no different than an artist understanding paint dyes or a good photographer that has at least experimented with creating their own negatives and manufacturing their own camera (aka Ansel Adams). To be at the top of the game you really need to know as many of the low-level details as you can learn.
I would also beg to differ about the need to learn about 3D graphic programming, GUI development, or OOP abstraction is an excuse to not learn basic Boolean logic, finite state machines, and bit-wise number manipulation. Again, just like any human endeavor, you need to learn the basics and the foundation before you can move on to really understand the more abstract concepts.
I think that too many young programmers are missing these basics, and unfortunately totally lack even the capability to write their own compiler, or the ability to tap into the resources of the computer itself. Unfortunately, many university computer science programs are geared to producing programming drones for large software companies, and these students are being graduated with skills that are there just to be able to get the job done. They are also being taught that they no longer have to worry about memory bloat, and that CPU speed is not really an issue. Since most beginner's programs are usually so fast that the speed is inperceptable, they are lulled into thinking that as long as the job gets done they don't need to worry about tweaking performance.
In many ways I really appreciate the contraints in the old 8-bit CPUs, as it taught the need for optimization that when carried over to 32-bit and 64-bit processors still provides huge benefits.
This is almost like the terms apogee and perigee that get transformed to things like apohelion and perihelion or apojove and perijove. They all refer to defintions of point in an orbit, but also refer to the object that item is orbiting.
I would have to agree with you that there is really only one Solar System, but there needs to be a more generic term, and at the moment solar system happens to be handy absent any other reasonable term (like "star system" that seems to indicate only collections of stars alone, not with planets).
BTW, the name of our sun is simply "The Sun". Sol is the name of the Sun in Latin, hence solar (because acedemic high brows think anglo-saxon terms are insufficient for scientific descriptions). If you were speaking a romance language derived from Latin, you would already know that the name of our star is Sol, as that is the word used to describe it in those languages.
Science Fiction writers, because of necessity due to a lack of vocabulary, tend to use the Latin term of Sol for our sun when specifically describing the star that the Earth (old home Terra, another Latin term there) orbits and is dominated by. The big ball of nuclear fusion in the sky around on any other planet in SF stories is also simply called "The Sun". By using Latin in these cases, it also makes the stories seem a little more exotic.
From my own viewpoint, talking about "the Earth" and "the Sun" is just fine, and I like the Anglo-Saxon terms very well. As an English speaker, I don't need the Latin terms.
Unfortunately, because this is a relatively new area the terminology is still not nailed down, and science journalists are not very good at coining new terms. Instead they rely on the researchers to come up with the terminology, which in this case is seriously lagging behind what needs to be described.
I would have to argue that even "moon" is suspect. Objects like the Earth's moon and things like the Galileian moons, Titan and Triton can give even definitions you may think of as a moon some heartburn.
Luna (the Earth's Moon) is large enough to be called a planet in its own right, and if it were orbiting the Sun independently would perhaps be called exactly that. As with the other objects like Quoar, Chiron, Pluto, and others, this definition really needs to be looked at more closely.
I believe that classification of celestial objects need to be more mass-based, or based on physical characteristics that are universal rather than the physical location where they just happen to be at the moment. Doing something that allows you to classify everything from grains of sand to superheavy stars that are 10 000 x the size of our Sun.
Sand: Objects small enough that when they aggrigate can fuse together through chemical binding.
Gravel/Rocks: Objects Large enough to be held and counted individually, even when aggrigated. (Antropormorphic definition....it could be improved)
Boulders: Objects large enough to crush any organic item when on a planet, even when not moving, but small enough that gravity does not act as a major binding force to keep it together.
Asteroids: Objects large enough to have measureable gravity and is a factor to keep the object together. Gravity is low enough that the shape is usually irregular (not spherical). BTW, this would end up including most of what are called moons in the solar system, including Phobos, Deimos, and most of moons of the outer solar system.
Moons: Objects large enough that gravity pushes the object to have a generally spherical shape. Gaseous atmospheres are generally unmeasureable except to nitpickers and landing on one of these objects can be done ignoring gasses already present. BTW, this definition would likely include some asteroids (Ceres, Vesta) and some larger moons like the Earth's moon. This might even include Mercury.
Planets: Measureable and substantial atmospheres, but the dominating feature is still made up of solid and/or liquid materials. In order to have to draw a line here, roughly 90% of the mass of the planet is in the form of solid or liquid materials. This definition would make Titan a planet.
Gas sub-giant: An object where the atmosphere is a dominating feature, but still less than 90% of the mass of the planet.
Gas Giant: An object that is more than 90% gaseous, with Hydrogen, Helium, and other light elements being a major feature. While heat energy is being released by gravitational contraction, it is not a major feature.
Gas Super-Giant: Depending on age, the energy released from gravitation contraction is a major feature. Nuclear fusion is largely not occuring and does not influence the structure of this object.
Star: Nuclear fusion is a major feature, and when hydrogen dominates the structure of the object it can be placed on the "Main Sequence" depending on size.
I know that the defintions here are arbitrary, but other than trying to define the difference between a rock and a boulder it is pretty clear. There is some fuzziness due to being right on the boundary between defintions, but that is true for any classification system. Try to define the difference between red and yellow if you were classifying different wavelengths of visible light by color.
I absolutely love the ad hominum attacks. Keep it up. You might just become the person you hope to become.
I have used and mastered more than two dozen operating system families (i.e. all Windows versions, 3.1, '95, '98, NT, XP, etc. all count as one, as do all flavors of Linux.. heck I'll even lump in all flavors of Unix as one) and even more variations of hardware familes. The point I'm trying to make here is that there is a tendancy to try and complexify a very simple problem, like trying to get a mouse handler routine to become invoked when a mouse is clicked over a certain grouping of pixels on the screen.
Having written device drivers, as well as helped to form the specs for many hardware devices, there is also a tendancy to throw in features just because, and often those features are never invoked.
I also beg to differ that the number of cycles saved from a ground-up implementation of only one mouse button would be just 5 cycles. And that was not the only point I was trying to make either. There are also additional costs of trying to debug multi-button mouse handlers, particularly when each button has a different context.
I'm not advocating that Microsoft or Linus make a sweeping change in the OS API architechture here. I'm just pointing out that there are some benefits to having a single mouse button that go way beyond user training issues.
BTW, an OS from the "ground up" would not merely ignore an input event packet. That packet would never even be there in the first place. If like Apple has done with the Mac, they designed the equipment itself so it never has to do anything other than merely signal that the mouse has been clicked. That means that from there on up the hardware doesn't even have to translate what mouse button has been pressed, the interrupt has to be invoked alone. The motion information would be handled through other means anyway, but a simple memory copy would be all that is needed to get this information to the application software, or a lookup from another API function that can be invoked if needed. The whole chain from CPU interrupt to invoking the application code, including thread switching, would take just a couple dozen cycles. The threading would take more time to deal with that the event processing itself.
BTW, on interrupt-driven operating systems a keyboard is handled considerably different from a mouse handler...usually a totally different interrupt. Only on the API level does the distinction begin to blur, and even that is based on how interrupt events get passed to the application.
You are assuming here that the mouse button click will be implemented via USB devices?
This is just more of the bloat that I was talking about, where all sorts of extra data and CPU bandwidth has to be spent to deal with all sorts of potential issues. Sure, an individual end-user application may only respond to the single mouse event, but you have to write specific implementation code to do this filtering. And there are usually multiple layers of abstraction below the end-user application, each of which in turn MUST deal with the multiple button issues.
The point here is that the complexity is still there all through the OS stack, and of course here we have to try and deal with multiple mouse connections types too, like USB, serial, and PS-2 style connectors, each of which behave slightly differently.
If the operating system is designed from the ground-up to only deal with a single mouse button with enforced dogma of this philosophy, this really does greatly simplify the OS task, and in the long run does simplify the CPU overhead. That some developers think saving a few hundred clock cycles isn't necessary just shows how bloated the thinking is for some application developers, and why application response time really hasn't improved that much since the days of MS-DOS 3.3, dispite incredible improvements of hardware capabilities.
As a software developer who has used multiple threads, it was a big shock to me the first time I had to put the multiple threads into a true multi-processor system. It was a very minor two-line bug fix, but there are whole classes of bugs that show up when you are using a true multi-processor system then compared to multiple threads on a single processor. Simply put, you can't simulate it easily, and merely having multiple threads is not going to be proof that all of the processing capability is going to be avaiable to applications that need CPU bandwidth. Going the other way, from a multi-processor system to a single processor with multiple threads doesn't seem to be as big of a deal.
The dual cores is, IMHO, a pretty good thing, however. Motherboard designs using multiple processors have been painfully slow in getting developed, and because of the complexity in putting them together, along with comparatively low demand vs. single processor systems, you can often get a much more powerful system in terms of raw throughput of number crunching by simply buying a single processor system. The multiple processor cores on a single chip simplify the motherboard design issues and will make multi-processing computers more available, and something that mere mortals can get access to easily.
The problem with having a strong religious faith in "geek", "acedemia", or scientific circles is that non-believers consider religious belief to be at most a harmless diversion, or worse a serious brainwashing and "opate for the masses" to keep you from really understanding this universe.
People who have a strong religious faith believe that there are fundimental truths that simply go beyond strict observations. In this case, the reproducable aspect would require somebody else to go through a resurrection... something that is not commonplace and not technically possible with current understanding of science. Faith: The hope of things not seen, but accepted and you act out your life as though they are true.
In the case of if Jesus ben Joseph (anglicized names here), of Nazereth, born roughly 1 AD was a historical figure and really existed, I find it personnally insulting to see people question his existance and not that of Ramses or Julius Caesar. The historical documentation of the existance of Jesus is available in the archeological record as well as contemporary historical journals done in the Roman Empire, not to mention the huge social impact his teaching made and the millions of 2nd & 3rd Century people who professed allegiance to him, even with official opposition to the religious teachings of Jesus.
As to if Jesus is the promised Jewish Messiah, the divine Son of God, the Christus, Profetic predecessor to Mohammed, or simply a Jewish carpenter turned Rabbi is where the question of faith comes in. The interesting thing about the Shroud of Turin is that, if accepted, provides a concrete piece of evidence that not only did Jesus exist, but that something beyond normal human experience occured with his body after he died.
It is something tangeble that is within the realm of scientific reason to evaluate, test, and come to conclusions that are similar to testing and evaluating other historical figures. It is the possibility that you could scientifically "prove" a religious belief that ends up turning this whole investigation into a political debate, offending both believers and non-believers alike. The Catholic Church has luckily tried to defuse the whole political ramifications from it by trying to distance itself from this scientific proof, and certainly the validity of Christian religious thought does not depend on proving that the Shroud is authentic.
From a believers viewpoint: If the Shroud is authentic, I knew the events it supposedly depicts occured anyway. If it is a forgery, it is just like the millions of other fake medeval artifacts and it doesn't really matter. I have faith that the events of the ressurection occured anyway.
From a non-believers viewpoint: If it is a forgery, this is further proof that the church is a corrupting influence on the lives of the ignorant. If this is the genuine article, then WTF is going on? It actually brings more questions than answers.
Agreed from almost all fronts: If this is a forgery, it is a damn good one and the people in question who made it did a good job of making it that it leaves the question unanswered even in the 21st Century.
While I will say that C# is a good language to pick up, I would strongly recommend that a beginning software developer avoid DirectX in any flavor like it was an airborn Ebola virus.
Microsoft keeps changing its mind regarding what goes into DirectX, and older interface keep going obsolete with each new version of DirectX. More simply put, if you are not actively involved full-time in a professional setting and using DirectX as a part of your everyday development environment, don't use it.
For myself, I've spent far too much time trying to learn the basics of DirectX even since DirectX 1.0, and I had a pretty solid background of using COM/DCOM before even touching DirectX. Unfortunately, I was only an occasional dabbler with DirectX as most of my software development was in other areas. I watched as some of my software broke because of incompatable upgrades, and all sorts of new interfaces to learn with each new generation. At this point, I don't even bother because it is essentially like trying to learn it all over again. BTW, never, NEVER, NEVER upgrade the version of DirectX on your computer if you plan on doing a presentation sometime in the next couple of weeks, or have a product deadline (class assignment?) due in a short period of time. You may (and probabaly will) find at least some of your software not working any more, and more than likely see drivers "repaired" that should never have been touched.
For a beginning student like this high school student, DirectX just plain sucks. And anything he/she learns by programming with it will be lost anyway in the next few years. Choose a library like OpenGL or some other relatively stable (and preferably open source... for stability reasons as well) graphics library, and even then most of the simple graphics that you will need for a beginner's game system will not even require this library. All you need to do is learn how to turn on/turn off a graphic image's visibility property and be able to reposition the graphical object to different places on a display "form".
For getting into C# on the cheap, I would strongly suggest getting a copy of SharpDevelop, which works at least as well as Visual Studio for most of what a beginner would be doing anyway. They are past the 1.0 pain threshold of open source projects, and has plenty of objects available to do most of the fun stuff you would want to do for simple games as well. Don't get fancy, just learn the basics of making simple games and then branch out if you want to try something more challenging.
The whole controversy of how many buttons belong on a mouse pre-date even the MacIntosh, Lisa and Windows 1.0.
I remember an April 1st spoof of "Creative Computing" that got into the whole issue of how many buttons should be on a mouse, and they decided to solve the issue once and for all: Put a full QWERTY keyboard on the mouse. That way you will never run out of buttons to press.
As you did, I became familiar with the Mac interface well before using Windows, and as a software developer I still avoid the right-mouse button whenever possible, even when programming for M$ platforms. There are a few pop-up menus and a very few situations where I've done some specific programming that took advantage of having the second mouse button for the stuff I've done, but even in those situations it was possible to run all of my software with only a single mouse button.
Good software developers who understand UI issue (and BTW recommended by Microsoft in their "official" guidelines for Windows GUI interfaces) will even design a UI to at least "work" without a mouse at all. I've had mice die on me in the past, where I had to save and exit the software application without a mouse before. Also, there are times when you are using a keyboard where it is nice to be able to avoid having to switch between the mouse and the keyboard... especially if you are doing some data entry work. I find it particularly frustrating when some applications (particularly web applets) force you to use both a keyboard and mouse for data entry purposes. Keeping track of and designing a logical tab order (using the tab key to switch between different fields on a data entry form) is a part of this. Sure, you can use to mouse to move from one field to another, but using your left-pinky to press a tab key is much more convient when you are a touch typist.
I also swear that MS threw in the second button to help counter the lawsuits over GUI design concepts back in times of old (the old Apple vs. Microsoft suits). By having the second button, Apple couldn't claim that MS copied the "look and feel" of MacOS in Windows. The rest was astroturfing by Microsofties to convince you that using more than one mouse button was a GOOD THING(tm). And since they had that second button, they also had to make a case for why it is there, with a huge PR campaign behind it. During the debut of Windows '95, there was a huge effort to really push this idea and to explain just what the difference between the left and right mouse buttons really did.
From a software viewpoint, the two mouse buttons (Windows actually recognizes three, but the middle button is not always on Windows-based computers) really adds an extra level of complexity, more room for bugs, and adds extra parameters to mouse processing routines that for simple tasks end up chewing up more bandwidth on the CPU. To all of the zelots out there that are saying how wonderful having multple buttons on a mouse makes life easier, I would have to ask: Is it worth the extra overhead, bugs, and additional headaches (including training costs) to include the additional buttons on there? It is more than just the problems confusing novice users.
Still, he was jailed for using Lynx. The headline is correct as that is the only action he really did, and the "unlawful access" was a public website where he was doing something not only legitimate, but encouraged by the government.
It kills me when people consider it "hacking" when you type a new URL into your browser (i.e. directly moving to another webpage (5.html to 6.html) or accessing the directory root. In this case, this individual wasn't even doing that... he was simply using a non-standard web browser that also didn't fully implement the HTTP protocol correctly, or at least do so in a manner consistant with the psuedo standards pushed by Microsoft.
Although it has been a while myself, I used to be a rather avid Lynx user. Also, if you absolutely want to make sure that your website is 100% following standard HTML coding, I love to run it through Lynx if for nother other than to do a quick verification that all of the images are properly tagged, and other aspects of viewing web pages aren't all that cumbersome. If the webpage passes the Lynx test, I feel pretty confident that most other non-standard browsers will also work (in addition to IE and Mozilla).
Also, keep in mind that there are some (admittedly older) computers that you can shell into via telnet that only have Lynx installed. Rather than trying to hassle getting something new installed, Lynx is there and handy. It was also spread around quite freely in the early days of the web.
I know I am getting into this debate late, in terms of /. experience, but here is my personal take on the whole thing:
I actually sat down and downloaded the climate modeling software and put it on the computer that I am writing this reply on. I even ran it through a whole cycle and one of those "50,000" modeling runs was done on this computer.
I was willing to try and get it to do a couple more "runs" on my computer, but the software had a serious bug in it when you have a hard crash on your computer, like getting struck by lightning, or otherwise from a blackout condition where the computer shuts down hard and quick. Windows in general doesn't do too well when that happens either [yes, it is a Windows box... sue me if you like], but when that happened, I couldn't get the software up and going. I was going to delete and reinstall the software hoping to solve the problem, but I simple killed the software altogether after what happened next.
I spent some time on the message boards looking around at the basic assumptions behind the climate model being used. I also spent some time reading from the software designers, and really tried to dig around the website, asking a few very good hard questions. I've also spent some time studying climatology, and even spent some time helping to gather and input some historical weather data for the Utah Climate Center where we gathered weather data going back to the late 19th Century and put it into a machine-readable format. BTW, this is rather unusal to do this to have daily weather, temperature, and precipitation data going back that far. Most climate data used in modeling goes only back to the 1970's at best.
From what I saw on the website, it was politically motivated from the start to prove that there was global warming occuring. On the basis of all of the sensationalist news stories that seems to be coming out right now, it seems to confirm my theory.
There were legitimate items that were missed in the model, and ways to improve to modeling that may or may not prove global warming and/or cooling. Variations of things like increases in solar radiation, increased volcanic activity (over multi-annual periods of time), and assumptions regarding human impact on the environment were totally missed, or at least ignored and put into context of something that doesn't affect the climate. Some posters on the web pages proved that it wouldn't take that much additional processing to add these extra variables, and that is the point too: There are a bunch of variables that affect the outcome of the climate and for the most part these variables are just guesses in the dark. Even a true understanding of what the interaction between different things like how warming of the ocean off the coast of Chile affects weather in London is still not totally understood, even though there are some pretty good theories.
This whole idea was a nice try, but I am no longer involved simply because of the political angle that I got from reading the major participants, not to mention the leading researchers involved in this whole mess. In other words, I consider this to be bad science on the whole, and in the politically charged "atmosphere" of the global warming hypothesis, it is very difficult to keep a scientifcally neutral attitude regarding anything. From my experience as well, most of the schools also have professors that encourage the "solid" basis of human-influenced global warming, so it is very difficult to counter that culture if you are a student trying to study climatology that has a viewpoint counter to the prevailing attitude in acedemia. Simply put, if you don't publish a thesis or other papers that support global warming, you won't get a PhD.
This project, unfortunately, is an extension of that attitude, although I will admire a basic attempt to try and solve a difficult problem. The basic user interface for this software was cool, and it was neat to see a model of the Earth
I've actually written some stuff on Wikibooks. A book like this would be a huge win for Wikibooks, and I want to add my voice to suggest this approach.
/. is the best forum for something like this, due to the fact that it takes some time to grok this book, and unfortunately is a little above the heads of far too many /. readers. In addition, the nitpicking that needs to be done to get something like this going should at least be done chapter by chapter.
If not that, then at least look at Light and Matter by Benjamin Crowell This is an excellent undergraduate Physics textbook that is released under the GFDL. At the time he created the textbook, Wikibooks wasn't available, so he created his own infrastructure to get it going. Mr. Crowell is very approachable as well. If the author of this Quantum Computing textbook wants to go it alone, at least register this book with Crowell's free book registry and review guide.
I am not so sure that
For example, in Chapter One there is an incorrect remark about Gordon Moore's Law. He originally proposed a doubling every year, then suggested in a subsequent talk it would slow to double chip density (and much else) every two years. Some biographers and industry journalists were the ones that split the difference and made it 18 months. It is stuff like this that in a textbook situation can help to prepetuate misinformation, not to mention how this can open a can of worms if you are not careful, even though the discussion of Moore's Law is appropriate for the subject matter.
Since this wasn't posted on the "main" page, he might have a little bit of salvation here. Still, even with those that know to check different sections and are into "science" would still provide a huge load on any server. The PDF file comes in at about 2 Megs of data... not huge but enough to cause some problems if it is downloaded 1000+ times.
If you think MP3's are bad, try to do MPEG-2 video. As far as I can tell from what I've seen and read, MPEG-2 (aka DVD-Video) is totally incompatable with the GPL. Indeed, if you do any distribution of content, even stuff you produce yourself (as in a GPL'd DVD disc or rather GFDL disc), you still have to pay licensing fees per clip. Sure, only 1/2 cent per clip or disc that is distributed, but it essentially invalidates the spirit of the GPL altogether.
What is worse, once you have paid the extortion fees proper and legal-like, you still don't have a guarentee that all of the patent issues have been cleared up... all you've done is pay off some bribe money to a few major companies.
I just got through dealing with a client I was working for that totally didn't get this, with either MPEG-2 Video or MP3's, thinking they didn't have to pay any licensing fees beyond what they got by purchasing decoding/encoding chips from Taiwan or Singapore. While some licensing issues are solved that way, it still is a legal minefield that most people don't want to deal with, and choose to ignore. I ended up quiting and not continuing with that job, BTW.
Another person who did something very similar was John D. Rockefeller, who got into oil refining and distribution, and due to monopolistic control over those areas forced "rebates" on railroad shipping (Vanderbilt was one of the railroad executives he worked with) to get a much cheaper rate on shipping vs. the competition. He also deliberately set prices so low that it would drive compeition out of business, and deliberately kept prices low enough that new companies couldn't start up again.
Sound familiar? Look up Standard Oil Company on your favorite search engine to see for yourself.
Every single one of these points, other than the first man in space (who was actually before Gagarin, but died in space hence the non-person status in the old USSR) could be said about the old Apollo space capsules.
While Apollo was high-tech engineering (as was Soyuz), it was no-frills. And as seen with the Apollo-Soyuz missions, it was the Apollo modules that seriously kicked butt at being able to manuver and perform multiple dockings. The Soyuz capsules were more or less simply targets for the docking attempts.
It was a pity that all of that engineering, in typical American fashion, was dumped down the drain and the blueprints filed somewhere next to the Ark of the Covenant (aka Indiana Jones). I am not totally hating the Space Shuttle, but with 20/20 hindsight the USA lost an incredible body of engineering talent and design philosophy when no follow-up to the Apollo occured. May Senator Proximire never rest in his grave.
The only reason I can give for seperate terms for each country of origin is due to the fact that so far only three countries have poured the national resources together in one spot to have independent space programs: USA, China, and Russia (USSR).
That said, You don't see seperate terms for astronauts from Israel, Saudi Arabia, Brazil, France, Germany, or Canada. And all of these countries, with others have already sent somebody into space via one of the other space programs. These are all called astronauts, and justifiably so.
I don't see any problem with the grammar police insisting on simply "Chinese Astronauts" instead of "Taikonauts". The whole issue with Cosmonauts/Taikonauts is more a PR stunt anyway, due to the fact that they stand on the top of a multi-billion dollar effort to put somebody into space. Any time you spend that much money, the PR costs are incidental to coin a new word anyway.
If you want to see something wierd and bizzare regarding pushing a word to change its meaning, look up the word "cola" in a Portuguese/English dictionary. Somehow Coca-Cola spent enough money in Brazil and Portugul to change the meaning from glue to something cool to drink. I shudder to think of how much that actually cost to do that, but it wasn't cheap. A little Chinese PR work to push the term "Taikonaut" is nothing in comparison.
You think this isn't happening anyway? As far as cultural norms are concerned, the minimum age to start a family, particularly for women, has gone up from age 14-15 to 21-25 even now. And it is not that unusual to see a woman begin her family at age 30 anymore...even be encouraged to do so in fact.
In most places in America, even have sex at all with people younger than 16 can land you in jail very quickly. I'm not familiar with laws outside the USA, but there are some similar laws in Europe as well.
If people lived to be 200+ years old, and in good shape, with women able to become pregnent at age 60+ (with low probability of birth defects), I think you might find the age women start families to go up even more.
BTW, if you think I've full of it, I don't think 1850 is really that long ago, in terms of # of generations ago that would affect human DNA. And it was very common in 1850 for 15 year old girls to get married... mostly because they had to if they were going to have any kids before they died. There is some evidence of 10 year old girls getting "married" with prehistoric groups.
While that seems good on the surface of it, except for mineral analysis for something like Iapetus or some of the moons that way, I don't see that as a very logical way of doing things at least for "first contact" or such mission. As a part of a comprehensive mineral survey mission, perhaps you might be right.
In the not too distant future, I can envision a cluster of probes going to Jupiter and having things drop off at each of the Gallileian moons. Each moon, however, would have very different mission requirements if for nothing more than the very different environments of each moon. Io would have to deal with molten sulfur (in some ways worse than Venus), Europa would have some serious life science packages on board, Ganymede would include some pathfinder-like capabilities, and Callisto would be some sort of deep impact probe.
It might just be cheaper and more practical in each case to launch a much more modest mission for each moon on seperate rockets, even if probes going to all four moons are to get there at the same time. A fifth "probe" to act as a node on the interplanetary internet-Jupiter station would act as a data bus to send information back to the Earth. This way you could even send follow-up probes with less hassle and not have to worry so much about data communication. If one of the probes besides the data bus probe fail, not all is lost. And the data bus probe could be standardized and sent on missions all over the solar system, reducing the likelyhood of errors because there would be multiple chances to catch mistakes. Mass produced equipment does allow for better margins to increase reliability.
Now the exciting thing that you could do is not just casually pull up a website and view pictures of almost every body in the solar system, but that you could conceivably gain access to a rover directly and "request" views to get more detailed information. If I were a planetary scientist, that would be a blast to do.
You know, now that I've seen the mainstream press reaction to this, I think they've totally missed the biggest story of the year. When all is said and done, histories written, in 200+ years when people look back to important historical events of the current century, I think this will be considered one of the major accomplishments to have occured.
Right now there is competition from a lot of different areas for what is called "news", so it is not surprising that it is going onto sidebars and back pages in newspapers. It surprises me, however, that even a short 30 second spot on the evening news isn't happening. On a slow news day I'm sure this would have been something like the leading story, or at least a full 3-5 minute news story on television.
Part of the problem is that this is being viewed by the mainstream media as being a European accomplishment (justifibly so, BTW). It is a little hard at least for American news personnel to get excited over this, or even suggesting that France can do something besides screwing over the USA. I hope that this isn't a sign of things to come. Not withstanding ESA participation, there certainly is an American angle to this whole story they could also persue if they choose.
This is a first that ranks with Surveyor, Venera, Viking, and now you can add Huygens to that very short list of major exploration missions. Not bad company, and if you notice each mission occured several years apart. This is not something that mankind has been knocking off and exploring new worlds with direct sampling as routine.
The neat thing that will come from this and further exploration of Titan is another world with a fluid (petrological instead of hydrological?) system, where you can study rivers, streams, lakes, and oceans in what is arguably an unaltered (by humans) state. Studies of fluid cycles on Titan can complement studies done on the Earth of water cycles.
The interesting thing to wonder, however, would be to find the energy source on Titan, as Saturn puts out more heat radiation than the sun as far as Titan is concerned. A whole bunch of really fun science could be done on Titan that would be unavailable anywhere else in the Solar System.
While Titan is slightly bigger than our Moon (Luna or whatever), it is still somewhat smaller than Mars. The difference in atmospheres between these three bodies is mainly due to distance from the Sun, where around Titan water is not just simply ice, it is a mineral in structures that you would normally think of here on the Earth as Granite or Limestone. The gasses that here on the Earth would have (by theory did) get boiled off by solar radiation (heat) are still there on Titan.
This is a first contact mission for a planetary landing, not a followup mission like Beagle. Think of this more like Surveyor or even the Viking lander instead. Even the Venera missions fit this category of lander, where the gee-whiz factor is just that it got accomplished at all.
I would love to see a follow-up mission to this. Perhaps something that can float in the "sea" and "navigate" the coastlines? An amphibious vehicle that can take both fluid samples as well as mineral analysis. Neither possibility would have even been concieved prior to the launch of Cassini-Huygens. Not to mention huge advances in computer technology and a willingness of space engineers to use more modern electronic components, like the Mars Rovers.
A direct to Saturn, or at least with gravity assist from just Jupiter would be nice (aka Voyager Probes), with perhaps an ion propulsion system (where the distances would clearly favor such a device). Windows of opportunity for something like that happen every 12 years or so. The Voyager flight path was more like 1 in 500 years, but we aren't talking a grand tour. Unfortunately to do all of the above with a reasonable spacecraft will take a lot of money, and that much is something I don't have. Even Mr. Gates couldn't afford too many missions like this for pure science.
I was also quite impressed with the space fight sequences in the miniseries as well. I had a few problems with the bullets flying out of the cannons, and in that regard it seemed more like an F-16 fight sequence from Top Gun or something you might have seen on the opening days of the Gulf War.
Face it, bullets in space just add debris that most spacecraft would have to be shielded against anyway (micrometorites, and natural hazards). Emptying an M-60 in space would be equivalent of flying through the rings of Saturn. It simply doesn't make sense to use bullets like that.
Clearly better than the Star Wars-inspired combat sequences, which George Lucas openly admits were inspired by newsreel footage from WWII. The original series simply followed (some say too closely) what Lucas had done just a couple of years earlier.
I also liked the Hyperjump sequences, which is something the original series simply ignored altogether. They showed a sequence in the original series where they actually made it into another Galaxy.... and people expressed awe when the Galactica was able to travel at "lightspeed". Totally ignoring relativity on multiple levels. Why the landing bays are extended out from the body of the Galactica is even explained in a much better fashion than the original series seemed to convey.
One aspect of the Miniseries that I also noticed was the Americanification of the series. In other words, the underlying culture for the colonies was considerably much more like the USA than there was in the original series. They still payed homage to the original series with Pyramid games and the card games (as well as the cubit coins), but many other aspects were more like America, with the colonies more like the U.S. states rather that distinctive cultures with individual religious and socialtal differences. The cousel of the twelve is totally gone, Adama is clearly a part of military heirarchy alone, clergy has been seperated to its own heirarchy (you won't see Adama performing a wedding anytime soon), and there is now a counsel of Ministers that are in the line of Presidential succession, of which Adama is nowhere near as important in that political arena. Adama simply can't take control of the government except by brute force or resigning his commission (very unlikely to ever see happen).
One of the most sobering parts of the miniseries that I loved/hated (perhaps because it comes too close to home living very near some major defense installations) was the Nuclear War during the Battle of Capraca. They nailed the physics of a nuclear bomb blast, and otherwise the producers did their homework in that regard. Seeing a global nuclear war from space was something I've never even seen from any other SciFi show.... at least done so well as it was done rather than a big ball of flame that eats up the whole planet. In the original series you only saw the ruins of the aftermath, and even then the cities were taken out by lasers rather than nukes, although radiation weapons were implied in some conversations later in the series.