Slashdot Mirror


Can Android Without Dalvik Avoid Oracle's Wrath?

jfruhlinger writes "Despite the fact that Oracle is suing Google over claims that Android violates Java IP, Android is roaring ahead in the marketplace. Still, some groups are wondering if they can implement Android without incurring Oracle's current or future wrath by avoiding the Dalvik VM. A project called IcedRobot aims to create a GNU-compatible version of Android, and rumors abound that RIM is planning on putting an OpenJDK-version of Android on its upcoming PlayBook tablets."

39 of 264 comments (clear)

  1. Consistent Enforcement by Prysorra · · Score: 3, Interesting

    There are what seems to be a countless army of people and companies using Java, and I have never heard of anyone being sued for "Java IP anything". Something smells fishy.

    1. Re:Consistent Enforcement by WrongSizeGlass · · Score: 5, Informative

      Embedded/Mobile Java requires licensing that regular Java does not. Basically, Oracle claims that the Dalvik VM violates their IP because it is used on mobile devices.

    2. Re:Consistent Enforcement by phantomfive · · Score: 2

      The details of the Sun (now Oracle, I guess) patent grant can be found here. Basically:

      you are free to use, copy, distribute, or compile, the Java SE system and Sun/Oracle promises not to use its patents against you. So the countless army of people using Java are fine. However, if you break the Java specification, or your JRE only implements a subset of the specification, then suddenly the entire weight of the Java patents are free to be used against you. Most people do not break the Java specification.

      Google, or at least the AOSP, did. The full Java is too big to implement on a phone (presumably), so they only implemented a subset, and thus they opened themselves up for patent damages.

      Note that this is not a copyright dispute: Google still has the full right to use the Java source code, since it is under GPL* (see caveat), it is their non-java virtual machine that is violating patents. Google couldn't have avoided this by using a different language, like C#, because the patents cover most modern virtual machines. Microsoft has already licensed these patents for their 'managed' code.


      *Caveat: There were some small bits of code that were not directly part of the Java source code, and not under the GPL, that Google was distributing. They've since stopped.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Consistent Enforcement by Tumbleweed · · Score: 2

      *Caveat: There were some small bits of code that were not directly part of the Java source code, and not under the GPL, that Google was distributing. They've since stopped.

      Last I read, it was found that they never actually distributed even that much, unless I'm mistaken.

    4. Re:Consistent Enforcement by Anonymous Coward · · Score: 2, Informative

      Sun sued Microsoft (and won) over Java twice.
      Besides MS and Google most companies have actually played nice with Sun/Oracle's terms.

      Both MS cases were rather high profile, the second one was what killed off Microsoft's JVM (for the opposite reason Google is being sued over Dalvik; the MS JVM was being called Java, but had all kinds of hooks to the underlying OS which made it and applications written for it incompatible with Java - whereas Dalvik looks like Java, smells like Java, tastes like Java and even acts like Java,a and for all intents and purposes IS Java, but Google isn't calling it Java, and worse they're insisting that it isn't Java, presumably to get around having to license Java ME, which unlike Java SE and EE is NOT open.

      I agree that something smells fishy, but it's coming from Google's end. They could have avoided all of this by either simply licensing Java Mobile or using something OpenJDK-based (with the caveat being that while JME is designed for mobile devices, the JDK is not).

    5. Re:Consistent Enforcement by shutdown+-p+now · · Score: 2

      If I understand correctly, any Java or Java-like VM running on a mobile device would run afoul of the same patents, so e.g. using OpenJDK won't help, nor would rewriting the whole thing from scratch as FOSS. You'd need a different VM (and then you wouldn't be able to run any existing Android apps).

      I actually wonder just how different you'd have to make it, in fact. There have been claims that Microsoft has been paying licensing fees to Sun, ostensibly for those same patents as related to .NET. And .NET VM (on low level) is fairly different in both design and implementation from Sun JVM.

  2. Re:Moot by eln · · Score: 3, Interesting

    I agree that integrating the desktop with the mobile more completely will be key to future success in the industry, and the line will begin to blur more between mobile and desktop operating systems. I think concentrating on the social networking aspect of things is thinking too narrowly, though. Social networks are already pretty well integrated into most smart phones by now, and moving between form factors on them, dependent as they are on centralized servers, is already pretty seamless.

    The real interesting thing will be when we can get real productivity apps to seamlessly move from mobile to laptop to desktop and back. Sun had their SunRay systems where you could seamlessly move your entire desktop session, including open apps and work in progress, from one desktop computer to another, and even transfer phone calls seamlessly between phones as you moved, say from your office phone to a conference room phone. Imagine being able to do that, except between your smart phone and your laptop or desktop, even for things like full-featured word processor and spreadsheet programs or Visio or whatever other productivity apps you use. Now imagine being able to do that seamlessly without a central server or even without the little cards the SunRay depends on. You could couple all of your devices together and they could be in constant contact with each other so switching between them would be completely seamless and near-instantaneous.

    We can do some of that already of course, but insufficient software and hardware on mobile devices, as well as deficiencies in disk and network speed (especially cellular network speed) make it impossible to really accomplish all of it now. I do think this is where we're headed though, and I can't wait.

  3. Re:Ditch Java by eln · · Score: 4, Insightful

    Java is easy to use and highly portable. There are also legions of very low-cost Java programmers available in any number of countries like India and China. Moving to a different language would be highly painful for most companies, especially in the highly competitive world of mobile software where speed to market and cost are key, and 99.9% of your users don't give a damn what language you're using or what Oracle thinks about it.

  4. Why Support Java At All? by FrankDrebin · · Score: 2, Insightful

    WIth Oracle getting all pissy, and with alternate first-class platform-neutral languages like Python up-and-coming as first-class on Android, it may be attractive for Google to skip the Java language entirely.

    --
    Anybody want a peanut?
    1. Re:Why Support Java At All? by Anonymous Coward · · Score: 2, Insightful

      Compatibility.

      How are they supposed to dump the vast majority of their application base? It would be suicide.

      Python is not even close to a substitute for Java. It's good, but not that good.

    2. Re:Why Support Java At All? by phantomfive · · Score: 5, Interesting

      Going to Python won't automatically solve Google's problems. The issue is patents, not copyright, and the patents in question are about how to make a virtual machine environment run quickly. If the Python interpreter does things like Just-in-time compiling or whatever, then it could still fall under the patents, and Google could still get sued. Microsoft had to pay sun a lot of money to license the patents for C#.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Why Support Java At All? by Anonymous Coward · · Score: 2, Interesting

      Where to start....

      Python is magnitude slower than Java. Python "compiled" code is not remotely close to Java's execution time. Python doesn't have real multithreading (see GIL blocking multiple threads from executing). Python is good for scripting small apps. But if there is a choice between Java and Python for basic API, Java wins today and yesterday. What tomorrow will bring is of course unknown, but GIL and current much slower execution are huge problems.

      Java at similar speed to native C/C++, or at least comparable.

    4. Re:Why Support Java At All? by ADRA · · Score: 5, Interesting

      Java the language is not being sued about, so lets move on from this shall we? The patents are regarding Virtual Machines that most likely affect any language using dynamic code optimization. The copyright claims are regarding apparent line by line copying which if true is just a big fck up by Google, and not a slant against the language.

      --
      Bye!
    5. Re:Why Support Java At All? by mabinogi · · Score: 3, Interesting

      All those issues are VM issues.
      Given that android uses a from-scratch VM which isn't the JVM, why is it impossible to consider that it could have been a VM designed to work with Python?

      --
      Advanced users are users too!
  5. Android without Java... by Microlith · · Score: 4, Insightful

    Might as well use MeeGo. At least then contributions from the community and improvements to various parts of the operating system would benefit more than just one platform.

  6. Re:Moot by Anthony+Mouse · · Score: 4, Interesting

    But cellphones are about to be as powerful as desktop PCs and laptops.

    Not really. They're already as powerful as desktop PCs were in, I don't know, 2002. But by the time they're as powerful as today's desktop PCs, desktop PCs will be faster too -- if only because you can stuff a lot more cores in a PC with a 200W power budget than you can into a phone with a 1W power budget.

    But I agree on the convergence. Somebody needs to come up with a docking station-like thing with a ~50W CPU, several gigs of RAM, a TB of disk, GigE and a 22"+ screen which will transition the OS instance from the phone to the dock, server VM style, when you plug them together.

    Then the 'dock' can stay connected to the internet even while they're not together and act as a 1TB+ remote storage and backup device and home server which the phone can access (e.g. over an ssh tunnel) using the internet or 802.11. The storage on the phone becomes essentially a local fast-access cache of the most recently used data in the larger data collection at home. This is probably how the wheel of reincarnation is ultimately going to kill off cloud computing in this iteration -- people will start using their own PC remotely instead of somebody else's server, then as phones get more powerful they start to take on more of the load as between the phone and the PC because local is always faster, until the remote PC is pretty much just a remote backup device which allows you to play high end video games and have a bigger screen and full size keyboard when you dock with it.

  7. meatspace implications by Tumbleweed · · Score: 5, Interesting

    >> But cellphones are about to be as powerful as desktop PCs and laptops.

    > Not really. They're already as powerful as desktop PCs were in, I don't know, 2002. But by the time they're as powerful as today's desktop PCs, desktop PCs will be faster too -- if only because you can stuff a lot more cores in a PC with a 200W power budget than you can into a phone with a 1W power budget.

    You're correct on the hardware end, but you're missing the meatspace implications.

    Most people don't need a computer any more powerful than a 2002-era machine that has hardware accelerated video (unless you're a gamer, of course, or someone with a hobby or profession that requires something more). This is why so many people CAN still get things done with old machines. Stick a modern browser on a Windows 2000 box, and you can do basically everything most people need, as long as the video stuff is offloaded into a modern video card.

    Cellphones are approaching that stage _rapidly_, and will most likely be there with the upcoming quad core SoCs coming out by the end of this year. The implementation as a desktop for the masses is a trivial exercise. A dock that lets you use your cellphone AS your primary Websurfing/emailing machine is all most people need at home. Game on your console or have a gaming rig set up if you need something more, but we're just about to the point of having all the computing power non-specialists need, all in a cellphone.

    The new quad-core SoCs can drive 2560x1600 panels (and more), full Blu-Ray level 1080p HD video (multiple streams, even), etc. There's honestly just not that much LEFT that people need, from a practical standpoint.

    Do you hear that? That is the sound of inevitability.

    1. Re:meatspace implications by Tumbleweed · · Score: 2

      Jesus, but the new /. is a fucked-up mess. *sigh*

    2. Re:meatspace implications by gad_zuki! · · Score: 3, Interesting

      >Most people don't need a computer any more powerful than a 2002-era machine that has hardware accelerated video

        Most people want a fast and capable machine that won't limit them. They may not see themselves as gamers but they may have kids who want to play a Sims game. They want want to mess around in Second Life or watch full screen HD video.

      The argument that most people just need a basic browser capable computer has been debunked for a long time and is one of the main reasons we see linux fail in the desktop marketplace. Jane User not only needs capable machine but a fast one and she has 5 facebook pages open, outlook 2010 running, and all sorts of bloatware to run her multifunction printer and Darwin knows what else. She may also run XP mode for some old application or occasionally edit the videos and photos from her camera.

      A modern multicore machine is in a whole different ballpark than a Windows 2000 circa machine. Your antivirus is locking up your browser. Flash doesn't beat up your computer. Heck, right now we're looking at affordable 128 megabyte SSDs coming into the mainstream. Jane User will want that level of performance. She'll see her friends computer that wakes from hibernation or boots up in 6 or 7 seconds and wonder why her machine takes 30 seconds.

      Every so often someone makes your prediction "640k is all anyone will need" and they're always wrong. Turns out both developers and users will make use of faster hardware and the market will continue to demand it. No cell phone with a docking station will replace that unless we have some incredible mobile CPU breakthrough and people stop seeing their mobile devices as borderline disposable. Laptops and desktops will be here for quite some time.

    3. Re:meatspace implications by Tumbleweed · · Score: 2, Informative

      Way to go in not knowing anything about what this year's crop of SoCs is capable of. Full-screen hardware accelerated video and flash is already here. The quad-core ones coming out later this year are capable of WAY more than that - MULTIPLE streams of hardware accelerated HD video, resolutions up to 2560x1600 and more. Sims and Second Life and full screen HD video are all very easy to accomplish on mobile SoCs by the end of this year. Get with the program.

    4. Re:meatspace implications by hitmark · · Score: 2

      Funny thing is, more and more "high end" games are console ports that still make use of 5+ year old hardware.

      As for keyboards, look up bluetooth HID. Even the iphone can make use of a external keyboard these days.

      --
      comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
  8. Re:Moot by symbolset · · Score: 2

    I'm on a project installing several thousand dual-core W7 desktops today. Not a one has the processor power or video performance of the NGP. This battle is over.

    The latest ARM processors go up to 16 cores SMP. They include up to 32 cores of video processing offload thanks to Imagination Technologies. They conserve Watts like the precious commodity that Watts are.

    Part of what makes the hardware work well is the software. The Linux based platforms like WebOS, Android and others are very efficient and very portable. If they had to support Windows of course they would be slow, buggy, and burn those precious Watts.

    Never say never. You'll lose that bet every time. Forever is a long time.

    --
    Help stamp out iliturcy.
  9. Re:Ugh! Oracle by jonwil · · Score: 3, Interesting

    Oracle knows they are going to get negative flack from programmers and stuff.

    But the people who make the decision to use Oracle technologies (Oracle database, Oracle J2EE and all the other technologies) are usually not programmers, its PHBs who like the fact that some guy in a suit is saying good things about this "Oracle" thing and are duped into buying it (and the fact that in many cases there is no comparable alternative that is as good as the Oracle product unless you are willing to sign your soul to Microsoft or IBM)

  10. Re:Moot by toejam13 · · Score: 3, Informative

    It is. The x86 introduced micro-ops with the Pentium. The m68k introduced it with the 68060.

    The whole idea is that more simplistic instructions allow for better pipelines. John Hennessy over at Stanford really pushed this while developing the MIPS architecture. RISC processors that use load/store instruction sets already meet this criteria. CISC processors retrofitted themselves by using complex instruction decoders that converted opcodes and their operands into micro-ops. At the cost of extra circuit complexity, you get the pipeline benefits of a RISC processor while keeping the more compact instructions of a CISC processor.

  11. Re:Moot by Anonymous Coward · · Score: 2, Insightful

    I really want to post a jerk comment like "Aaaahahahahahaha" and just leave it at that, but I'll bite. What superpowers would you use to save Intel, if only they were willing to put their fate in your hands? The same ones you use to see the future, perhaps?

  12. Re:Moot by neokushan · · Score: 2

    He'd post about it on slashdot saying how great it is and everyone would listen.

    --
    +1 IDisagreeSoHeMustBeATrollOrAnAstroturferOrAShill
  13. Re:Well done. good P.R. by Billly+Gates · · Score: 2

    Eclipse is owned by IBM. They have their own Java development environment including compilers free of Oracle. If I owned a java shop I would rather switch to them than to use Oracle and my guess is Oracle is trying to act like IBM.

    Netbeans is what I use and it is unfortunately owned by Oracle. :-( I want to gradually free myself from it soon if I make time to learn Eclipse. Both Eclipse and Netbeans are great for php, C++, and even python. You do not have to use them to develop Java software.

  14. Re:Moot by KiloByte · · Score: 2

    Not till DosBox gets mouse reporting right :p
    Also, it allows you to remap physical keys only, and both n900 and droids with keyboards have less than 101 keys, You can't double-click the right "mouse" button, too. You can't use that era's ISA cards or similar hardware extensions, but this applies to modern PCs as well.

    These are the only kinks I can think of that keep DosBox on phones from being strictly more powerful than the 1990 x86 PC you're talking about.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
  15. Re:Moot by clang_jangle · · Score: 2

    In what universe is that not enough?

    Today's universe?

    When I first started college, I pieced together a system with a Pentium III, half a gig of RAM, and a GeForce 2.

    I think the point is you wouldn't find that setup very usable today because modern software is more resource-hungry. Back in my day a 68k processor running at 8MHz with 4MB of RAM was the Hot Stuff, and a 250MB HDD was [trump]*huuuge*[/trump].

    --
    Caveat Utilitor
  16. Perhaps this is a bit "Get off my lawn!", but... by AtlantaSteve · · Score: 4, Insightful

    ... what are you kids TALKING about? It seems like most of the replies on this branch of the thread are about convergence between phones and PC's, and eventually using productivity apps on your phone. Who on earth wants to use a 3-inch phone to manipulate a spreadsheet, type in a word processor, or anything beyond the most specialized niche of data-entry for any extended period of time? Even tablet devices are poorly-suited for such tasks.

    The intended purpose of a smart phone is not content generation or productivity. Their purpose is to read stuff (e.g. important email, directions to the restaurant, etc), and to play Angry Birds... until you've finished your car trip or boring meeting, and can return to your PC. You might tap a one-sentence reply to an email (with crappy grammar and capitalization), or enter the name of the restaurant, but that's about it for productive data-entry.

    The limitation behind this is not the number of CPU cores in the device, nor its power budget. The limitation is the form factor! Duh! You can cram a supercomputer into the thing... yet even with the most clever swipey-typing system, it will still suck compared to a keyboard and full-sized monitor screen. Now, the idea of docking stations for your phone (or perhaps a standard docking port for phones on your PC) does sound like it could be useful in some circumstances... but I'm highly skeptical of full-blown "convergence".

  17. Re:Moot by TheRaven64 · · Score: 2

    No, that's exactly the problem with x86. Well, half the problem - the other thing is that it lacks things like predicated instructions, so you can't avoid branching and other tricks that simplify the execution unit design.

    An x86 chip needs a complex instruction decoder tacked onto the front of the pipeline. Something like ARM has a decoder that is about as complex as the micro-op decoder on a typical Intel chip. This complex decoder is taking up die space, which is why it was a problem at the start of the RISC era - RISC chips could have a lot more execution units for the same total transistor cost than CISC chips. Now, much more importantly, it's constantly drawing power. The instruction decoder is a complex bit of digital electronics which an Intel chip can't power down most of the time. The only time that it can power it down is when it's running cached micro-ops - and then it's still got to run a decoder that is as power-expensive as the ARM decoder to decode the micro-ops.

    Oh, and the variable-length nature of the x86 instruction set doesn't give you anything in terms of instruction density compared to ARM + Thumb2 (it's significantly worse in some common cases), so x86 doesn't even have the advantage of needing smaller instruction caches that it has over something like SPARC or Alpha (or, to an even larger degree, Itanium).

    --
    I am TheRaven on Soylent News
  18. Re:Moot by Miamicanes · · Score: 3, Informative

    > In what universe is that not enough?

    Any universe where Netbeans, Visual Studio, Eclipse, Microsoft Word (for anything more complicated than a single-page business letter that could be done via email), video editing, video encoding (something that can bring even the mightiest i7 to its knees; try multipass h.264 sometime...), or 3D rendering occurs. In other words, the desktop of anybody who's a content creator instead of a mere content consumer.

    Back when you first started college, "video editing" involved 720x480 or 720x540 interlaced 50 or 60hz video. Now it involves 1920x1080 progressive video. Today, you could literally fill a terrabyte hard drive with an hour or two of raw, pre-encoded video. Modern DSLRs with HDR take pictures that are individually bigger (in bytes) than most CF cards that existed prior to ~7 years ago. Try editing a 12 megapixel HDR image on a PC using Photoshop on a PC with only a gig or two of ram. It's not fun.

    As for people who "just want email and internet", well... Flash. Enough said.

    The most high-end, hacked and rooted Android phones existing today can *barely* handle Flash in its raw, undigested, real PC form without gagging. "Works" is not the same as "runs well". Hardware-wise, a current top of the line Android phone is roughly comparable to a 500MHz Pentium 3 with 512mb, Windows 2000, and a $12 piece of shit videocard that somehow managed to have onboard MPEG-2 video acceleration anyway.

    > the AGC used on the Apollo missions was considered a "real computer", and today's phones could emulate that entire system without breaking a sweat...

    The difference is, the AGC made use of lots of ballistics data that was precomputed offline by mainframes and carried onboard via Hopi-woven core memory -- more megabits on a single mission, in one place at one time, than the sum total that had ever previously existed on earth. An i7 could calculate it on the fly. Had Apollo run into really, truly novel problems requiring realtime navigation that deviated significantly from the original plan (assuming it had enough fuel to allow it), the astronauts would have been fucked, because their computers wouldn't have been able to handle that use case at all.

  19. Re:Moot by TheRaven64 · · Score: 2

    Moblin / Meego slowness is not Intel's fault. Intel is not a device manufacturer, they produce a reference platform and device manufacturers actually build the things that consumers see. Another good example is Marvell's iMX515 - they demoed some netbooks with this CPU, Linux, and even Flash some time last year. They sell the components to anyone who is interested in shipping it, but I don't know of any company that's brought a netbook based on their hardware to market yet.

    It's not the same situation as Nokia, a company that actually does produce consumer hardware, only ever shipping four device running Maemo / Meego.

    --
    I am TheRaven on Soylent News
  20. Re:Moot by TheRaven64 · · Score: 2

    The fact that you're writing ARM/MIPS as if ARM and MIPS have even remotely similar instruction densities makes it safe for anyone reading to disregard your views. Some things you might like to look up: the ARM barrel shifter, and predicated instructions.

    --
    I am TheRaven on Soylent News
  21. Loss of economies of scale by tepples · · Score: 2

    In what universe is [a P4 equivalent] not enough?

    In the universe of Adobe Flash Player, for one.

    So how again are modern phones not powerful enough to replace PC's? When you answer, please remember that we're talking about the kind of PC required by the overwhelming majority of society

    If "the overwhelming majority of society" switch to tablets and phones, the economies of scale might disappear from the PC market. Loss of economies of scale could make PCs unaffordable to individuals like me who have a good reason to need one, such as people who work from home or students. This has already happened to video games: the retail consoles are affordable but the devkits definitely aren't.

    (email, word processing

    I've tried typing on the on-screen keyboard of an Android-powered device, and it's a chore, especially compared to on my Dell netbook. E-mail (anything longer than SMS) and word processing definitely need a hardware keyboard.

    facebook

    Full disclosure: I can't speak to Facebook because I'm not a member.

    pictures, etc).

    Pictures has more than one meaning. Do you mean only coarse manipulations (e.g. color correction, rotation, cropping) to a photograph taken with a camera, or do you also mean drawing a picture? If the latter, what are the best free apps for creating sketches on an Android-powered device?

  22. Devil's advocate by tepples · · Score: 2

    In other words, the desktop of anybody who's a content creator instead of a mere content consumer.

    Devil's advocate: The general public appear happy to be "content consumers" (let's call them "audience" instead for now). If "content creators" (I prefer "authors") want to create, then they can seek venture capital, establish a business, and lease an office in order to qualify to buy a computer capable of doing so. At least this is what video game console makers such as Nintendo think.

    Modern DSLRs with HDR take pictures that are individually bigger

    The general public who have graduated from smartphone cameras appear happy with subcompact cameras. "DSLR? What's that? Those stupid Oreo cookie commercials I've seen?"

  23. Re:I thought Java was Open Source? by mswhippingboy · · Score: 3, Interesting

    Java is "technically" open-source under GPLv2 (OpenJDK), but it's license contains an extra clause (classpath exception) designed to prevent someone from forking it. In order to fork Java and be granted protection from enforcement of Oracle's patents, the fork must pass Oracle's TCK (compatibility test). However, the catch-22 here is that Oracle will not license the TCK, so no fork can pass the TCK, so no fork can be granted patent protection, so, as in the case of Google, they would get sued for patent infringement.

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
  24. Re:Moot by mswhippingboy · · Score: 3, Interesting

    This is not as far off as you might think. I'm running the Android-x86 (an x86 port of Android) right now on my desktop within a VirtualBox VM. Android-x86 is still in it's early stages, but is pretty stable and impressive already. Currently it supports Froyo (2.2) and Gingerbread (2.3) is in beta.

    All that's really needed is a set of VirtualBox guest additions like those available for Windows and Linux guests to enable "seamless mode", and Android apps would appear on the desktop as (nearly) native desktop applications.

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
  25. Re:Hurm by mswhippingboy · · Score: 2

    Interesting idea, however, if you think the patent waters around Android is thick with sharks, can you image the patent clusterf*ck surrounding the database arena with Oracle, Microsoft, IBM, Sybase and a myriad of other vendors all staking claims to anything that remotely resembles storing information in a way that it can be retrieved?

    --
    Sometimes the light at the end of the tunnel is the headlight of an oncoming train.