Sometimes, it really is time to call in professionals, and spend the money to do it right. I've built some storage solutions on my old job, to support our compute clusters. They worked from an OS point of view, but even buying what were supposed to be well-regarded components resulted in more downtime than we considered acceptable, mostly from heat. In the end, as soon as we had the money, it was entirely worth it to be able to call IBM, buy their servers for disk storage, and get the better engineering in terms of cooling, drive access, and remote management, as well as the three year warranty with onsite service.
It is highly unlikely that you can screwdriver together a system with as good of airflow as major vendors who employ real engineers. As the poster said, it's a business, therefore when your data matters is not the time to hack something together with parts from NewEgg.
The Gulf-stream conveyer is really affecting Europe, isn't it? I was under the impression that Europe would become more like Russia, and Minnesota really couldn't get much worse, short of the glaciers returning.
Your answer is probably what a comedian suggested for the Ethiopians back in the 80s: U-Hauls. You need to move somewhere balmy such as Upstate NY. Even Buffalo should seem sub-tropical after Minnesota.
Because the restricted journal is known for agressive sifting of wheat from chaff, and rigorous reviewing of the wheat? That journal also (or therefore) has a high-impact factor as well, which ensures that people will actually read your paper.
I've had this go-round with other people before, since as an assistant professor, I chafe at having to pay page-charges, which reduces the amount of money available for research. I admit that journals cost something to publish, but the cost shouldn't determine whether I publish, especially given that promotion depends to a certain extent on quantity. One nice, 20-page, thorough article in J. Chem. Phys. http://jcp.aip.org/ is not going to make up for five MPU fragments published in Inorg. Chim. Acta. http:///http://www.elsevier.com/wps/find/journalde scription.cws_home/504086/description#description/>, as far as promotion is concerned. Allegedly that JCP paper will get a heavier weight, but unofficially, it's number, with a few good ones in the better journals interspersed for status that matter.
This emphasis on quantity (especially when your packet leaves your department, and hits the administrative staff of the Dean's office, who aren't from your field), is what fuels the explosion of journals, and the corresponding explosion of frankly pointless publications. A system that rewarded impact of a paper, and quality of journal, would help, as presumably fewer, but longer and more thorough, papers would be published. This would lead to fewer journals, which would require smaller staffs to administer, and hence lower costs. Yes, new journals are needed now and then, but there are also generally older ones that can be gracefully retired.
I don't know how things are done in other sciences, but in chemistry the senior journal editors for ACS receive a stipend, office expenses, and technical support. (not necessarily great; just last year ACS upgraded their software to run on Windows > Win95, and replaced the computers) This costs money. On the other hand, the reviewers are free, and the content is free. A system that allows them to recoup the publishing cost, but then liberates the content after an appropriate period, would seem to make at least some sense.
I don't know a good solution. I think one would be that the journal gets limited copyright to your paper (say first year), after which you can deposit the raw copy at a service such as http://arxiv.org/. You can't change the content, but the formatting is left up to the author. Alternately, since the Feds probably paid for your research in the first place, after one calendar year, an electronic copy of the journal issue is deposited with the Library of Congress, and then mirrored by other academic or government labs. In this system, you still pay a service such as CAS for advanced searching (or take your chances with Google), and someone still buys the bound form, thereby creating money for the publisher, but the results are then placed into the commons after a short period. A system where I the author pay a flat fee (to help weed out dilettantes), the subscribers pay something (for prompt access), and the paper is then archived in a non-exclusive form after some brief period (1-2 years), is probably the fairest.
A different random thought is that maybe publishers should prune minor journals, and articles that would have gone there go to a publicly supported forum such as http://arxiv.org/. You would then have three tiers; peer-reviewed journals, publicly reviewed web-only publication (authentication of reviewers would be an issue, but not insurmountable; affiliation and verification by archive maintainers would do), and unreviewed conference proceedings. The economics of the above is probably worth investigating.
Of course, at the moment I'd be happy if our local library was allowed to scan a
I think they ought to go back to an idea I had years ago. In an early 1970s Scientific American "amateur scientist" column, there was an article on building your own 5Kw pulsed dye laser. I always wondered about taking the sonar range-finder from the old polaroid SX-70 camera, adding some electronics to allow it to discriminate between the target and other objects, and hooking that up to the pulse-laser. Of course, my target was going to be the squirrels eating my garden, but the principle is the same.
Cue some appropriate music, switch on the anti-mosquito system, and sit back to watch the fireworks. Do make sure the targeting system can tell the difference between you and a mosquito before putting it into production, but that's an implementation detail.
Once upon a time I was a Wordstar jock (back when the glaciers were just beginning to retreat), when the Uni standardized on WordPerfect. I thought ( and still do ) that a user interface that required me to continuously remove my hands from the keyboard to hit a function key was just broken.
What amazes me is that with the prevalence of laptops, we're basically back to the keyboard layout that inspired the Wordstar command set, yet our software presumes we have an acre of keyboard real-estate, and room for mouse movements as well. Personally, I think it's not just that mousing around is supposed to be easier, it's that an entire generation of programmers and project managers have grown up with the mousing-around paradigm, and can't conceive of an interface that doesn't require one. It's one thing I like about the newer Macs; they ship with Emacs, which means that if I'm writing quickly and don't need the fancy graphics, I can compose in an unobtrusive environment which doesn't require me to shift gears to deal alternately with typing versus mousing. Of course, I'd like to slap Richard/Gosling over the decision to require a Meta key, rather than just CTRL codes, but I just need to write a new.emacsrc to deal with that issue.
It's too bad, as WS, XYWrite, FinalWord, etc, worked beautifully on those early laptops, because they didn't require you to look for undersized function or arrow keys. Hopefully the increasing miniaturization of keyboards will cause a rethinking of the "Point and Drool" school of interface design.
There's also the psychology of feeling like you're doing something. Would you rather take that 1 in a gazillion (SI Units) chance, and give up some CPU time for the search, or just wait until the ramscoop swings into orbit, and go, "Oh heck! where did *that* come from?", with everyone else?
You're taking your courses in the wrong order. You need P-Chem and Inorganic to understand _why_ Organic works. Once you can understand which way the electrons flow, you're halfway done. Look for Woodward and Hoffman's book on orbital symmetry interactions, and the old Ian Fleming (different one) "Frontier Orbitals and Organic Chemical Reactions". Albright, Burdett, Whangbo, "Orbital Interactions in Chemistry" is also a good general source, though it's rather inorganic in focus.
The other half is to actually memorize 2000 reactions, if you're going to be a professional organic chemist. You have to know solvent, temperature, and related reactions. You need to know how mechanisms work, what transition states look like, and how both steric and electronic effects interact. To this you can add metal-mediated transformations (organometallic). This is why organic (so say my female colleagues) is overwhelmingly male; the same ability that makes you able to remember 2000 random movie quotes or baseball statistics allows you to memorize organic reactions instead.
Take a deep breath, and start making flash cards. Remember, Organic is just Inorganic with boring elements.
As to the software question, CambridgeSoft (http://www.cambridgesoft.com/ and Accelrys (http://www.accelrys.com/ are two examples of people with expert systems that do some of what you're asking. You will not like the price.
So, question (seriously): Why do these things still exist?
You've got a CPU, moderate-sized memory, HD, DVD-ROM, and input-device. Basically, it's a computer, with the user-mangleable parts missing. Why doesn't this come with a web-browser on a disk, a link to (MicroSoft/SONY/IBM) services, and an iDrive (or whatever you want to call it) network storage area for the average home user who wants it for entertainment and light email. No more "home-sysadmin" duties for the average user, and more importantly, no "home-emergency-sysadmin" duties for you over holiday breaks, no more worrying if your data is backed up. Alternately, ship a version of WINCE on a DVD with it, provide Word for Wince as HomeWord (or whatever), a current browser, and once again, one device, two functions, harder to hurt yourself than with a standard PC.
OTOH, why doesn't your PC come with a partition on the drive that when you boot it you choose (PC/Console), and if the latter it boots into a stripped-down, hard to hurt yourself (i.e. the rest of the harddrive is invisible) X-Box mode? One computing device, a couple of input controllers (keyboard/game-pad), and an extra S-Video output on the graphics card. Microsoft could get out of the hardware manufacturing business entirely (and the associated support and shipping channels), and just worry about content creation/licensing.
You could move to Binghamton, NY. Roughly 110K pop (not the back woods), great scenery, good, affordable, university, decent local opera, low cost housing and major highways to help you get away. Of course, one of those highways leads up to Syracuse and down to Scranton, but eventually you'll hit NYC, Philly, or Montreal.
For your price, you could either pay less than $100K, and get the 1200 ft house, or the full $400K, and buy two 20 acre farms; one to live on, and one to house your programmers. More companies out to consider decentralizing their staff. The upper-management can stay inside the Beltway, or whatever status-obsessed traffic nightmare they need to feed their egos, and they can send the IT department, customer-support staff, etc (who they don't want to ever see anyway) off to more reasonable lives in Upstate NY, central PA, etc. It does get cold, but there are no earthquakes, hurricanes, seasonal multi-10K acre fires, etc.
You realize that you could make a pretty-good ESPN series out of that? We get you guys, your Fords, and your favorite guns, and then we get some Taliban with their "Taliban Special" (light Toyota pick-up truck) and their favorite guns, and have you compete in a variety of off-road events. Something like skeet-shooting while driving down a mountain road with no more than two wheels on the track at any given moment. Polo fought from pick-ups instead of ponies, that sort of thing. Beat the heck out of one more episode of "Monster Trucks" or "Philidelphia Eagles".
I've known people (humanities) who had a telecommuting job, and they dressed up in work clothes before walking across the hall to their office. It was part of the whole mental-prep to do work. Personally, I think it has some effect. I used to seem to get underway in the lab faster when wearing my lab-coat.
In my last job, I made the conscious decision to force myself to wear shoes. I used to wear a nice long-sleeved oxford, twill pants with pleats, and sandals to work. (from early march through november in Chicago) I decided one morning it was time to act more seriously at work, changed to shoes when I changed jobs, and got on with my life. It helped separate me from the grad-students/post-docs, and was part of the whole, "time to get into character" aspect of work.
So, in short, it might make you code better. Give L.L. Bean a call, trim your facial hair symmetrically, and see what happens. At least you'll have done the experiment. As S. Jackson put it in Pulp Fiction, "Time to get into character."
You've never been a sysadmin in a big-iron shop, or you'd understand the appropriateness of the term. Some mornings there's no choice but to put on the spurs, start humming "Rawhide", and teach those machines What-For.
On the other hand, unlike Oxen, no matter how mad you are at your Boxen, you can't barbeque and eat them.
Maybe. On the other hand, you have a group such as the AbInit team (solid-state quantum simulations) or NAMD (classical molecular dynamics) which writes the code, and then hundreds of different researchers actually use it. For the authors, a good programming environment speeds their time to use. For everyone else downstream, they want the absolute fastest system, as they are probably not doing serious work On the code, but rather With the code. They can put up with a somewhat user-surly environment as long as it runs as quickly as possible.
Therefore, for most groups, "time to solution" is determined by raw cluster performance. This is the argument we used to have with C++ nuts from Comp Sci; they'd claim that we were missing out on all the great new software development methodologies by using Fortran, and we'd note that our Fortran code was at least 20% faster (and frequently much more) than theirs, thereby giving us an extra 2.4 CPU-months of runtime per year.
This is the other place that Windows loses. Unless they have a posix-standard environment, nobody is going to develop code on their Windows desktop, and then run it on their local windows cluster, if they know that their job will later have to go through a wrenching porting process to a real supercomputer. Code written on OS-X/Linux can be (with generally minor adjustments) ported quickly to another larger Unix system (IBM SP3, Cray vector, etc). Anything that makes Windows-native calls, or uses some non-unixy shared memory model, is going to be a beast to port, and severely limit the future applicability of your program.
I know the guys who run a big Windows cluster, and while I like them, what they're supplying is a pool of workstations. Not many parallel jobs get run, but a lot of serial jobs. It's easy for novices to run a few standalone jobs, but hard to migrate parallel code to, so most researchers don't. The real theory groups are all building their own Unix-based clusters, to avoid the Windows-based one. It was an interesting political decision to go with Windows, but it's not really displacing supercomputers or other clustering technologies.
Molecular Physicists/Computational Chemists have made available through a variety of open licenses, including GPL, highly complex, well-developed, robust simulation codes. We're undoubtedly a smaller niche than MechE's, but we have a good couple dozen solid production codes to choose from (if you mix the quantum people and the classical MD people), for between Free (beer/speech) to Freeish (moderate license fee, or restrictions on code redistribution).
Maybe the problem is cultural: people who can write such software, write it for money. There isn't enough money in electronic structure packages, so at least half of them remain free. The money that's charged is frequently to cover duplication costs, and to chase off dilettants.
Maybe the bigger problem is the parent poster is expecting a level of user-obsequiousness from his software. Most of my community's free codes are somewhere between User-Indifferent to User-Surly, but you get used to the ones that are relevant to your own work rather quickly.
However, I would list Octave http://www.octave.org/ and OpenDX http://www.opendx.org/ as good starting places for tools. That will get you a good programming environment, and an absolutely killer visualization framework.
If you look up how the top500 benchmark, and most of the others, slapping together a heap of boxes doesn't get you anything. To actually get a decent score on parallel DP linpack, or simulation codes used as benchmarks, you need a fast, very low latency interconnect between the nodes, excellent synchronization, and fast disk access.
Even the allegedly "off the shelf" systems contain an awful lot of not off the shelf hardware. Case in point would be PNNL's Itanium cluster http://www.emsl.pnl.gov/capabs/mscf.shtml/ (at 1000 or so nodes). At SC2003 I chatted with people I know from there, and they mentioned that they had four (4) Quadrics http://www.quadrics.com/ interconnect cards Per Node, plus extra switches, in order to get the bandwidth up high enough. Even a cheap cluster will add Myrinet (at about $1500/node when the switch is factored in), and start worrying about topology after the first few dozen nodes are installed.
There are clusters (basically networks of workstations), and then there are supercomputers.
So, just curious, but why don't you put your efforts into crunching your traditional vector processors onto some more affordable piece of silicon, rather than trying to recreate the T3E out of Opterons?
I know chemists who claim there there are still algorithms than don't run as well on modern MPars as they did on mid-90s vector Crays. I know we're not a huge market, but I bet there are some other fields that would rather have a deskside T90, rather than a multi-proc Opteron box.
The only final decision you should be worried about with a modern compiler is, "is that result correct?" You've fallen into the trap of believing that your programs are the first to be written that way (they aren't), and that you're smarter than the teams of people who write compilers, and the computer scientists whose algorithms those compilers employ (chances are, you aren't).
Once again, from the real world, I have moved a quarter of a million line parallel Fortran program to a new 64-bit architecture, which was easy because the authors had isolated the machine-specific bits, and had abstracted them as far as possible, so very little actually had to be changed. After that, it was a matter of verifying the code via the official test suite and some personal results (basically, similar jobs, but larger). That code is heavily optimized by algorithmic choice, does a few (carefully isolated) architecture-dependent tricks to save memory, and makes heavy use of system math libraries (i.e. good algorithms, carefully tuned). The kind of bit-twiddling you're advocating, while probably personally fulfilling, is making very little difference in the overall performance of your code, if not actively reducing it.
Your idea of second-guessing the compiler, optimization by optimization, is (politely) impractical, on anything much over a couple of hundred lines. Go to http://www.g95.org/g95_status.html/, pick one of the simulation codes listed, such as AbInit, and convince yourself that you will consistently hand-generate better code than a modern compiler. I know some groups who do hand-coding in assembler, but that tends to be for mathematical primitives. Higher-level functions are written to call those primitives, and left to the compiler to optimize.
I said this elsewhere, but it applies here as well, "Machines should work, People should Think".
My personal experience with this was Linux on Alpha, where certain programs assumed a 32-bit environment, rather than querying the system they were built on for size of int, pointer, etc. As a result many programs were funky on the Alpha, and the 'pc-isms' (what we once would have called Vaxocentrisms) caused great waste of time as they had to be tracked down an eliminated.
Your code, if you've been worrying about anything other than 32-bit PCs, should already be 64-bit clean, as you've had 15 years of Alpha, SGI, Power, Itanium, and Sun 64-bit systems to support. If it isn't, hopefully it's something such as user interface which will still run in the 32-bit environment, though not necessarily optimally.
Personally, I think that writing robust, portable, code is worth the effort. Unless you're talking about running on an embedded system where every byte counts, it doesn't hurt you at all to design clean algorithms and data structures, and put in checks to actually determine the size of ints, longs, pointers, etc, rather than just assuming that everyone will run x86 (or MIPS-64 or whatever) from now until the end of time. I have research programs that were written in the 70s (in their original form), on Cyber 205 and similar long-gone architectures, which still work because they were written in a mostly portable manner, with only the most critical nasty bits tied specifically to that machine. Your code is going to be in use longer than you think; be nice to your successors and make it portable now.
In the original (Ep 4-6) we have the good guys, despite a bummer of a setback in the middle, triumphing over the forces of the DarkSide, and even deconverting one of them. In the Remaster, now playing in California, we have the good guys, despite a bummer of a setback, trying to play nice with the Dark Side, so they can fight off the other good guys, rather than being simply annihilated.
I actually had a discussion about the "3d-everything-in-focus" issue with a researcher at Argonne once. He said that it was the lack of out of focus edges on the periphery, as well as the lack of tghe constantly changing in/out focus of the real world that causes immersive 3d environments to create a "throw up on your shoes" urge. On the other hand, if you combine this with the microvoltage stimulation we read about (the one that allows you to feel motion even if you're not moving, maybe a more comfortable environment for the end-user could be created.
As for the content, if you thought there was a fuss over colorizing movies, just wait until you hear the cinephiles screaming about classics being "Three-Dee'd". Personally, I look forward to a copy of "Apocalypse Now" with some actual depth to the scenes as they go up the river. Maybe (we're allowed some fantasy here) this will encourage people filming for TV to pay more attention to cinemetography, rather than just shooting head on to maximize the view for people with a fuzzy, 13" TV, in the den.
For the tooth, you'll need to add the right bacteria, and agitate as well. The pH of coke is low, but the acid in question is phosphoric, so you've probably got a buffer reaction going on with your tooth, and just passivating the metals. Try it again with a piece of clam shell; you should get a more dramatic reaction.
You also don't really want to encourage that much plankton growth, as many phytoplankton produce volatile halocarbons. Feed the weeds, reduce the CO2, and blow a hole in the ozone layer you'll never forget. There's another Science article from around 1999-2000 discussing metals in marine systems, which mentions that the biogenic halocarbon production is approximately equal to anthropogenic sources.
The obvious answer is to eat more sushi, and get that Nori under control.
(a) yes, H-B fusion (aneutronic) is possible, but...
(b) it requires very high temperatures, and suffers from a variety of energy loss mechanisms which make getting usable energy from it difficult. This is similar to when I was in grad-school, and everyone was whispering about Muon-catalyzed fusion, which turned out to be impractical for energy extraction as well.
IANA(N/P)P (i am not a nuclear/plasma physicist), but the papers I skimmed suggest that you could use this method, mixed with a conventional Deuterium/tritium mixture, to get cleaner fusion and better burn rates. Of course, not being a physicist, it's possible that the journals I found the citations in are the physics equivalent of Journal of Pointless Chemistry.
Nice to see the change of heart. A few years ago we wanted an Itanium system for HPC use, and You (you unisys, probably not you personally) had a new SMP box that looked promising. Our code was tuned for SMP, and we wanted to move it off Suns with as little pain as possible.
LSS: I called up, asked about the machine, got a nice salescritter, and mentioned we wanted to run Unix on it, and the conversation suddenly became a Microsoft sales session. You critter couldn't possibly understand why I wouldn't just rewrite a quarter of a million lines of code so that it could run under an experimental version of Windows, rather than use a non-Microsoft OS. In the end, we bought HP Itania, put up with MPI, used RHEL, and the 6.0 series of Intel compilers, and never looked back.
Just a touch of vision, and you guys could have been Sun-killers. You could have established yourselves as a reliable supplier of mid-sized 64-bit SMP boxen. As it was, IBM and HP pushed Linux on biggish iron, Dell pushed Win2K on small boxen, and people thought, "why do I want a computer that uses vacuum tubes" when the name Unisys came up.
You sound like a sane and intelligent person. My best wishes to you (seriously) at Unisys. I worked for a sinking barge once, with a sharp disconnect between the top and the bottom, so you have my sympathy.
Compared with the alternatives, such as IBM's entry-level system http://www-132.ibm.com/webapp/wcs/stores/servlet/C onfiguratorDisplay?storeId=1&catalogId=-840&langId =-1&site_type=public&oiId=null¤cy=USD&base=1 722-6LU&x=11&y=12/, Dell http://www1.us.dell.com/content/products/compare.a spx/das_storage?c=us&cs=04&l=en&s=bsd/ or NetApp http://www.netapp.com/, add the cost of the redundant power and cooling, and ignoring the cost of trying to maintain a Linux system alongside their OS-X, Apple's price is not bad for the storage supplied.
Sometimes, it really is time to call in professionals, and spend the money to do it right. I've built some storage solutions on my old job, to support our compute clusters. They worked from an OS point of view, but even buying what were supposed to be well-regarded components resulted in more downtime than we considered acceptable, mostly from heat. In the end, as soon as we had the money, it was entirely worth it to be able to call IBM, buy their servers for disk storage, and get the better engineering in terms of cooling, drive access, and remote management, as well as the three year warranty with onsite service.
It is highly unlikely that you can screwdriver together a system with as good of airflow as major vendors who employ real engineers. As the poster said, it's a business, therefore when your data matters is not the time to hack something together with parts from NewEgg.
The Gulf-stream conveyer is really affecting Europe, isn't it? I was under the impression that Europe would become more like Russia, and Minnesota really couldn't get much worse, short of the glaciers returning.
Your answer is probably what a comedian suggested for the Ethiopians back in the 80s: U-Hauls. You need to move somewhere balmy such as Upstate NY. Even Buffalo should seem sub-tropical after Minnesota.
Because the restricted journal is known for agressive sifting of wheat from chaff, and rigorous reviewing of the wheat? That journal also (or therefore) has a high-impact factor as well, which ensures that people will actually read your paper.
/>, as far as promotion is concerned. Allegedly that JCP paper will get a heavier weight, but unofficially, it's number, with a few good ones in the better journals interspersed for status that matter.
I've had this go-round with other people before, since as an assistant professor, I chafe at having to pay page-charges, which reduces the amount of money available for research. I admit that journals cost something to publish, but the cost shouldn't determine whether I publish, especially given that promotion depends to a certain extent on quantity. One nice, 20-page, thorough article in J. Chem. Phys. http://jcp.aip.org/ is not going to make up for five MPU fragments published in Inorg. Chim. Acta. http:///http://www.elsevier.com/wps/find/journalde scription.cws_home/504086/description#description
This emphasis on quantity (especially when your packet leaves your department, and hits the administrative staff of the Dean's office, who aren't from your field), is what fuels the explosion of journals, and the corresponding explosion of frankly pointless publications. A system that rewarded impact of a paper, and quality of journal, would help, as presumably fewer, but longer and more thorough, papers would be published. This would lead to fewer journals, which would require smaller staffs to administer, and hence lower costs. Yes, new journals are needed now and then, but there are also generally older ones that can be gracefully retired.
I don't know how things are done in other sciences, but in chemistry the senior journal editors for ACS receive a stipend, office expenses, and technical support. (not necessarily great; just last year ACS upgraded their software to run on Windows > Win95, and replaced the computers) This costs money. On the other hand, the reviewers are free, and the content is free. A system that allows them to recoup the publishing cost, but then liberates the content after an appropriate period, would seem to make at least some sense.
I don't know a good solution. I think one would be that the journal gets limited copyright to your paper (say first year), after which you can deposit the raw copy at a service such as http://arxiv.org/. You can't change the content, but the formatting is left up to the author. Alternately, since the Feds probably paid for your research in the first place, after one calendar year, an electronic copy of the journal issue is deposited with the Library of Congress, and then mirrored by other academic or government labs. In this system, you still pay a service such as CAS for advanced searching (or take your chances with Google), and someone still buys the bound form, thereby creating money for the publisher, but the results are then placed into the commons after a short period. A system where I the author pay a flat fee (to help weed out dilettantes), the subscribers pay something (for prompt access), and the paper is then archived in a non-exclusive form after some brief period (1-2 years), is probably the fairest.
A different random thought is that maybe publishers should prune minor journals, and articles that would have gone there go to a publicly supported forum such as http://arxiv.org/. You would then have three tiers; peer-reviewed journals, publicly reviewed web-only publication (authentication of reviewers would be an issue, but not insurmountable; affiliation and verification by archive maintainers would do), and unreviewed conference proceedings. The economics of the above is probably worth investigating.
Of course, at the moment I'd be happy if our local library was allowed to scan a
I think they ought to go back to an idea I had years ago. In an early 1970s Scientific American "amateur scientist" column, there was an article on building your own 5Kw pulsed dye laser. I always wondered about taking the sonar range-finder from the old polaroid SX-70 camera, adding some electronics to allow it to discriminate between the target and other objects, and hooking that up to the pulse-laser. Of course, my target was going to be the squirrels eating my garden, but the principle is the same.
Cue some appropriate music, switch on the anti-mosquito system, and sit back to watch the fireworks. Do make sure the targeting system can tell the difference between you and a mosquito before putting it into production, but that's an implementation detail.
Once upon a time I was a Wordstar jock (back when the glaciers were just beginning to retreat), when the Uni standardized on WordPerfect. I thought ( and still do ) that a user interface that required me to continuously remove my hands from the keyboard to hit a function key was just broken.
.emacsrc to deal with that issue.
What amazes me is that with the prevalence of laptops, we're basically back to the keyboard layout that inspired the Wordstar command set, yet our software presumes we have an acre of keyboard real-estate, and room for mouse movements as well. Personally, I think it's not just that mousing around is supposed to be easier, it's that an entire generation of programmers and project managers have grown up with the mousing-around paradigm, and can't conceive of an interface that doesn't require one. It's one thing I like about the newer Macs; they ship with Emacs, which means that if I'm writing quickly and don't need the fancy graphics, I can compose in an unobtrusive environment which doesn't require me to shift gears to deal alternately with typing versus mousing. Of course, I'd like to slap Richard/Gosling over the decision to require a Meta key, rather than just CTRL codes, but I just need to write a new
It's too bad, as WS, XYWrite, FinalWord, etc, worked beautifully on those early laptops, because they didn't require you to look for undersized function or arrow keys. Hopefully the increasing miniaturization of keyboards will cause a rethinking of the "Point and Drool" school of interface design.
There's also the psychology of feeling like you're doing something. Would you rather take that 1 in a gazillion (SI Units) chance, and give up some CPU time for the search, or just wait until the ramscoop swings into orbit, and go, "Oh heck! where did *that* come from?", with everyone else?
(from someone who teaches Chemistry for a living)
You're taking your courses in the wrong order. You need P-Chem and Inorganic to understand _why_ Organic works. Once you can understand which way the electrons flow, you're halfway done. Look for Woodward and Hoffman's book on orbital symmetry interactions, and the old Ian Fleming (different one) "Frontier Orbitals and Organic Chemical Reactions". Albright, Burdett, Whangbo, "Orbital Interactions in Chemistry" is also a good general source, though it's rather inorganic in focus.
The other half is to actually memorize 2000 reactions, if you're going to be a professional organic chemist. You have to know solvent, temperature, and related reactions. You need to know how mechanisms work, what transition states look like, and how both steric and electronic effects interact. To this you can add metal-mediated transformations (organometallic). This is why organic (so say my female colleagues) is overwhelmingly male; the same ability that makes you able to remember 2000 random movie quotes or baseball statistics allows you to memorize organic reactions instead.
Take a deep breath, and start making flash cards. Remember, Organic is just Inorganic with boring elements.
As to the software question, CambridgeSoft (http://www.cambridgesoft.com/ and Accelrys (http://www.accelrys.com/ are two examples of people with expert systems that do some of what you're asking. You will not like the price.
So, question (seriously): Why do these things still exist?
You've got a CPU, moderate-sized memory, HD, DVD-ROM, and input-device. Basically, it's a computer, with the user-mangleable parts missing. Why doesn't this come with a web-browser on a disk, a link to (MicroSoft/SONY/IBM) services, and an iDrive (or whatever you want to call it) network storage area for the average home user who wants it for entertainment and light email. No more "home-sysadmin" duties for the average user, and more importantly, no "home-emergency-sysadmin" duties for you over holiday breaks, no more worrying if your data is backed up. Alternately, ship a version of WINCE on a DVD with it, provide Word for Wince as HomeWord (or whatever), a current browser, and once again, one device, two functions, harder to hurt yourself than with a standard PC.
OTOH, why doesn't your PC come with a partition on the drive that when you boot it you choose (PC/Console), and if the latter it boots into a stripped-down, hard to hurt yourself (i.e. the rest of the harddrive is invisible) X-Box mode? One computing device, a couple of input controllers (keyboard/game-pad), and an extra S-Video output on the graphics card. Microsoft could get out of the hardware manufacturing business entirely (and the associated support and shipping channels), and just worry about content creation/licensing.
You could move to Binghamton, NY. Roughly 110K pop (not the back woods), great scenery, good, affordable, university, decent local opera, low cost housing and major highways to help you get away. Of course, one of those highways leads up to Syracuse and down to Scranton, but eventually you'll hit NYC, Philly, or Montreal.
For your price, you could either pay less than $100K, and get the 1200 ft house, or the full $400K, and buy two 20 acre farms; one to live on, and one to house your programmers. More companies out to consider decentralizing their staff. The upper-management can stay inside the Beltway, or whatever status-obsessed traffic nightmare they need to feed their egos, and they can send the IT department, customer-support staff, etc (who they don't want to ever see anyway) off to more reasonable lives in Upstate NY, central PA, etc. It does get cold, but there are no earthquakes, hurricanes, seasonal multi-10K acre fires, etc.
You realize that you could make a pretty-good ESPN series out of that? We get you guys, your Fords, and your favorite guns, and then we get some Taliban with their "Taliban Special" (light Toyota pick-up truck) and their favorite guns, and have you compete in a variety of off-road events. Something like skeet-shooting while driving down a mountain road with no more than two wheels on the track at any given moment. Polo fought from pick-ups instead of ponies, that sort of thing. Beat the heck out of one more episode of "Monster Trucks" or "Philidelphia Eagles".
I've known people (humanities) who had a telecommuting job, and they dressed up in work clothes before walking across the hall to their office. It was part of the whole mental-prep to do work. Personally, I think it has some effect. I used to seem to get underway in the lab faster when wearing my lab-coat.
In my last job, I made the conscious decision to force myself to wear shoes. I used to wear a nice long-sleeved oxford, twill pants with pleats, and sandals to work. (from early march through november in Chicago) I decided one morning it was time to act more seriously at work, changed to shoes when I changed jobs, and got on with my life. It helped separate me from the grad-students/post-docs, and was part of the whole, "time to get into character" aspect of work.
So, in short, it might make you code better. Give L.L. Bean a call, trim your facial hair symmetrically, and see what happens. At least you'll have done the experiment. As S. Jackson put it in Pulp Fiction, "Time to get into character."
You've never been a sysadmin in a big-iron shop, or you'd understand the appropriateness of the term. Some mornings there's no choice but to put on the spurs, start humming "Rawhide", and teach those machines What-For.
On the other hand, unlike Oxen, no matter how mad you are at your Boxen, you can't barbeque and eat them.
Maybe. On the other hand, you have a group such as the AbInit team (solid-state quantum simulations) or NAMD (classical molecular dynamics) which writes the code, and then hundreds of different researchers actually use it. For the authors, a good programming environment speeds their time to use. For everyone else downstream, they want the absolute fastest system, as they are probably not doing serious work On the code, but rather With the code. They can put up with a somewhat user-surly environment as long as it runs as quickly as possible.
Therefore, for most groups, "time to solution" is determined by raw cluster performance. This is the argument we used to have with C++ nuts from Comp Sci; they'd claim that we were missing out on all the great new software development methodologies by using Fortran, and we'd note that our Fortran code was at least 20% faster (and frequently much more) than theirs, thereby giving us an extra 2.4 CPU-months of runtime per year.
This is the other place that Windows loses. Unless they have a posix-standard environment, nobody is going to develop code on their Windows desktop, and then run it on their local windows cluster, if they know that their job will later have to go through a wrenching porting process to a real supercomputer. Code written on OS-X/Linux can be (with generally minor adjustments) ported quickly to another larger Unix system (IBM SP3, Cray vector, etc). Anything that makes Windows-native calls, or uses some non-unixy shared memory model, is going to be a beast to port, and severely limit the future applicability of your program.
I know the guys who run a big Windows cluster, and while I like them, what they're supplying is a pool of workstations. Not many parallel jobs get run, but a lot of serial jobs. It's easy for novices to run a few standalone jobs, but hard to migrate parallel code to, so most researchers don't. The real theory groups are all building their own Unix-based clusters, to avoid the Windows-based one. It was an interesting political decision to go with Windows, but it's not really displacing supercomputers or other clustering technologies.
Molecular Physicists/Computational Chemists have made available through a variety of open licenses, including GPL, highly complex, well-developed, robust simulation codes. We're undoubtedly a smaller niche than MechE's, but we have a good couple dozen solid production codes to choose from (if you mix the quantum people and the classical MD people), for between Free (beer/speech) to Freeish (moderate license fee, or restrictions on code redistribution).
Maybe the problem is cultural: people who can write such software, write it for money. There isn't enough money in electronic structure packages, so at least half of them remain free. The money that's charged is frequently to cover duplication costs, and to chase off dilettants.
Maybe the bigger problem is the parent poster is expecting a level of user-obsequiousness from his software. Most of my community's free codes are somewhere between User-Indifferent to User-Surly, but you get used to the ones that are relevant to your own work rather quickly.
However, I would list Octave http://www.octave.org/ and OpenDX http://www.opendx.org/ as good starting places for tools. That will get you a good programming environment, and an absolutely killer visualization framework.
If you look up how the top500 benchmark, and most of the others, slapping together a heap of boxes doesn't get you anything. To actually get a decent score on parallel DP linpack, or simulation codes used as benchmarks, you need a fast, very low latency interconnect between the nodes, excellent synchronization, and fast disk access.
Even the allegedly "off the shelf" systems contain an awful lot of not off the shelf hardware. Case in point would be PNNL's Itanium cluster http://www.emsl.pnl.gov/capabs/mscf.shtml/ (at 1000 or so nodes). At SC2003 I chatted with people I know from there, and they mentioned that they had four (4) Quadrics http://www.quadrics.com/ interconnect cards Per Node, plus extra switches, in order to get the bandwidth up high enough. Even a cheap cluster will add Myrinet (at about $1500/node when the switch is factored in), and start worrying about topology after the first few dozen nodes are installed.
There are clusters (basically networks of workstations), and then there are supercomputers.
So, just curious, but why don't you put your efforts into crunching your traditional vector processors onto some more affordable piece of silicon, rather than trying to recreate the T3E out of Opterons?
I know chemists who claim there there are still algorithms than don't run as well on modern MPars as they did on mid-90s vector Crays. I know we're not a huge market, but I bet there are some other fields that would rather have a deskside T90, rather than a multi-proc Opteron box.
The only final decision you should be worried about with a modern compiler is, "is that result correct?" You've fallen into the trap of believing that your programs are the first to be written that way (they aren't), and that you're smarter than the teams of people who write compilers, and the computer scientists whose algorithms those compilers employ (chances are, you aren't).
Once again, from the real world, I have moved a quarter of a million line parallel Fortran program to a new 64-bit architecture, which was easy because the authors had isolated the machine-specific bits, and had abstracted them as far as possible, so very little actually had to be changed. After that, it was a matter of verifying the code via the official test suite and some personal results (basically, similar jobs, but larger). That code is heavily optimized by algorithmic choice, does a few (carefully isolated) architecture-dependent tricks to save memory, and makes heavy use of system math libraries (i.e. good algorithms, carefully tuned). The kind of bit-twiddling you're advocating, while probably personally fulfilling, is making very little difference in the overall performance of your code, if not actively reducing it.
Your idea of second-guessing the compiler, optimization by optimization, is (politely) impractical, on anything much over a couple of hundred lines. Go to http://www.g95.org/g95_status.html/, pick one of the simulation codes listed, such as AbInit, and convince yourself that you will consistently hand-generate better code than a modern compiler. I know some groups who do hand-coding in assembler, but that tends to be for mathematical primitives. Higher-level functions are written to call those primitives, and left to the compiler to optimize.
I said this elsewhere, but it applies here as well, "Machines should work, People should Think".
that this transition isn't all that painful.
My personal experience with this was Linux on Alpha, where certain programs assumed a 32-bit environment, rather than querying the system they were built on for size of int, pointer, etc. As a result many programs were funky on the Alpha, and the 'pc-isms' (what we once would have called Vaxocentrisms) caused great waste of time as they had to be tracked down an eliminated.
Your code, if you've been worrying about anything other than 32-bit PCs, should already be 64-bit clean, as you've had 15 years of Alpha, SGI, Power, Itanium, and Sun 64-bit systems to support. If it isn't, hopefully it's something such as user interface which will still run in the 32-bit environment, though not necessarily optimally.
Personally, I think that writing robust, portable, code is worth the effort. Unless you're talking about running on an embedded system where every byte counts, it doesn't hurt you at all to design clean algorithms and data structures, and put in checks to actually determine the size of ints, longs, pointers, etc, rather than just assuming that everyone will run x86 (or MIPS-64 or whatever) from now until the end of time. I have research programs that were written in the 70s (in their original form), on Cyber 205 and similar long-gone architectures, which still work because they were written in a mostly portable manner, with only the most critical nasty bits tied specifically to that machine. Your code is going to be in use longer than you think; be nice to your successors and make it portable now.
In the original (Ep 4-6) we have the good guys, despite a bummer of a setback in the middle, triumphing over the forces of the DarkSide, and even deconverting one of them. In the Remaster, now playing in California, we have the good guys, despite a bummer of a setback, trying to play nice with the Dark Side, so they can fight off the other good guys, rather than being simply annihilated.
I actually had a discussion about the "3d-everything-in-focus" issue with a researcher at Argonne once. He said that it was the lack of out of focus edges on the periphery, as well as the lack of tghe constantly changing in/out focus of the real world that causes immersive 3d environments to create a "throw up on your shoes" urge. On the other hand, if you combine this with the microvoltage stimulation we read about (the one that allows you to feel motion even if you're not moving, maybe a more comfortable environment for the end-user could be created.
As for the content, if you thought there was a fuss over colorizing movies, just wait until you hear the cinephiles screaming about classics being "Three-Dee'd". Personally, I look forward to a copy of "Apocalypse Now" with some actual depth to the scenes as they go up the river. Maybe (we're allowed some fantasy here) this will encourage people filming for TV to pay more attention to cinemetography, rather than just shooting head on to maximize the view for people with a fuzzy, 13" TV, in the den.
You know, a lead cap doesn't really get good enough contact with your skin unless you smear some mercury around underneath it first....
For the tooth, you'll need to add the right bacteria, and agitate as well. The pH of coke is low, but the acid in question is phosphoric, so you've probably got a buffer reaction going on with your tooth, and just passivating the metals. Try it again with a piece of clam shell; you should get a more dramatic reaction.
You also don't really want to encourage that much plankton growth, as many phytoplankton produce volatile halocarbons. Feed the weeds, reduce the CO2, and blow a hole in the ozone layer you'll never forget. There's another Science article from around 1999-2000 discussing metals in marine systems, which mentions that the biogenic halocarbon production is approximately equal to anthropogenic sources.
The obvious answer is to eat more sushi, and get that Nori under control.
The correct response to this article is,
v let?prog=normal&id=APCPCS000406000001000216000001& idtype=cvips&gifs=yes/
R L&_udi=B6TVM-3WN77X7-19&_coverDate=06%2F17%2F1996& _alid=331683658&_rdoc=1&_fmt=&_orig=search&_qd=1&_ cdi=5538&_sort=d&view=c&_acct=C000050221&_version= 1&_urlVersion=0&_userid=10&md5=fad383390465b806fd1 b90abff541fee/
(a) yes, H-B fusion (aneutronic) is possible, but...
(b) it requires very high temperatures, and suffers from a variety of energy loss mechanisms which make getting usable energy from it difficult. This is similar to when I was in grad-school, and everyone was whispering about Muon-catalyzed fusion, which turned out to be impractical for energy extraction as well.
IANA(N/P)P (i am not a nuclear/plasma physicist), but the papers I skimmed suggest that you could use this method, mixed with a conventional Deuterium/tritium mixture, to get cleaner fusion and better burn rates. Of course, not being a physicist, it's possible that the journals I found the citations in are the physics equivalent of Journal of Pointless Chemistry.
http://scitation.aip.org/getabs/servlet/GetabsSer
http://www.sciencedirect.com/science?_ob=ArticleU
Probable Translation: Another backyard inventor who can read enough of the literature to be encouraged, but not enough to admit the drawbacks.
Secondary Translation: I canna' change the laws of physics, Captain.
Nice to see the change of heart. A few years ago we wanted an Itanium system for HPC use, and You (you unisys, probably not you personally) had a new SMP box that looked promising. Our code was tuned for SMP, and we wanted to move it off Suns with as little pain as possible.
LSS: I called up, asked about the machine, got a nice salescritter, and mentioned we wanted to run Unix on it, and the conversation suddenly became a Microsoft sales session. You critter couldn't possibly understand why I wouldn't just rewrite a quarter of a million lines of code so that it could run under an experimental version of Windows, rather than use a non-Microsoft OS. In the end, we bought HP Itania, put up with MPI, used RHEL, and the 6.0 series of Intel compilers, and never looked back.
Just a touch of vision, and you guys could have been Sun-killers. You could have established yourselves as a reliable supplier of mid-sized 64-bit SMP boxen. As it was, IBM and HP pushed Linux on biggish iron, Dell pushed Win2K on small boxen, and people thought, "why do I want a computer that uses vacuum tubes" when the name Unisys came up.
You sound like a sane and intelligent person. My best wishes to you (seriously) at Unisys. I worked for a sinking barge once, with a sharp disconnect between the top and the bottom, so you have my sympathy.