Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

Cool/Weird Stuff To Do On a Cluster? 608

Gori writes "I'm a researcher at a university. Our group mainly does Agent Based Modeling of interdisciplinary problems (think massive simulations where technology, policy, and economics meet). Recently, we managed to get a bunch of money for a High Performance Cluster to run our stuff on. The code is mostly written in Java. Our IT support people are very capable of setting up a stable cluster that will run Java perfectly. But where's the fun in that? What I'm trying to figure out are other, more far-out and interesting things to do with this machine — think 500+ Opteron cores, 2 GB RAM per core, a gigabit interconnect with some badass switches, a massive storage array, plus a bunch of UltraSPARC boxes. So at times when there's no stuff to crunch, I'd like to boot the thing up with a 'weird' system image and geek around in the name of science. Try fancy ways of building models, dynamically adding all sorts of hardware to it, etc. Have different schedulers compete for resources. Imagine a Matlab vs. Boinc vs. ProActive shootout. Maybe run plan9 on it? Most of us are not CE/CS people, but we are geeky enough. So, what would be the coolest and most far out thing you would do with this kind of hardware ?"
This discussion has been archived. No new comments can be posted.

Cool/Weird Stuff To Do On a Cluster?

Comments Filter:
  • by Anonymous Coward on Tuesday June 24, 2008 @07:10PM (#23926019)

    And save the environment a little bit?

  • Not far out but.. (Score:5, Interesting)

    by shaunol ( 1313685 ) on Tuesday June 24, 2008 @07:11PM (#23926027)
    I'd be interested to see how quickly you could fold@home@work on that cluster.
  • Vista? (Score:5, Funny)

    by Aggrajag ( 716041 ) on Tuesday June 24, 2008 @07:11PM (#23926029)
    I think that would be an ideal setup to run Vista on. I heard that with SP1 you might only need half of the equipment you currently have.
    • Re:Vista? (Score:5, Funny)

      by bobbozzo ( 622815 ) on Tuesday June 24, 2008 @07:23PM (#23926213)

      Obviously, it should be used to find The Ultimate Question [].

    • Re:Vista? (Score:4, Insightful)

      by Crimson Wing ( 980223 ) on Tuesday June 24, 2008 @07:33PM (#23926331)

      I think that would be an ideal setup to run Vista on. I heard that with SP1 you might only need half of the equipment you currently have.
      The Vista-needs-uber-comp jokes are getting extremely old. Get some new material.
      • Re:Vista? (Score:5, Insightful)

        by somersault ( 912633 ) on Tuesday June 24, 2008 @07:50PM (#23926521) Homepage Journal

        You should maybe hide your signature when you say things like that.

        Itg is widely accepted that Vista is a waste of resources, and therefore all articles about powerful computer resources are going to have Vista jokes. You can't kill off a meme on your own. If you don't like repetetive humour then perhaps you should change your moderation to mod down all funny comments.

        Anyway, slightly back on topic - I think they'd want to keep it a cluster rather than degenerate into a clusterfuck, so it may be better to avoid installing Vista.

      • Re:Vista? (Score:4, Funny)

        by jo42 ( 227475 ) on Tuesday June 24, 2008 @10:10PM (#23927815) Homepage

        Vista-needs-uber-comp jokes are getting extremely old. Get some new material.
        How many super-computer clusters will Windows 7 need to run as fast as Vista?
        • Re: (Score:3, Funny)

          by Jesus_666 ( 702802 )
          None. Windows 7 will be so good it runs perfectly on a Pentium III/500 with 256 MiB of RAM. Its 3D accelerated desktop will be so efficient that a Rage 128 can emulate the shaders needed to display it in realtime. It will also come on a CD-ROM - uncompressed, because Windows 7 will take up less than 500 MiB of storage when installed. The installer will just be a glorified version of dd. And every box will contain 1000 Dollars in cash.
          • Re: (Score:3, Interesting)

            You may laugh, but Mac OS X Panther (2003) ran just fine on a 500Mhz processor with 256MB RAM and a Rage 128, although its install size was more than 500MB and the installer was more complicated than dd.

            I know 2003 was quite a while ago, but it just goes to show that modern OSs don't have to require GBs of RAM and malti-core multi-GHz processors.

  • by JesseL ( 107722 ) on Tuesday June 24, 2008 @07:12PM (#23926033) Homepage Journal

    that it will be fast enough to run Duke Nukem Forever when it gets released.

    • Re:You can hope (Score:4, Interesting)

      by Anonymous Coward on Tuesday June 24, 2008 @07:18PM (#23926127)

      Although that was the easiest meme, It gave me an idea. Perhaps you could try some very-very-very high resolution ray tracing. I hear that such a process scales well with parallelism.

      side note: captcha = shading

  • a beowulf cluster of these .. .
  • Quit playing around and run something that will actually help another person. (Plenty of grid clients out there).
  • Coolest? (Score:5, Insightful)

    by Vectronic ( 1221470 ) on Tuesday June 24, 2008 @07:12PM (#23926049)

    "So, what would be the coolest and most far out thing you would do with this kind of hardware?"

    Instead of pissing around with stuff that may not go anywhere other than a few giggles over lunch.

    Why not just rent, or lend it out to people who don't have the funding or equipment that could use this cluster for a better purpose than "playing around"?

    Just saying...

    • Re:Coolest? (Score:5, Insightful)

      by gad_zuki! ( 70830 ) on Tuesday June 24, 2008 @07:24PM (#23926215)

      Its incredible a university would let this kind of equipment go to waste. If people arent clamoring to run things then you either have a non-existent (or terrible) CS department or too much money that should have gone elsewhere.

      Regardless, there are tons of grid clients out there. There's always something to run.

      • Re:Coolest? (Score:5, Interesting)

        by baggins2001 ( 697667 ) on Tuesday June 24, 2008 @08:12PM (#23926709)
        I saw about $1,000,000 of hardware go to waste because they didn't budget maintenance for the system. We couldn't even fire it up to see what worked anymore. System barely ran for a year.
        Started me rethinking my Doctorate plans in CS. If this pool of PhD's couldn't figure out that you were going to need to maintain the systems and have a number of people to work on it, then what the hell, book learnin didn't get them very far.
        I'm sure though, that their thought was that once they got it in that surely the Administration would budget for maintenance.
        This was an SGI system about 6 years ago.
        • Re: (Score:3, Interesting)

          by moosesocks ( 264553 )

          This is pretty much the way that grant money works in many disciplines. Don't budget for maintenance or "upgrades," or else the original bid is going to come in far too high to ever be approved in the first place.

          Physicists often blame the cancellation of the SSC [] on the fact that it was realistically priced when it was canceled (and $2bn had already been thrown down the toilet).

          • Re: (Score:3, Interesting)

            by Edgester ( 105351 )

            Sadly, I have also seen waste like this. I know of a cluster that can only be 75% of the nodes can be turned on, because the building to house it was delayed a year and it's in a temporary space, but the money was allocated and had to be spent before the space was ready. If the money wasn't spent, the money would be taken away. I've been a cluster admin for a cluster that barely had 10% usage and I almost cried. Interestingly, this ties in with the "parallel programming is hard" problem. Some researchers do

      • Re:Coolest? (Score:5, Insightful)

        by nick_davison ( 217681 ) on Tuesday June 24, 2008 @10:58PM (#23928339)

        Its incredible a university would let this kind of equipment go to waste.
        You're not from the education world, are you.

        Let me see if I can help explain...

        Money comes in to education through grants. Grants are usually awarded to whoever can make the best case. You'll notice I didn't say "deserving" or "beneficial to mankind" case. The best case is often the one that's written by someone who knows how to game the system be it through politics or releasing sensationalist research that may not prove anything much to anyone.

        Publishing articles are kinda nice. Publishing books is usefull for a little extra income from screwing your students who have to buy the latest version you update each year. Having the media pick up your research because you just claimed women are smarter than men and the secret to cold fusion powered cars that also run on water is far, far better.

        Once you have this money, it's yours to do with as you wish. Just one thing. Don't ever, ever let it be seen that you didn't really need it. If that happens, how much budget do you think the university is going to give you on the years where your grant applications fail? How about those you beg for money from, next time? If you got money to buy a supercomputer, you need it, 24/7, until you declare it's obsolete. If you don't, they might ask why a pretty-nifty-computer wouldn't have worked just as well. And so, for that reason, no one else gets time on it. Hell, you might only need it because it turns out it's the perfect sized doorstop for a door you had... but let anyone think you don't need it and you're screwed in the magical world of academia.

        It's in conflict with the notion of academia being "for the good of mankind" but no more so than the notion of government being "for the people." Both simply serve the people within it... researchers or politicians. The rest is set dressing to ensure others keep paying for it.

    • by davidkv ( 302725 )

      The question was "So, what would be the coolest and most far out thing you would do with this kind of hardware ?"

      Playing around and looking for the most far out stuff is perfectly fine. No need to get mainstream boring _all_the_time_.

      • Re: (Score:3, Insightful)

        by Vectronic ( 1221470 )

        ...But if what you normally do on the cluster/system is "boring" then maybe you are in the wrong field of investigation.

        And, if you did rent/lend it out to another group of people, you may be just as interested in what they are doing with it, and what they are doing may correlate to what you are doing.

        Perhaps that third party is doing the "playing around", but if you rented it out to them for something they can afford, you are still using the system for a benefit to them, as well as your goals (extra money

    • Re:Coolest? (Score:4, Interesting)

      by A Unique Nick Name ( 921046 ) on Tuesday June 24, 2008 @07:38PM (#23926379)
      I fully agree. I'm the admin on a similar sized cluster (although our interconnects are much faster) that sees only about 50% utilization by the University. The rest of the time is lent out to other Universities without such a resource or need a place to run unfunded projects. I'd be amazed that such a resource would ever be allowed to be "played" on. Our up time is critical since many jobs take weeks sometimes months to run. Every effort is made to make the system rock solid and divide up the resources fairly.
    • Re: (Score:3, Insightful)

      that could use this cluster for a better purpose than "playing around"?

      Guys, a lot of useful pure research is mostly just playing around. Take a few ideas as a baseline to get you started, then play around until you reach that "hey, that's funny..." moment. Challenge the limits as a goal in itself, then see how things act on the edge, apply rules and discipline to your game when it gets interesting.

      The only real difference between play and pure research is whether or not you keep a decent lab journal.

  • by Anonymous Coward

    Because Gentoo is just hours of fun....

  • by Anonymous Coward


  • by Anonymous Coward

    power it off and go get a blow job. You might like it.

  • by Anonymous Coward on Tuesday June 24, 2008 @07:13PM (#23926071)

    You have a high-performance cluster, and you're running Java? I bet the OS in windows, too.

  • Have an open framework for members of the open source community to enhance and create new cluster/multicore optimized technologies. Allow us to do render farms or computation of nodes to do whatever sounds cool at the time. Of course the projects have to be approved, and their may be a small fee unless the project looks interesting or you wish to claim it against a donation of resources.
  • Easy one. (Score:3, Funny)

    by B5_geek ( 638928 ) on Tuesday June 24, 2008 @07:15PM (#23926097)

    Get it to play a game of Tic-tac-Toe against itself. Give us some WOPR love!

  • Being massively parallel it could be interesting to do some AI research. Like chess algorithms or something more fun perhaps a good automated tech support system via chat. Or trying to decode, capatacha. Map optimizations... a bunch of fun stuff. At least it would be for me.

  • Run Crysis on high (Score:3, Interesting)

    by Plazmid ( 1132467 ) on Tuesday June 24, 2008 @07:17PM (#23926119)
    You know you want to. Or you could evolve a bunch of virtual creatures on it: [] []
  • by Niel143 ( 918294 ) on Tuesday June 24, 2008 @07:19PM (#23926133)
    Fighter Combat
    Guerrilla Engagement
    Desert Warefare
    Air-to-Ground Actions
    Theaterwide Tactical Warfare
    Theaterwide Biotoxic and Chemical Warfare

    Global Thermonuclear War

  • by Stevenovitch ( 1292358 ) on Tuesday June 24, 2008 @07:19PM (#23926141)
    Write a program that creates every possible 255x255px bitmap possible, and then right an algorithm to go through and figure out which ones are rubbish and which ones are actually recognizable pictures.

    Logic dictates that one of the resulting pictures would have to be of John Lennon kicking George W Bush in the nuts, find that picture and post it on failblog.

    • Re: (Score:3, Funny)

      Jeez, if you had just posted this yesterday, when I had mod points.
    • by Anonymous Coward on Tuesday June 24, 2008 @08:00PM (#23926623)

      1. Create every possible mp3 upto 5 minutes long.
      2. Sue the record companies for every song they release from that point on.
      3. Profit.

    • by NotBornYesterday ( 1093817 ) * on Tuesday June 24, 2008 @08:19PM (#23926793) Journal
      Okay. Swinging, wild-ass guess - (color depth)^(bitmap size) = total number of possible pictures. So a 255^2 bitmap @ 16 bit color (~65k colors) = 3.551938486e+312970 possible pictures. You'd better by all the world's disk storage. Creating all them wouldn't be a problem. Sifting through them would take forever.

      Interesting ramifications:
      - Theoretically, there should be enough similar pictures to create movie of a ball-kicking fight between Lennon and Bush.
      - You would have just also recreated the entire world's supply of past and future porn, albeit thumbnailed down to 255*255, and limited to 65k color.
      - You would have produced at least one picture of a second shooter on the grassy knoll, even if there wasn't one to begin with.
      • by Crookdotter ( 1297179 ) on Wednesday June 25, 2008 @04:22AM (#23930875)
        You would also have everything possible within 255X255, but as images can be tiled, you would also have an almost infinite canvas with infinite possibilities.You want a time machine? Well, if it's possible, then SOMEWHERE in these images is the blueprints, chopped into nice 255X255 chunks.

        As well as all porn being thumbnailed, why not find the tiles for it in HD resolution instead? Or better yet, in 10000X10000 pixels?

        So in essence, such a program would spit out every frame of every movie, in better than current HD resolution, that will ever be made by humans (or aliens, or anything). It would also contain the entire set of human books, past and future, and alien books for that matter, along with the correct method to translate it. It would have every bit of knowledge possible to fit into a 2 dimensional representation written down for us to read right now.

        Which is all very exciting until you realise that it is, of course, not possible to do with computers in any meaningful timescale within a Universe, and for every correct set of blueprints for a time machine there must be an almost infinite set of incorrect ones which are indistinguishable from all the others until you build it.

        As an interesting aside, I wonder what size bitmap it IS capable for - 2X2? 4X4?
    • Re: (Score:3, Insightful)

      by nategoose ( 1004564 )
      I thought you were going to suggest that he copyright all of the 255x255px bitmaps that weren't already copyrighted and then use the machine to look for offenders and mass e-mail take down notices to them.
  • Run protein folding (Score:5, Interesting)

    by Plazmid ( 1132467 ) on Tuesday June 24, 2008 @07:19PM (#23926143)
    Protein folding really helps us biologists A LOT, so please run it. []
  • Well.. (Score:5, Funny)

    by dreamchaser ( 49529 ) on Tuesday June 24, 2008 @07:20PM (#23926155) Homepage Journal

    There was this one incident when me and this girl turned a cabinet over on it's side and used it as a surface for sex play. That was different. It didn't get weird until she insisted that I tie her wrists with some Cat 5 though.

  • by itamblyn ( 867415 ) on Tuesday June 24, 2008 @07:20PM (#23926161) Homepage
    I'm doing computational condensed matter physics for my PhD. If you give me an account, I can keep your cluster at full load while you're not using it. :) The type of stuff I run can span hundreds of processors over (sorry to say it) slow interconnects like GigE. If you let me use it, I'll acknowledge you in all publications AND I'll make you some pretty pictures (materials under extreme conditions make for cool figures).
  • by lemur666 ( 313121 ) on Tuesday June 24, 2008 @07:21PM (#23926165)

    Anyone else think a 2^16 vs. 2^16 Team Fortress game would be pretty cool?

  • Why not... (Score:5, Interesting)

    by zappepcs ( 820751 ) on Tuesday June 24, 2008 @07:21PM (#23926167) Journal

    as some have said, donate the time to people would like to buy it but can't, or on odd days turn up 1000 SETI@home processes and see how far it gets?

    Create a reverse Google bomb - Index every link to say 'george bush' from Google, read each page into memory hash the words, assigning value by count amongst all the pages, and then post the top ten words on GW that are not 'the' 'a' 'was' etc.

    Perhaps comparing this to the same process on Paris Hilton would be a report that sparks SkyNet to life. I don't know. Seriously, if those two have 6 of the top ten words in common it would have to mean something.

    If you have all that cpu sitting idle, that is the kind of weird shit nobody else would do, but also couldn't not read the report either. Perhaps you'll start something new for Google Trends? :)

  • Rendering (Score:5, Interesting)

    by Xzzy ( 111297 ) <sether AT tru7h DOT org> on Tuesday June 24, 2008 @07:21PM (#23926175) Homepage

    I do burn-in testing on a lot of the machines we get at work, using hardware I can't personally afford.

    My favorite test is to find scenes to render with a raytracer.. yafray is my favorite, runs on all major platforms. But not just any scene, it has to have all the details turned up to 11, contain extremely high detail (polygon counts drive up memory usage), and write out an absurdly large image.

    Kind of whimsical but it's hard to not be impressed by an image 20,000 pixels square with perfectly accurate reflections. Who cares if I can only fit a fraction of it on my monitor. ;)

    • Other options. (Score:5, Interesting)

      by jd ( 1658 ) <> on Tuesday June 24, 2008 @08:20PM (#23926813) Homepage Journal
      Rendering, in terms of ray-tracing, is considered trivially parallel - everything can be done in parallel with no interaction. Radiosity, where there is interaction, is potentially much more interesting.

      A variant on the rendering theme: Instead of simulating rays, simulate light wavelets and the modern theory of light. You should have enough compute power there to render reasonable scenes using such a technique.

      Fluid dynamics: This is a popular one, and NASA offer source codes for free for subsonic, supersonic and even hypersonic flows. In fact, they offer quite a number of subsonic ones. They're also not the only source. There's several open-source CFD packages, ranging from river simulations to aircraft simulations.

      Supernovae simulation: There are packages (freeish, rather restricted in access) that allow you to simulate thermonuclear and supernovae explosions within stars. The restrictions are for rather obvious reasons, even though the odds of anyone nasty obtaining a star is, well, unlikely.

      COLOSSUS: There are still a couple of ENIGMA ciphers that have never been broken, which can be obtained along with the algorithm Colossus used in World War II to crack such codes. You could complete the set and maybe discover some lost secret (yeah, right).

      BLAST: Other posters have suggested renting out the computer time, but that just transfers the problem of what to run, rather than solving it. BLAST, or one of the MPI-based variants thereof, is an exceedingly popular tool for examining nucleotide sequences, but as the databases grow ever-larger, the demand for ever-more information also increases, creating a need for significant compute power to produce the volume of results desired.

  • Stone Soup (Score:5, Insightful)

    by MetricT ( 128876 ) on Tuesday June 24, 2008 @07:30PM (#23926307)

    I (Mat) work at Vanderbilt University's supercomputing center. Our university supercomputing center was originally a joint venture between the proteomics and high-energy physics departments, but they decided to make it a independent university-wide initiative to bring HPC tools to all users.

    Before we founded the center, there were a lot of groups that required computing on campus, but it was highly inefficient. Their local clusters had lots of free cycles (low return on asset) that they couldn't effectively share with other users, the clusters were down quite often (grad students and postdocs are poor sysadmins, plus they should be doing actual research anyway). Several other problems related to either pooling of resources or pooling of knowledge, you get the idea...

    I highly recommend setting up a batch scheduler such as Torque/Maui and opening your cluster to all researchers on campus. You'd be surprised how much demand is out there. We have all the usual math/science/engineering/biomedical users, plus users in more esoteric fields (nursing, accounting, music, psychology). You can always give your group a higher job priority if needed. It gives a higher return on asset and gets lots of goodwill on campus (and, potentially, at funding agencies). You can charge users for support, storage, etc for cost recovery, or even use it as a revenue source if your grants allow.

    Having different types of users also allows cross-pollination of ideas. We have a large number of biomedical researchers who are now using a high-energy physics software (geant), biomedial people who are teaching other users how to program in R, etc. These are avenues for research/discovery that didn't exist before.

  • Open Science Grid (Score:3, Interesting)

    by mats ( 155 ) on Tuesday June 24, 2008 @07:38PM (#23926393) Homepage
    I suggest adding the resource to Open Science Grid: []

    That way you can backfill the resource with jobs from VOs (Virtual Organizations, think projects/groups) you choose. It is similar to BOINC in the sense you can pick what science to support.

    The idea is that the sharing will go both ways. You will give spare cycles to other users on OSG, and in return, you will be able to use spare cycles on other resources.

    Spend some time on the OSG website reading the things under "Learn About Us". Also check out the research highlights to see what kind of science is being done on OSG resources: []

    (Shameless plug - I'm part of this team) The good news is that OSG have an ongoing effort to help you join your resource to OSG, and help your users get going on the grid: []

  • xkcd (Score:5, Interesting)

    by Anonymous Coward on Tuesday June 24, 2008 @07:42PM (#23926435)

    xkcd Network []

  • Make applications (Score:5, Interesting)

    by neokushan ( 932374 ) on Tuesday June 24, 2008 @07:45PM (#23926469)

    Instead of randomly generating pictures or something as someone suggested above, why not make it generate say a 64k program, keep iterating through this until you get an executable that will actually RUN (Without crashing) and see what happens.

  • by Rhalin ( 791665 ) on Tuesday June 24, 2008 @08:12PM (#23926715)
    I'm a CS (Anthro minor) undergrad student working with "Agent Based Modeling of interdisciplinary problems" looking for a place to go to grad school. What university is this with the nice cluster and the group of people working on the problems I want to help solve?
  • by SleepyHappyDoc ( 813919 ) on Tuesday June 24, 2008 @08:49PM (#23927121)

    If an infinite number of monkeys......

    Write a program that creates random code and tries to run it, then starts again. Eventually, we'll have the Singularity and not have to worry about finding cool things to do.

  • by cowtamer ( 311087 ) on Tuesday June 24, 2008 @11:26PM (#23928617) Journal

    Reading Slashdot dulls creativity sometimes... I suggest you deprive yourself of sleep, overdose on caffeine, read something by Neal Stephenson (Snow Crash or Diamond Age), and meditate on your question with a 2-3 geeky buddies of yours around 2am.

    1) Find a picture/piece of code/ISO image/etc. you'd like to compress. Treat it as a very big number. Now find a prime number that comes very close to it. Compress it by treating it as the Nth prime + the remainder. Repeat for the remainder See if the compression is any better than bzip. (I think i saw something like this done for the DeCSS code once...)

    2) Find something to optimize via brute-force. (My favorite is neural nets predicting time-series). Run a distributed simulated annealing algorithm. (Run an instance of the algorithm on every core, check every N cycles to see which core is more "optimal", share the parameters with the rest of the instances).

    3) Create an interactive multi-user raytraced environment. Get someone to bring in an ImmersaDesk or a CAVE. Stun all visitors.

    4) Model a giant neural network. Teach it to do something cool in real-time with your favorite training algorithm...

    5) Get dictionaries from 50-60 languages. Write something to correlate similarity of words meaning the same thing. Make pretty graph clustering them by similarity. Post pretty graph on Slashdot.

    6) ???

    7) Profit!

  • Do Good in the World (Score:4, Informative)

    by pz ( 113803 ) on Wednesday June 25, 2008 @02:37AM (#23930119) Journal

    A number of other posters have suggested this answer, but I wanted to emphasize it.

    You are lucky enough to have a massive, desirable resource that is underutilized while we are in the midst of an academic funding environment which has been called the worst ever for supporting basic and applied research. You, as an academician, have an unwritten duty to help other academicians, and so rather than think of geeky ways to mess around with your new toy, why not share your wealth?

    Here are the advantages:

    1. You can wrangle additional publications out of it by being an author on published papers by providing sufficient support. Publications are the lifeblood of academics.

    2. You can use it to leverage improved relations (or establish relations) with other departments within your university, or across universities. This might not seem like it would be worth much to you, but it will be impressive to your supervisors and department heads (they can take credit for it), and will make you look good in their eyes.

    3. You can leverage it to good-news PR. University administrations love good PR. Talk to your PR department. Involve your department.

    4. You can do good in the world.

    I, personally, run an analysis of neural recordings every so often using Matlab that takes about a week on a reasonably modern dual-core system. It sure would be nice to have that finish in 1/500 as much time! There are about 20 or so researchers who are doing work like mine, and none of them, to my knowledge, are using a high-performance computing environment to analyze their data. It just isn't within their means. I'm not talking about some esoteric, arcane basic science research (although I'm a huge, huge proponent of that), but helping the paralyzed to walk again.

In seeking the unattainable, simplicity only gets in the way. -- Epigrams in Programming, ACM SIGPLAN Sept. 1982