Slashdot Mirror


User: jd

jd's activity in the archive.

Stories
0
Comments
13,841
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 13,841

  1. What would be interesting... on Four Millennia Old Noodles Found In China · · Score: 2, Insightful
    They (believe) they have the list of ingredients for an ancient cocktail, they're pretty sure they've got the list for ancient beers, wines and meads across the globe, they've managed to identify the ingredients for breads found inside the stomachs of Iron Age people found in peat bogs, and now they've got the recipe for ancient noodles.


    I'm sure it's done to some degree, but it would seem to me that there exists an opportunity for archaeologists to tempt people into the field by taking reproductions of these ancient foods to schools. If you want to make archaeology interesting to kids, you need to show them more of an end result than a dry, rather obscure research paper, some lumps of stone and a trowel. Make ancient history something real to them, something they can see, something they can actually relate to, and you're more likely to get them interested in it.

  2. I'm amazed... on EU Claims Internet Could Fall Apart Next Month · · Score: 1
    ...that anyone can even ask such a simple question. They don't tell people to point to their DNS servers - they simply mirror the ICANN root servers then inject a route with their own DNS servers as being the shortest and therefore preferential route.


    The routing tables will take care of the problem by forgetting about the ICANN servers, as the EU servers will be closer. Nobody's computer will need changing, because the addresses will remain the same. Those with tunnels from the EU to the US could direct DNS traffic through the tunnels, but honestly - why bother?


    Why should the EU take control of the DNS tables? I can think of some good reasons:


    • ICANN won't deploy UTF-compliant domain-names
    • Europeans hate President Bush
    • There are VERY few IPv6 registrars
    • In trademark disputes, ICANN is likely to give preference to a US company, even if a European court rules otherwise
    • Europeans hate President Bush
    • Whenever the transatlantic network fails, European sites have problems communicating with each other
    • Europeans hate President Bush, and
    • Europeans hate President Bush

  3. Two possibilities on Archimedes Death Ray · · Score: 5, Interesting
    It depends on how large an area the mirrors would have been placed, whether they were flat or parabolic, etc. If we assume relatively narrow, flat mirrors then the problem becomes slightly different. All you'd then need is for each mirror to be on a pole.


    Since the Greeks had gears and ropes, it would have been possible to build a mechanism whereby one person could rotate many mirrors. I'm not saying it would have been easy, or even that it was done this way, only that they had all of the required technology to do it.


    A second possibility would have been similar to the sighting mechanism used very successfully by the Dambusters in their attacks in World War II on German dams. They needed to know when they were at a certain height above the water, level, and at a certain distance from the dams. They achieved this by angling the searchlights to cross over at the right height and strike the dam at the right distance. To know if they were level, they used pieces of wood at different distances, which would line up when the aircraft was level.


    To line the mirrors up with the ship, you'd need to know when the light from the sun would strike the ship at the right height. Angle of incidence equals angle of reflection, so as the sun moves through the sky, you'd need to shift the mirrors both horizontally and vertically to keep the light on the right spot.


    If you had a hole in the mirror and stood behind it, you could swivel the mirror to face the ship. Since the ship would be at water level and the mirror would probably have been much higher, the mirror would have to have pointed at the tallest mast. It would be the only thing visible. To ensure all mirrors pointed the right way, each mirror would need behind it a stick that needed to line up with the mast, but set at an angle such that each mirror would line up differently along a crude parabolic curve. Shouldn't have been hard, with the Greek knowledge of geometry, which they were exceptionally good at.


    If the action was brief enough and at the right time of day and at a predictable distance, the vertical angle would be unimportant. If it had to be ready for ANY time of day OR at ANY distance, then you'd need to have the poles on which the mirrors were attached themselves movable.


    If you mounted the pole on one end of a see-saw, then added weights to the other end, you would be able to adjust the vertical angle of the mirror to whatever was required. The line of the see-saw would be parallel to the normal of the mirror. You can tilt the mirror such that the reflected light will intersect the ship at the same point that the line along the see-saw intersects the ship. This would guarantee all mirrors get identical vertical alignment.


    We now have a guaranteed way of aligning a great many mirrors onto an identical point on a ship at any distance at any time of day, using nothing more than geometry, alignments and pivots. Again, this is NOT to say that this is how it was done - we don't know HOW it was done, or even IF it was done. What this is saying is that the arguments against have largely been based on sophistication, but that the required level of sophistication was certainly achievable had anyone wanted to achieve it.

  4. Different methods on Arrays vs Pointers in C? · · Score: 1
    Different compilers will optimize abstractions in different ways, so you are not guaranteed to get the same code when using arrays. Pointer operations should(!) compile to essentially the same code on ANY compiler, as the code is already about as reduced as it can get.


    In consequence, if you want a predictable program on ANY compiler, pointer operations are probably a better bet than arrays, regardless of how well compilers handle those arrays.


    If you want something of uniform reliability, rather than uniform performance, you're better off with arrays. Arrays are easier to bounds-check in source form, errors are generally easier to spot, etc.


    If you want something that is FAST, then you're probably not wanting to use either. For example, if you've a sequence of characters, and want to copy them, then copying them a character at a time - regardless of how - is slow and inefficient on a 32-bit or 64-bit machine. Cast the data onto the largest unit the CPU can pull out of memory in one operation, and operate in bulk/parallel.

  5. Xnews? Bah! on Arrays vs Pointers in C? · · Score: 1

    There is nothing to beat xvnews - particularly the icon that shows the economy collapsing whenever there is anything new to read.

  6. Re:Slashdot Logging.-International law on Why Do You Block Ads? · · Score: 1

    Exactly.

  7. It has to be said... on Digital Camera Failures · · Score: 4, Funny
    In the past week, four major camera makers have quietly published service advisories admitting their digital cameras are dying.


    Has Netcraft confirmed this?

  8. Re:Slashdot Logging. on Why Do You Block Ads? · · Score: 1
    I gave Slashdot permission to record my IP address a long time ago, by visiting, then posting, then registering, and so on. I'm less keen on the banner adverts, but if I want to block those I just turn off images. Besides, I'm pretty sure most of those are hosted by Slashdot and not on a third-party server.


    Science magazines like New Scientist and Scientific American - when they throw out popups that may very well be on sites other than theirs... THAT is irritating. I only go there when I have to for a story, and reluctantly at best. I dislike what I regard as an abuse of trust. Besides, I can block most of the ads. If I couldn't and a major Internet ad agency was using the referer logs to track people over multiple sites, I'd be seriously annoyed.


    HTML mail, especially with concealed requests to other sites, is by far the worst of the worst. If you would happily see someone jailed for life for breaking into a Government office and photographing your personal records, then why would you accept less if they steal your personal information through your computer?


    ANY data mining of a UK citizen -or- of any citizen by a computer within the UK, without that person's explicit permission OR without registering as a site containing personal information is a criminal offense in the UK, under the Data Protection Act. Similar legislation exists across much of Europe, and it is actually illegal for European companies to export personal data to countries with fewer personal protections.


    Also in the UK, causing a computer to act in a manner not explicitly authorized (such as by embedding hidden HTML images for the purpose of data-mining) is an offense under the Computer Misuse Act.


    I generally don't like to see people punished for the sake of punishment. If it doesn't achieve something, then you might as well do something that will. In the case of unauthorized data mining or any other form of theft of personal data, I'd make an exception. Life-means-life sounds about right for such folk.

  9. Heh! That's a good example. on Anxiety Disorders Discoverable by Blood Test · · Score: 1
    My point is not that things are necessarily complex, but that they're often not isolated. The heliobacteria that are linked to peptic ulcers are a good example - treating the obvious symptom (the acid) is useless, because you've not removed the underlying cause (the bacteria).


    Even the bacteria itself is interesting, because the coating it has to protect itself from the vicious environment of the stomach is sufficient to make antibiotics on their own useless. To attack the bacteria, you must first attack the bacteria's protection.


    In the treatments used, the antibiotic is often combined with the highly toxic metal bismuth. The bismuth will somehow weaken the defenses of the bacteria sufficiently to allow the antibiotic to be effective. Neither one, on its own, will have any beneficial effect.


    There are some rare forms of stomach cancer that can result from heliobacteria and the resultant ulcers. Treating the bacteria won't eliminate the cancer. Eliminating the cancer but leaving the bacteria will just allow it to return, in time. You have to eliminate both to guarantee a complete cure.


    In all these cases, the cause is relatively simple and so is the cure. But equally, in all these cases, the cause is not a single, unique thing and neither is the cure. Why, then, should we expect anything else to be any simpler?

  10. Re:One Designer for Another on Anxiety Disorders Discoverable by Blood Test · · Score: 3, Interesting
    My point is that where you have an environmental factor, you SHOULD be treating the environment. Where genes are a problem, treat the genes (or the effects thereof). Where the brain chemistry is a problem, alter the chemistry. And so on.


    Typically, a hostile environment will result in the brain chemistry becoming wacked-out. At that point, just altering the environment will no longer be effective - all you're doing is not making the problem worse, but you're not correcting it. However, just treating the brain chemistry won't help either - you'll temporarily fix things, but they'll eventually slide back downhill. You'll constantly have to add more and more of an offset, just to keep pace, and eventually the body will become resistant or die of an overdose.


    The correct cure, in such a case, is to remedy the environment (or how the person interacts with it) PLUS medicine to offset the changes to the brain, possibly also some counselling to understand the errors in perception caused by the environment and/or brain chemistry.


    What won't help is someone telling you it's all your fault. (If you know better, it's useless information and if you don't, it'll make things worse.) What is needed is not blame but perspective, some sort of solid ground you can aim for, and some plan of action on how to get there.


    Another poster suggested I was a scientologist! What a laugh! They've no perspective at all! Anyone who can say that brain chemistry is never an issue is deluding themselves and others. Virtually every experience we have will alter our brain chemistry in some way, and if that way is harmful and becomes semi-permanent - or even permanent - then you will need to take medication to counteract that.


    Brain chemistry rarely alters itself (although that does happen), so if you need medicines, there's an excellent chance that you'll need something else to deal with whatever caused the problem in the first place.


    Does therapy have a place? Yes - but it's down the list. You might go to a physiotherapist after breaking bones severely in an accident to retrain your coordination. But you wouldn't go until AFTER receiving treatment for your injuries and AFTER your bones are mended. Bleeding to death on the physiotherapist's floor isn't going to help you very much.


    ONCE you've got the underlying issues taken care of well enough for you to be able to have perspective (it doesn't have to be perfect, you just have to not be dead) THEN therapy makes sense. If you can't have perspective, all you're doing is wasting time and money. Therapy relies on you wanting to change, but you can't have a want if you aren't in a position to choose.

  11. Invasion of privacy issue on Why Do You Block Ads? · · Score: 4, Insightful
    This is often not an obvious one, but it's probably the biggest difference between web adverts and, say, magazine ads. Magazine ads can't identify you when you go to the page they are on. The very act of downloading the image of the advert, however, will log your IP address, the page you came from, the web browser you are using, possibly the Operating system you are using, and maybe even the language setting you have the web browser on.


    That's a hell of a lot of marketing information that is being trawled for, without permission from anyone.


    Those who view HTML-based e-mail have similar problems - any spam you open with a blank, embedded image link (provided you view images) will result in the spammer instantly obtaining vast amounts of data about you.


    To me, that is simply NOT acceptable. If you think that Big Brother is bad (and not just the show), then Big Ad Exec is far, far worse.


    Besides which, I was born in the UK, grew up on advert-free television, and resent the hell out of having 20-30 minutes of adverts for every hour timeslot on American TV. If I wanted to watch promotional material, with clips of TV show included, I'd go to one of the home shopping channels, thank you very much. I do not choose to go to the lairs of thieves and I never invited those lairs to come to me.


    As you might have gathered, I don't watch much TV in America.

  12. Re:For those that didn't read the article. on Microsoft Adopts Virtual Licenses · · Score: 1

    It also affects anyone who has hacked Xen to run with Windows, or anyone who has found a way to run Windows inside of Windows. It also affects anyone running an 80x86 simulator to run Windows. It is unclear to me how you'd count virtual processors if you are running Windows under Wine or Dosemu, though, as there you don't emulate processors, you translate environment. As such, the number of virtual/physical processors visible to the translator MAY differ from the number visible directly to Windows.

  13. Checklist for fixing ALL cybersecurity problems on U.S. Cybersecurity Not So Secure? · · Score: 2, Interesting
    All the Federal Government needs to do is print out the following checklist and go through it. The same for every corporation. If you can get all of these things accomplished, I can pretty much guarantee you'll be immune to any existing attack method short of physical compromise.


    • Ban .rhosts files. Totally. Sack and/or excommunicate those who use them. There are much more secure ways to have zero-password logins for automatic connections. If using an unencrypted network, ban RSH, RLOGIN and Telnet - use SSH instead. If using IPSec with host authentication by certificates, then you've already got the authentication and encryption covered, so unsecure protocols can be used there.
    • Different channels should get different access rights. Unsecure channels should NEVER have access to secure data. Unsecure channels should NEVER be used to create secure channels, as that is a common point of attack.
    • All servers with confidential data (credit card info, corporate data, missile plans, etc) should have some form of Mandatory Access Control at an absolute minimum, with such data unreachable from ANY combination of program and user other than those combinations specifically designated as having access. For Linux, you're wanting to look at SELinux or GRSecurity. Ideally, you want a B1-compliant OS at a minimum for commercially sensitive data and a B3-certified OS for Government work. Such servers should NOT be directly reachable, they should be accessed ONLY by intermediate servers. As such, we don't care about holes so much (as nobody should be able to reach them) - rather, we care about operations we're specifically allowing users to perform and making sure THOSE are bullet-proof.
    • All intermediate servers should be damn-near 100% free of security holes. We don't care about access controls for these, as they don't have any data. They're merely front-ends. However, because they're first in line for any cyber-attack, they need to be as close to immune from such attacks as possible. THIS is an ideal place for OpenBSD or MirBSD systems.
    • You should have two firewalls in series, pointing in opposite directions, at the entranceway. You want to control what comes into the network, but you ALSO want to control what comes out. That part is often forgotten, and THAT is why many network security strategies fail.
    • Active NIDS systems and authentication systems should live in parallel to the two firewalls. You want them to be able to shut down BOTH firewalls, should EITHER firewall be compromised, which means you have to have direct connections to both. Otherwise, the compromised firewall can simply block your instructions.
    • Servers that should NOT be reachable from the outside should NOT be on a LAN that is visible to the outside. If they need to connect to each other, use a private LAN.
    • If using a centralized authentication system, use Kerberos V. DO NOT use NT domains, NIS+, or any other such method.
    • Since the internal network is likely on private addresses, it would be better to use IPv6 and then have proxies map communication onto IPv4 for the outside world. The reason? It'll seriously bugger up those attack scripts that assume IPv4. It'll also make zombies that do reach the inside ineffective, as many of those will assume IPv4 as well. If IPv4 is not being carried, such software will break.
    • We've defined three types of LAN so far - one LAN inside the firewall connecting to proxy servers, one LAN for secure servers, and bridging LANs linking secure servers to proxies. We need one further network, this time for users. This LAN ONLY connects to the proxy servers. As those can see the outside world, we can use them as proxies to see the outside as much as those on the outside can use them to see the inside.


    If the Department of Homeland Paranoia were to implement such a system, I feel confident they'd score an A on their next evaluation, and would be as close to invulnerable as you can be using a computational system. People may disagee - and probably will - but I'd like to know where they think they'd be able to break in.

  14. Which explains why many psychologists on Anxiety Disorders Discoverable by Blood Test · · Score: 5, Insightful
    ...aren't taken seriously. There is no one cause, no one element, in ANY disorder, so there is no one place you can treat that will remedy that disorder. Simply telling the person to buck up won't help them - but if you charge $200 for every time you tell them that, it might make you very rich. Especially as it won't cure them, guaranteeing repeat custom.


    "Fixing" the person is like walpapering a house with collapsed foundations. It'll make the problem invisible... for a while. But unless you fix the foundations, the house will still fall down. Likewise, fixing the foundations alone may prevent further damage, but the inside of the house will still look a wreck.


    The job of ANYONE in (or around) mental health is to correct all of the aspects of the mental health problem they are dealing with. A partial solution can be worse than no solution at all, especially if you keep telling the patient that it's all the patient's fault/responsibility.


    Establishing a cause, like faulty genes, allows the patient to remedy the underlying problem. Most genetic or biological problems are solvable with the right regemen, but unless you identify those underlying issues, you will NEVER identify the regemen that needs to be followed. And the patient will suffer the consequences of your inaction by deteriorating further. However, such treatment will only ever stabilize a condition. It won't cure it. Curing DOES require the patient to take responsibility for their actions, for their lives and for getting better.


    To ask them to take that responsibility whilst their brain is chemically or electically up the spout, though, is about as intelligent as telling the skydiver whose parachute has failed that all they need do is flap their arms faster. Hardware failure requires a hardware solution. Software failure (in this case, the mind of the person) requires a software solution. NEVER assume that hardware will fix faulty software, or software will ever compensate for defective hardware.


    Remedy the fault, NOT the fault's owner.

  15. Re:Anxiety caused by too much caffeine. on Anxiety Disorders Discoverable by Blood Test · · Score: 3, Funny

    That makes anxiety easy to test for. If there's no blood in the caffeine stream, then they're suffering from excessive anxiety. You can then diagnose the type of anxiety by whether the largest fraction of non-caffeine substance is tea, coffee or chocolate.

  16. So... on Successful Supersonic Jet Launch · · Score: 1

    I would have to go to KFC's supplier, then?

  17. Re:Einstein has once again, Powned modern physicis on Good bye Dark Matter, Hello General Relativity · · Score: 1
    Professor Hawking's primary contribution in physics has been in demonstrating that certain natural cosmic phenomena are time-reversed versions of other natural cosmic phenomena. eg: Black Hole theory and Big Bang theory are very closely associated. His primary contribution to science has been to reveal that even extremely complex, arcane branches of quantum cosmology can be expressed to non-experts - and even to non-scientists - which may potentially lead to more people entering the sciences with an attitude of curiosity and interest.


    Most other theoretical work involving Black Holes has been checked by Hawking, but did not originate with him. He deserves full credit for backing theories that have often conflicted with his own - very few scientists have the guts to do so - and he definitely deserves credit for being able to bring people together in this field, but the respective discoverers deserve the credit for the discoveries.


    Evaporation of Black Holes, for example, came from one of his students. Professor Hawking apparently spent a LONG time trying to find why the equations would be wrong, eventually concluded they weren't, and then set about finding out why they weren't. I guess he deserves partial credit for this, as he actually found the mechanism even if he didn't discover the phenomenon itself.


    As for singularities at the middle of Black Holes - that is still under debate. If we are to believe the modified equations for the early Universe, in which time is bent so much that there is no "zero point" in time for a singularity to exist in, then the same must hold true of Black Holes as the same basic conditions (albeit on a smaller scale) exist. This must be the case, as the same equations are used (in reverse) for the two cases.


    Black Holes are also important in that they offer the only non-zero solution to quantum foam. Around the edges of Black Holes, the particle pairs that make up quantum foam cannot recombine. In consequence, you will get highly localized regions in which the usual law of conservation of mass/energy does not apply. The resulting Hawking Radiation, over the lifetime of a Black Hole, will presumably add to the total mass/energy of the Universe. In consequence, the Universe must be getting more massive over time. Whether this would be enough to significantly alter Hubble's Constant - especially in the early Universe where Black Holes were super-massive - is beyond me, but may explain some apparent uncertainty on the constants of the early Universe.


    (ie: if the Universe has been changing shape over time, it may produce the illusion of changing constants, if cosmologists are assuming a fixed amount of matter/energy.)

  18. Re:CEO is the norm ? on CEOs Who Invite Email From All Employees · · Score: 2, Funny

    No, the headline is correct. The norm is for CEOs to behave like 11 year olds and to drink while on the clock.

  19. Software ISN'T different. on Taking On Software Liability - Again · · Score: 1
    You use a specification language to produce your prototype - Z, VDM, or whatever. You then prove that specification as much as you like. Because it is independent of the final implementation - or, indeed, any implementation at all, it is genuinely distinct from your final product.


    There is the matter of efficiently taking a specification and implementing it. Very few people are actually any good at this, often because it isn't taught. You're taught either how to write code effectively, OR how to write it well, almost never how to write effective code well. This isn't because of the methodology - Z isn't dependent on how you write something, or what you write it in - it is because nobody really believes in the value of being able to be both effective and correct.


    How would you turn Z into something compact and fast? Very easily - by not starting with the Z. You use the Z to build test cases, then implement code totally independently of the Z that complies with those test cases. Writing code directly from a specification is sloppy and does lead to very poor-quality code, but writing indirectly will produce very high-quality code that is provably correct.


    Ok, so how many people know Z? Very very few - again, because nobody thinks it worth the effort of teaching or learning. And those who do know it, know it very badly as a rule.


    Re-engineering of software is the only place software could be considered different from other forms of engineering. It is hard to re-engineer a bridge or a tower block, but it is actually quite easy to reverse-engineer what the specifications SHOULD have been and, from those, deduce what the test cases SHOULD be, and from those, deduce where the deviations from what was intended have occurred.


    Could you do this with Linux? Oh, certainly, although that is now so large and complex, it would take a substantial team a long time to work through. But it is possible. You'd specify what the components were intended to do, then use either User-Mode Linux or the various conformance testing packages that exist to verify that the kernel did indeed do what was expected.


    (The conformance testers will tell you if the I/O matches what is expected, by the specification. UML gives you the chance to do module testing and to develop test harnesses to verify the correctness of internal operations. All very feasible, just not something that is being done.)


    "But Linus said..." Yeah, what Linus said about specifications involved implementing directly from them. And I've already said that's a bad idea. I have seen nothing to suggest he'd be averse to people using specifications to trap errors and eliminate bugs, which is where they SHOULD be used.

  20. Depends on how you do it on Successful Supersonic Jet Launch · · Score: 4, Informative
    A traditional design of aircraft is not very good at hypersonic speeds - the Blackbird was a naff design - so you're really going to have to go Blended Wing or Waverider. Waverider is better for this type of design, as it simplifies supersonic and hypersonic airflows. Of those on the page I've linked to, the design they list as a long-range cruiser would seem to be the ideal shape for what is wanted here, and would scrape into the hypersonic category.


    At Mach 10, you're talking a shade over 1 hour, 10 minutes. This assumes that the Australians (the only ones with a working Scramjet) can build a commercial version. If you're having to rely on a conventional ramjet, efficiency drops dramatically above mach 6.


    The Americans abandoned the advanced passanger airliner project (which was blended-wing) in the late 90s, and there is no obvious indication that NASA has done much work on waveriders - some, mostly by being beaten to it by a bunch of Scots (and they were amateur rocket enthusiasts at that!) - but really not much. The US military seems to be much more interested in slow-moving ROVs and fully-automated robots, so don't look to them for producing anything worthwhile any time soon.


    The Australians have the Scramjet, but nothing to speak of to put it on. The joint efforts by the Russians and the ESA to produce an orbiter seem to be stymied by the religious belief in rockets for everything. What we need is either someone who can get these two groups together (a particle accelerator might overcome the repelling forces) OR a non-aligned group with sufficient financial and intellectual backing to reverse-engineer from existing work a combined solution.


    Last one to hypersonic mass transit is a chicken!

  21. Yeah, I was going to say... on Successful Supersonic Jet Launch · · Score: 1, Funny

    Right now, I could walk the distance in less than half the current time Concorde would take, unfuelled and in museums.

  22. Dunno about the US on Surefire Way To Stifle Innovation · · Score: 1
    But in the UK, I always understood "fair use" to mean 1 article out of a journal, 1 chapter out of a book, 10 seconds of audio or video, OR 10% of the product, whichever is the smaller amount, -except- for "limited, internal distribution" (such as within a fan society), where provided the material is not released, accessible or used outside of that society, copyright is usually relaxed a bit.


    For example, you're usually considered OK if a sci-fi group meets up to watch a video of Doctor Who together. You're also usually OK if you make a "video mix", putting clips of your favourite show to music, even when both music and show are copyright, again so long as its distributed only amongst a small circle of people. You certainly wouldn't be able to get away with mass-producing a video mix and making it widely available. Although there is no formal definition of when something becomes "limited" enough to be "fair use" that I know of, neither fan clubs nor UK corporations have been too willing to venture into the greyer areas and have generally had a healthy respect for the other.


    Unfortunately, in this day and age, the idea of mutual respect may be fading for good. And that really is going to stifle innovation. Respect can produce money, but money can never produce respect.

  23. Re:No more than in any other computing environment on Sun Eyes PostgreSQL · · Score: 1
    Let's start with a high-level wrapper that is both Turing-complete and has an API that is both complete and correct according to the specifications of what you would ever likely want to do. The Turing-complete bit will get mentioned often, and it IS necessary, as it is the only way you can guarantee all components being interchangable.

    Say module X has enough instructions to be Turing-complete, and module Y also has enough instructions to be Turing-complete, but the instructions in X and Y are not 1:1. There is no "common denominator". There is nothing common there at all. You can still write a wrapper that can abstract out such details, with a high-level front-end that can convert the high-level instructions into those required by X or Y. The wrapper would need to be "compiled" for the new architecture, to take advantage of the new features, but once it had learned the best way to do things, you'd get the full benefit of it. This is how the maths package ATLAS works, for example. Many optimized crypto libraries do the same thing - looking for what can be utilized and how best to utilize it.

    As hardware/software evolves, you might get some new device Z, that is Turing-complete but sports many, many new functions. The API for the wrapper need not be changed, as ALL of those functions can be expressed with the API. Some may be expressable directly - there's a 1:1 relationship - and others may require a bit of extra processing. But all of them will be supported.

    The user can throw in device Z and all software that would have used X will now use Z totally transparently. They will have no direct awareness of the change. The API and ABI have remained the same, so what the program sees will remain the same. Some behaviour may change - for example, let's say you use a timer with nanosecond support, but X only measures time in microseconds. The nanosecond portion of the time structure will remain zero. Let's say Z has nanosecond support, and uses that data. If your software doesn't look at the nanosecond entry, that won't change anything. In programs where nanoseconds are used if present, though, those programs would have additional information they could take advantage of.

    An abstraction layer for 2D graphics might be based on GKS, where the virtual screen width and height are real numbers between 0 and 1. It is now completely irrelevent as to whether you are using a vector-based or pixel-based screen, or what the resolution/size of that screen is. It is also irrelevent as to whether you want the full screen to be displayed, operate on a panned window (Virtual OpenLook) or work on multiple anchored desktops (KDE). The output doesn't even have to be graphical, so you're not even limited to a physical display!

    "But not everything will be able to handle all the possibilities of such an abstraction layer!" Well, yes they can. Maybe not directly, but they can. The Linux Kernel Mapper (which someone needs to update!) could be used to produce a gigantic map of the kernel, which would then be split onto multiple physical pages for printing. It was not limited to the lowest common denominator of what a printer can do (and who wants to use a Sinclair printer anyway?) but rather produced the data first and then post-processed it to what the hardware could support.

    In other words, overdriving the wrappers is a time-honored technique used by many of the most successful products out there. It forces hardware forwards, as the hardware is "encumbered" by what people want the hardware for, rather than the API of some competing device from ten years ago. THIS is how to write things successfully. the "ideal" API should be able to perform identical operations whether you are using the latest research machine from MIT or the oldest physical hardware that can take a program of the required size, but where you lose NOT A SINGLE ONE of the advantages, capabilities or features of the newer hardware in the process.

    The advantgae of recompiling the backend engine

  24. No more than in any other computing environment on Sun Eyes PostgreSQL · · Score: 1
    You can always have a wrapper that builds more complex operations out of simpler atomic operations. In consequence, your wrapper could be aimed at the most advanced feature set you want to represent, whether any database can support them directly or not, and then compile those into the instructions required at the database level.


    This is why Java and C++ are more flexible than the Pentium IV instruction set, why the StrongARM (which is RISC and has no FPU) can run floating-point software, why a RISC processor is actually faster than a CISC processor for the bulk of operations, despite needing the translation layer...


    No, having a "smart" wrapper would not limit you to the common denominator. It would limit you only to the superset that can be defined by combinations of the atomic operations available at any given time. So long as the databases are roughly Turing-complete, then you have no effective limits at all.

  25. Hmmm. I'd honestly have thought... on Sun Eyes PostgreSQL · · Score: 1
    ...Ingres would have been a better choice - it has the kind of commercial backing that their customers seem to like, has been released as Open Source -and- is supposed to out-perform PostgreSQL on enterprise-level platforms.


    Alternatively, have a database-independent wrapper and sell any of the popular Open Source databases according to customer needs. That leaves the door wide open to transparent, painless upgrades (always a good money-spinner) AND winning more hearts amongst those developing a phobia of lock-in to specific vendors.