Slashdot Mirror


User: goombah99

goombah99's activity in the archive.

Stories
0
Comments
5,555
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 5,555

  1. further stats: apple skyrockett while stock falls on Apple Profits Up Due to mini and iPod · · Score: 4, Interesting
    macintohs sales accounted for 52% of profit.

    revenues are about 5% of microsoft's. Price to earnings ratio is about twice that of microsoft and dell. earnings this quarter are down from last quarter, but up 5 fold from last year. Oddly while earnings were 50% higher than the predicted earnings (24 cents verus 36 cents per share), the stock has fallen 8% in the last two days. Are people dissatisfied that apple did not exceed expectations by more? I dont get it.

    On the other hand maybe people are just going elsewhere. I note that the annual earnings per share is about half that of dell. However its pretty clear that the upward trend for apple is so large that if it continues it will be twice that of dell by next year. Apple is now growing faster than the computer industry as a whole (which is dominated by dell and microsoft). Apple sold 1 million macs and 5 million ipods in the last quarter alone. Look for an earnings bump the next quarter from Tiger and then another bump in fall with the back-to-school release of new hardware, and it looks like year of sustained earnings.

    notably thi

  2. YOU DONT GET IT. A turing test for you on The Sony/MP3 Saga Continues · · Score: 4, Informative
    Oh yeah, I've never personally been able to understand the whole hooplah over the Ipod shuffle, or even the Ipod mini? 1 gigabyte? 5 gigabytes? Do you have ANY idea how old the songs get on your mp3 player if you keep hearing stuff over and over again like a radio station?

    you obviously dont get it as you say. the ipod shuffle is designed to look and feel like it has infintie capacity.

    that is to say I would challenge you to a turing test to see if you cold tell the difference between an ipod shuffle and a 80 gig ipod just by listineing to it in shuffle mode.

    I'm not kidding, here are the ground rules. A shuffle holds 150 to 300 songs randmoly selected from the 80gigs on your hard drive. You listen to it for a day or so, and have not listened to all 200 songs. then you jack it in to recharge it and while that is going on the shuffle gets refilled. Then you listen the next day. and repeat.

    From your point of view it would be no different than listening to your 80 gig drive drive or a 40 gig ipod. you could not tell the difference by listening.

    You see the thing you are not understanding is that the software, itunes, makes this transparent. If you had some piece of shit software like win amp and had to drag files by hand onto the device or run them through a sony deobfuscator then you would not be constantly refilling it. But with itunes, CHARGING = REFILLING. since you can just barely play all the songs on a single charge this basically means that in any practical usage you are constantly refreshing the songs before you hear them twice.

  3. short term on IBM Says its Future is in Services, Not Goods · · Score: 5, Insightful
    IBM always was a goods+services company. You were not buying a bar code reader as part of how you would monitor inventory you were buying a big-blue inventory control system and if the best method for you was a bar ocde reader that's what IBM would implement for you. IBM sold instances of objects not function calls.

    For IBM slightly higher Short term profits are indeed in services. since much hardware these days is commoditized.

    The only reason IBM could get away with just repackaging commondity software and hardware is because they have no competition for innovation. They can just innovate in services and not worry.

    But what is IBM going to do when some other company say toshiba decides to sell goods_services and some toshiba engineer invents a holographic terrabyte on a chip memory and they wont sell it to IBM. IBM is giving up its 100 year formula for why people by IBM. IBM means you have an assured path to the best service and hardware. Long term profits are in goods+services.

    as the parent poster implied. This sounds like what happened to ATT and HP.

  4. Re:EXAMPLE: What is a first post? on Google Delivering Factual Answers · · Score: 5, Funny
    Web definitions for Goatse Query: What is goatse?

    google answer:

    Goatse.cx (usually pronounced "goat-see dot see ex", often truncated to goatse, often referenced by one of its current URLs, goat.cx, occasionally called goatsex) is one of the most infamous Internet shock sites. Its front page contains a sexually explicit picture, hello.jpg, featuring a man wearing a gold ring on his left hand (and nothing else) manually stretching his anus and rectum to a diameter roughly equal to the width of his hand. Below the anus, the man's dangling penis and testicles ar

  5. EXAMPLE: What is a first post? on Google Delivering Factual Answers · · Score: 5, Funny
    google query: what is a first post.

    answer:

    "First Post!" is a phenomenon of Internet discussion groups (notably Slashdot and LiveJournal), where participants strive to be the first person to add a comment ("post") to a new article or discussion thread. The phenomenon is largely confined to sites that have reached a high degree of popularity, such that users are genuinely surprised to see an article without any associated comments. There is also the necessary condition that comments are displayed in chronological order (meaning the first ...

  6. market Makes the wrong choice? on Congress Ponders Opening up iTunes DRM · · Score: 2, Interesting
    I think it is highly arguable if the market makes the right decision. Consider the examples given FireWire/USB and BetaMax/VHS which are dominated by VHS and USB in numbers.

    Were those the best decisions? Arguably Beta was a techincally better standard than VHS. But it was proprietary as well. One way to look at this is to say we got the worse technology because Sony gambled and lost. But another way to look at this is to say the market was cheap-ass and bought the cheaper crappier technology and set a quality standard that was low that the rest of us future generations had to live with. THat is, if people had been willing to pay a bit more everyine could have enjoyed a better standard.

    Its an open question if this race to the bottom that sets the standard results in better cost/quality perfromance in the long run. Was the money saved used for other things that produced other things that offset the lower quality Video forced on us. Perhaps. Who knows.

    but the point is that if you let the market decide it can be a race to the bottom as idiot consumers manage to set the standard at whatever is acceptably cheapest.

    An excellent example of this is mac versus PC hardware. Macs are simply better quality as only idiots deny. But are PC's good enough? There certainly are good PCs, arguably better than macs depending on your criteria. But it's pretty non arguable that PCs are hamstrung by a legacy of crappy standards and crapware from microsoft. It was the race to the bottom that set those standards.

    Would we all have been better off if mac had won the PC wars early on and set a higher standard. I'll tell you my own opinion. Yes defintiely, provided that some competition using the same standard (not a lower one) had appeared.

    So closed standards in my opinion can be much better. Whether they are better in the long run probably hinges on them becoming open standards eventually. the race to the bottom may save cash early on but it saddles us with crappy standards in the long run.

    Now what happens when two competing standards are both open? Firewire and USB are both open. It's not clear USB will win out. USB is better desktop bus but its not a good harddrive bus. THe low-end intel consumer is tending to makedo with USB even for disk drives. Thus it's possible USB will conquer firewire. But I doubt it.

    So based on this annecdote one might decide that open or cheaply licensed standards allow quality to compete against cheap preferences of the unwashed hordes.

    It seems like there ought to be a third way. Someway for a manufacturere that created a quality standard to maintain controll and make some profit, but there sure be an assured path to the public domain for the standard. An anecdote here would be Java. Sun's guadianship of JAVA has allowed it to weather major changes and not fork. But it makes people nervous that sun or whomever buys sun (e.g. SCO) will be benevolent.

  7. seriously mistaken information. try is 24x slower on Python Moving into the Enterprise · · Score: 2, Interesting
    I just tried your suggestion of using the try/except format. You are seriously mistaken if you think that is fast:

    I benched the two pieces of code: (note the slashdot ecode tag removes the proper indentation, but this should be obvious in context)

    #!/usr/bin/python
    a ={}
    c = 10000
    for i in xrange(c*10):
    b = i%c
    a[i] = 1+a.get(i,0)
    and then using your suggestion:

    #!/usr/bin/python
    a ={}
    c = 10000
    for i in xrange(c*10):
    b = i%c
    try:
    a[i] += 1
    except KeyError:
    a[i] = i

    timing these shows the try clause almoist QUADRUPLES the time: the first runs in 0.62 seconds and the latter runs in 2.4 seconds!!!

    Now here is the is the point I was making in my original post: if you try this without using the get its almost 6 times faster than using the .get format and 24 times faster than doing it with the try statement!!!!!!!

    To show this consider the following example: In this special problem we know ahead of time what the keys will be. In general we would probably not know this if we were say parsing a file. But since we know them its cheap to write a loop to initialize them first. then we dont have use the get() statement or the try. then we can see how much speed we are losing to the get() statement.

    #!/usr/bin/python
    a ={}
    c = 10000
    for i in xrange(c):
    a[i] = 0

    for i in xrange(c*10):
    b = i%c
    a[i] += 1
    this runs in 0.11 seconds. Which is about 24 times slower than using the try.

    your information about how to replace autointialization appears to be seriously mistaken.

  8. Wow, thank you on Python Moving into the Enterprise · · Score: 1
    Thank you for the execellent insights and tips. I had timed a bunch of different ways to increment the hash variables but had not tried putting the exception trap in the loop assuming that would be hideous in speed (just a bit hideous in readabiliy if things get nested).

    As for the 'magic' of in-place or not in-place I dont see that as magic. Indeed this is something that garbage collecting object oriented languages should strive for. For example, java and i'd bet python makes every effort to re-use allocated object space from garbage collected objects rather than creating new ones as they are instantiated. This is essentially no different than the program deciding to do a sort in-place because it can. It's analogous to the lstrip being space efficeint on imuatables.

    That is by hiding the implementation you are free to do exactly this sort of magic under the hood. From the user's perspective it would be no hardship if sort() always appeared to return the sort as a value. It could be secretly in-inplace due to the Garbage collection of the original memeber when writing a=a.sort().

    So __slots__ is analogous to perl psuedoarrays I gather where keys become enumerables. In some ways I wish you would hide all that from the user so that even more efficient access could be implemented down the road. One could Grant back the low-level under-ther-hood access to object functionality with a forma introspection method rather than allow primitive access to the details to the object itself. (ala java) Afterall how often does one need to fiddle with the objects method list manually? exposing this structure freezes the implementation. This is one place where python could make its greatest perfromance enhancement over perl I would think.

    Anyhow thank you for your intelligent comments.

  9. No you are misusing the syntax on Python Moving into the Enterprise · · Score: 1
    In attempting to exaplin why return values are less desrirable than automatic exception throwig You wrote that default values lead to code like this:
    open file for writing()
    if open failed {
    handle error
    } else {
    while not finished {
    retvalue = write content to file
    if retvalue not good {
    handle error
    }
    }
    close file
    if close failed {
    handle error
    }
    }

    Well That's certianly not how I would write it. now lets look at how one would do this in a good language that returns default values like Nulls.

    open file for writing() or throw open_error

    while not finished {
    write content to file or throw write_error
    }

    close file or throw close_error
    That I'm sure you will agree just as readable and maintanable as the try-wrapper. Indeed the above does not preclude having a try-wrapper around it. One of the nice things, any python programmer ought to appreciate, is that the above form is self-documenting. You know where the errors came from rather than having an unexplained branch jump into a non-local piece of code. But the point is that by returning a default value I am free to handle the error or ignore it. I dont have to have the try enclosure if I dont want it. This is especially important when the error is inside of a loop or worse if the error occurs in a nested function.
    for Y in M:
    x = function1( function2(Y))
    If instead function2 might throw an exception instead of a default return value then I have to wrap the thing inside of a try statement when in many cases if it just returned null or zero I would be perfectly happy. lacking that capability I have to write something like this:
    for Y in M:
    try
    temp = function2(y)
    esle
    temp = 0

    try
    x = function1(temp)
    else
    X = 0
  10. dynamic typing verus intentional typing on Python Moving into the Enterprise · · Score: 1
    One thing that programming in python did was to greatly increase my appreciation of perl. Perl uses all these funny prefix symbols like $,@, &, and % on its variables and objects. Now I appreciate this as a much more powerful syntax than dynamic typing.

    python is said to be strongly dynamicly typed. Sort of the worst of both really. The inconvenience of strong typing with the inabilty to syntax check caused by dynamic typing. this means run time errors out the wazoo.

    Intentional typing is what perl does. The prefixes tell the compiler/interpreter what kind of thing to expect but not the type. @ means its an array but never mind the type of the content. $ means its a scalar primitive or scalar reference.

    the result is the compiler can find syntax errors easily and its hard to so something you did not mean. For example, in python both of the follwoing compile:

    A = d.lstrip()
    A = d.lstrip
    in the latter cas A becomes a function reference and in the former it becomes a string with the spaces removed from d.

    Gaa! that's a syntax error waiting to bite, but python cant detect it since both are legal syntax.

  11. Re:python performance on Python Moving into the Enterprise · · Score: 4, Informative
    Yes python falls in this weird crack between a scripting language and a high performance programming language. combines the slowness of perl with the inconvnience of structured programming. Its too structured and takes too many steps to be a good scritping language and too slow to be a programming language.

    That being said I am enjoying it. I recently found I was writing a perl program that became unweidly in its comlpexity and impossible to maintain. So I converted to python. My reason for doing so was the existience of a nice matlab packages that allowed me the ability to recycle matlab code and make nice graphs. The syntax in python is cleaner with lets me do more complex array manipulations in the scientific envirnoment.

    On the other hand I note that this syntactic sugar is simply a coating. FOr example, python implementes obects via an underlying hash just the same way perl does. But it hides it from view. Thus you get less flexibility in objects than perl and no real ability to optimize their speed since the access method is frozen in the syntax.

    other things that trouble me are its seeming incompleteness of many of its metafors. For example, variables do spring into existence upon assignment but they dont auto initialize. Thus simmple things like counting the occurence frequency words in a file becomes a hassle since you have to either explicitly initialize every hashkey value to zero, or use one of the slow accessor methods (like .get()) that introduce huge perofrmance penalties. And the method of doing this is different for arrays, hashes, and scalars. auto-instantiation is somewhat dangerous too since a typo can now become an error without some means of declaring a variable name was meant to exist (e.g. the perl "my" statement).

    Related to the lack of auto-initialization is the tendency to rely on the crutch of throwing exception rather than returning default values or signals that allow the progammer to decide if it's worth throwing an exception. I find I end up wrapping too many inner loop clauses in "try" statements. If operations that failed simply returned "None" or zero as appros many things could be simplified without any loss of ability to use exceptions properly.

    other incomplete features are a lack of consistency on when an intrinsic operation is done in-place or returns the result. for example .sort() is done in place while .ltrim() is not. While one might wish to argue that space issues can require in-place operations, it woul dbe better to detect when an operation can be done in place from the syntax: a = a.sort() should be done inplace. b = a.sort() should not modify "a".

    typcasting also seems to be incomplete as well. Take for example the casting of strings to integers. try this: i= int(45.3); i = int('45') ; i = int('45.3'). The first two casts work. the last one is an error. Why? I note .atoi() also fails in the same way.

    My final lament about unfinshed python is the screaming lack of a decent syntax chekcer. Too many of its errors occur at runtime. It's weird that its the low level syntax of python that seems so unbaked. The high level imports are luxurious indeed and are a major attraction of the language. Having a conveinent operation like "shelve" for persistence takes enormous pain out of coding (now if 'shelve' could just use objects rather than olny strings for keys it would be complete).

    My hope is that someday python will take advantage of the syntactic sugar to imlpement objects in a faster way under the hood.

    all in all I do like python because it's a lot simpler to get the job done than Java or C++. If you know perl then python is useless as a scrpting language (sadly pathetic really) but if you dont know perl then python must seem like a fantastic scripting language if you are coming from C++.

  12. chewbacca's flux capacitor on Toshiba's One-Minute-Recharge Li-ion Batteries · · Score: 3, Interesting

    lets suppose that we want a car with the aerodynamic profile of a honda accura to be able to achieve 60 miles per hour. this takes about 25 horsepower to overcome drag. toss in some headroom for decent acceleration and overcoming drive train and wheel friction and we'll want a tad over 30 horsepower. assume we desire ten hours of travel time for a cruise range of 600 miles. and also assume 70% electric to machanical conversion. thats roughly 445 horse-power-hours = 336 kilowatt hours or 1.21 gigajoules. if you push in this much energy in say ten minutes that requires a 2 megawatt power source. if you could live with 1 tenth the horse power and 1 tenth the run time then that is 20,000 watt power source to recharge. ha! this is chewbacca absurd. I must be making a mistake or electric automobiles are infeasible to charge quickly. this makes no sense

  13. holy flux capacitor!! on Toshiba's One-Minute-Recharge Li-ion Batteries · · Score: 1
    lets suppose that we want a car that can run at an average of 30 horsepower for ten hours. and also assume 70% electric to machanical conversion. thats roughly 440 horse-power-hours = 336 kilowatt hours or 1.21 gigajoules. if you push in this much energy in say ten minutes that requires a 2 megawatt power source.

    if you could live with 1 tenth the horse power and 1 tenth the run time then that is 20,000 watt power source to recharge.

    ha! this is ludicrous. I must be making a mistake or electric automobiles are infeasible to charge quickly.

  14. Los Alamos on Berkeley Grads' Identity Data Stolen · · Score: 3, Insightful
    The problem is not just education. One has to create situations that engender proper handling of data. For example, if confidential data is only permitted on removable media and that media has to be a vault every night, signed in and signed out then its you have a situation where the person using the data and all of his or her collegues can tell by inspection if the person is not fulfilling their obligations. If its up to the person to always rememeber then eventually conveinence will override caution.

    Los alamos national lab, contrary to the implied conclusions of all its bad press and false accusations, has in fact shown that the removable disk method is an excellent means of both tracking secret data and minimizing copies of it.

    And even better approach is to make it even easier for people to maintain their data in secure forms without inhibiting their use of it. A good example of this is the macintosh laptop. Every macintosh laptop can transparently AES128 encrypt the users home directory and decrypt it upon log in. Of course you can set that up on a linux or Windows machine, but that's not the point. The point is it's already there on every mac ready to go by chekcing a box. It's not something that one has to spec. If you have to trasnfer the data to another machine you dont have to worry about setting this up. Co-workers know your machine has it. It departments can even enforce its use without penalizing the user. Ubiquity and ease of use is the key to getting encryption part of peoples work habits.

    I work in aplace where wireless internet connections are not allowed in the building. Yet when I go on travel I use it. Like everyone else I have to remember to turn off the wireless in the laptop before jacking into the building ethernet. So do you think people remember to do that. Well a lot of the time yes but many times no. but with a mac laptop its trivial to configure it so the wireless and ethernet adapters cant be on at the same time. it's impossible to forget. By the way my company spends money to pay people to walk the halls with wireless sniffers and has to discipline workers that forget. All of that is lost productivity as well as the security exposure.

    So in conclusion, any company that is concerned about data security that does not use macintoshes is wasting its money. Sure you can make a windows system secure but its the little daily things that keep it secure.

  15. use dijjer instead on AutoPackaging for Linux · · Score: 1

    Dijjer is like on-demand bit torrent. No set up at all. no servers you have to establish. If this catches on the entire interent will work p2p and no one will need a powerful server or mirrors.

  16. 1 killowatt "deathray" on The Solar Death Ray · · Score: 5, Informative

    the death ray is 4 feet mirror is 4 feet by 6 feet. It looks to have a bout 50% of its area covered with cheap mirrors, which I'll assume are about 80% refelective. that makes it about a square meter of effective reflectivity. the solar flux near the equator is about 1 kilowatt per sq meter. This is focused down to an area of about 6 inches square or about the size of a stove burner. A typical stove burner probably runs at about 1.5 KW. so basically this thing has the heat delivery of a burner. Actually a bit less since the object itself may be reflective over a large part of the spectrum. So call it maybe half a stove burner. Still plenty to fry plastic, your hand, or even start a fire.

  17. Macs are secure but not invulnerable on Symantec: Mac OS X Becoming a Malware Target · · Score: 5, Informative
    for the past 20 years, having a virus checker was useless on a mac and only served to avoid passing along pc viruses. At one brief point you could get word macro viruses.

    If someone can get root on a mac you can install a root kit. But youhave to get root first. It's not good enough just to get user level or even admin user level. You have to get the admin user to enter their password to elevate to root.

    The ppc played role too as I have read that until last year there was no widely know compact way to exploit a buffer overflow to execute arbitrary code. I beleive that is now solved and published so one might see these cropping up. :-(

    Since the security model is better you dont have problems like active-X waiting to ruin your day, or auto execute on mous-over e-mail subject lines, or registry changes needed to install applications. Or other bonkers stuff.

    But despite all the default security, nothing will stop a determined used from trojaning themselves good and hard. And if they are admin and enter their password your rooted. Nothing will withstand unrestricted physical access either. You can at least ward off limited physical access by using the firmware password but this can be overridden by a determined user.

    and of course there have been security holes and always will be. SSH, quick time, and even JAVA had had security holes. Fortunately no one has manged to exploit these before apple fixed them and given apples default services-off settings and lack of root access, its going to be harder for these things to spread like wild fire.

    on the other hand Macs are very homogenous so once a virus does finally break loose, if it can get in without requiring any services its going to spread quickly.

  18. Expanding universe on 13 Things That Do Not Make Sense · · Score: 1

    Just tell her the universe is shrinking

  19. counter Proof that homeopathy works on 13 Things That Do Not Make Sense · · Score: 4, Funny

    1) take a slashdot comment
    2) reply to it
    3) reply to the reply
    4) each reply containing less information and insight
    5) ????
    6) profit!

    The final comment still has the same amazing powes of useless drivel the first had.

  20. Homeopathy counter example to disprove result on 13 Things That Do Not Make Sense · · Score: 1

    Okay here's my counter example.
    1) mix up your solution of water and 1 mole of deadly nightshade
    2) divide it in two
    3) pour half down the drain
    4) add back the missing half with water from the tap.
    5) repeat from step 2, one hundred times.

    At this point the original solution is thought to be dilluted by a factor of 2^100 = 10^30. thus your original 6 x10^23 molecules have been dilluted to the point where there is less than a chance in a million one molecule of night shade exists.

    6) now test this on a subject sensitive to nightshade and look for a response.

    7) as a control experiment, use plain water from the tap and look for a response.

    Did you see one in step 7? You should have since you poured all that nightshade down the drain in step 3. Thus the tap water is also composed of dilluted elixer.

    Thus if you do see a difference between your dilluted elixer and the tap water then you fucked up your experiment. And if you dont see a difference the homeopathy does not exist.

    QED

  21. Re:Body Just needs to think it's getting morphine? on 13 Things That Do Not Make Sense · · Score: 4, Interesting

    Morphine works because it is an analog of some natural molecule in the body and affects the same receptor. Naloxone presumably works because either it binds morhpine or it binds the morphine receptor. Thus it might be reasonable to assume that naloxone would also inhibit the natural molecule as well. This does not explain why saline induces the same effect as morphine but I think it explains why naloxone could seem to increase the pain.

  22. evolution and Self -disassembler on Towards Self-Replicating Rapid Prototypers · · Score: 5, Funny
    I made a self disassembling robot, but all I can show you are the pieces....

    Actually what you really want to do is to build a set of evolving self-assembling robots that get their parts by disassembling other robots. That way there is evolutionary pressure to evolve faster and faster self-assemblers.

  23. The Real MS version? on MS to Trade Passwords for 2-Factor Authentication · · Score: 1, Informative
    I cant locate it now but there was an earlier Slashdot discussion on MS replacing passwords with a series of selections. The idea was to replace a password with something the user can know ituitively (visually) but that he cant describe easily in a few words.

    Suggested apporaches included: The user would be presented say 5 rows of ten photos, and asked to pick one photo in each row. Each time the logon is done the order of the photos changes. An alternative (better) approach would be to present a photo of a collection of objects and the user must click on several of the object in the photo in a certain order.

    perhaps MS aims to combine this with a password to avoid making the photo selection have to have too many layers for combinatorics?

    Of course this only works for graphical sign on. Handling text based remote login would require smartcards or something. But then again are there any text based devices left? I mean if you can pull up an ssh-terminal these says you nearly always can pull up a full browser window that could handle the pictogrpaphic interface.

  24. Re:MOD UP, ggc is to fortran as MS is to java on GCC 4.0 Preview · · Score: 1
    >>My company moved to C++ from fortran just for that reason.

    Well, then, your company is managed by a group of ignorant fucktards. To go through the perils of a language switch, purely because you are dissatisfied with a free compiler, is one of the stupidest business decisions I can imagine. Well no, it makes sense because like most hardcore scientific software they sell source not binary

  25. Gcc killed fortran on GCC 4.0 Preview · · Score: 4, Interesting

    Gcc was what killed fortran. Gcc did not implement many fortran features forcing fortran programmers to use a pathetic subset of the language. For example in F77 they never implemented opening files read only (only open read-write) so you could never detect EOF's on pipes to fortran 77. But the real death knell for fortran was sung by g95 and its reduced language elements. Anyone who mistook g95 for F95 would indeed be right in concluding fortran was a dated useless language. Fortran95 does indeed have stucrtures, classes, pointers and allocatable memory contrary to widespread belief to the contrary due to g95. The irony is that fortan 2000 is actually a wonderful language for scientific programming in the coming age of multi-core processors. I would not write a wordprocessor in fortran but for sceintific programming its effieicient memory storage, implicit parallelism in the most basic elementes of the language language (for example for-loops that were allowed to iterate over their range out of order, and subroutines that declare which variables can have side effect) is perfect for the coming age of microprocessing. My favorite parts of fortrans are that one cannot overflow a buffer nor is it possible for a typo to compile. That last statment will elude understanding by most folks who never tried to write a line parser for fortran syntax but it's consequence is that hidden syntax errors that compile are impossible in fortran. (logic errors of course are possible in any language) one trivial example is you cant write = when you meant == or +=. Or the declaration of intent on calling arguments allows you to pass by reference without worrying that an array will be unintentionally modified. RIP fortran95, killed by g95.