Computer SW Languages Functional - Berkeley CSUA MOTD
Berkeley CSUA MOTD:Computer:SW:Languages:Functional:
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2024/12/25 [General] UID:1000 Activity:popular
12/25   

2010/3/25-4/14 [Computer/SW/Database, Computer/SW/Languages/Functional, Computer/SW/SpamAssassin] UID:53761 Activity:nil
3/25    OJ says to get a free book here:
        http://smartbear.com/codecollab-code-review-book.php?howheard=Coding+Horror
2009/4/24-28 [Computer/SW/Languages/Functional] UID:52902 Activity:nil
4/23    what book is this?
        "I'm reading this horrible horrible book about a programmer
         from silicon valley that gets magically
         transported into some world where magic is real
         and uses computer programming skillz to become the world's
         greatest sorceror … in book 1 of the series
         he figures out how to make a spell that casts another spell,
         and implements a lisp read-eval-print loop *in magic*"
         \_ Wizard's Bane by Rick Cook...never got around to reading it.
            -scottyg
            \_ Pretty good reviews on Amazon, for what that's worth.
               \_ It is reasonable to expect that anyone who would read
                  such a book is not a reliable source of information
                  on the quality of a literary work.
                  \_ Hehe, without disagreeing with you, you do see how
                     this sort of attitude makes it impossible for you to
                     read an unbiased review, don't you?
2024/12/25 [General] UID:1000 Activity:popular
12/25   

2008/12/17-2009/1/2 [Computer/SW/Languages/Functional] UID:52267 Activity:nil
12/17   wtf is happening to the dollar?
        http://quotes.ino.com/chart/?s=NYBOT_dx
        \_ People are finally taking Bernanke seriously when he says he
           is going to print as many dollars as he has to, to reinflate
           the dollar.
           is going to print as many dollars as he has to, to kill deflation.
           \_ doesn't this make our imported goods more expensive, and more
              foreign co.'s go b00m, and people doubt whether their Treasury
              notes were a good investment after all?
              oh yay, japan is threatening to print yen. w00t?
              \_ Yep.  Say hello to Weimar Republic here in the USA
                 \_ Thanks Republicans!
                 \_ Thanks Paul Gramm!
                    \_ Paul Graham? Phil Gramm?
                       \_ I blame Lisp.
              \_ And exports cheaper, which puts more Americans to work.
                 Who cares what foreign companies do?
                 \_ ob USA USA USA!
2008/10/2-4 [Computer/SW/Languages/Functional] UID:51347 Activity:nil
10/1    I want redistricting. I don't want a committee. How hard is it to
        simply float a new scheme for redistricting?
        \_ Just gather 1M signatures.
2008/7/28-8/5 [Computer/SW/Languages/Python, Computer/SW/Languages/Functional, Computer/SW/Languages/OCAML] UID:50704 Activity:nil
7/28    So, I'd like to try playing with a functional language.  Any
        recommendations?
        \_ Haskel.  Why would you start with anything else?
        \_ Haskell if you want a _functional_ language.  Ocaml if you want to
           see what a proper language implementation looks like.  LISP if
           you want old fogies to think you are cool. -- ilyas
        \_ Haskell.  Why would you start with anything else?
           \_ I don't know.  I've heard Erlang has been used more in industry.
              (Isn't Google using it for something?)  I don't really know
              the differences.
              the differences.  Sisal was for scientific computing, which is
              the area I work in.  F# includes OOP (but I'd rather work in
              Linux.)
              \_ Are you learning this to learn or are you learning it to
                 get industry experiance?  If the second I'd say spend your
                 time elsewhere.  Haskell is one of those languages where once
                 you start to understand how to actually use it this light
                 will come on in your brain and suddenly you will never see
                 programming in quite the same light.  Erlang is cool, but
                 has a lot less support library support/people out there
                 messing with it, so actually trying to do anything with
                 it is hard.  OCaml is pretty damn cool as well, but really,
                 if you want to wrap your head around pure functional
                 programming, the language you should start with is Haskell.
                 Oh, and you want this book: http://www.haskell.org/soe
                 \_ Oh, and another thing.  Haskell is also good because it
                    makes it really hard to cheat and do things in a non
                    functional manner.  Its purity is its strength.
                    \_ Ah, that's a good point. -op
                 \_ Well, mostly I would just like to learn about functional
                    programming to learn.  But I generally like languages I
                    learn to be useful for something as well, otherwise I
                    never get to use it.  For example, I like Ruby better than
                    Python, and learned it to learn it.  However, everything at
                    work uses Python, so now I've forgotten most of the Ruby.
                    Thanks for the book ref.
                    \_ Really learning Haskell will make you a much better
                       programmer, even if you never use it for anything.
                       It really forces you to relearn a lot of things in
                       ways you probably never even considered, and once you
                       finish bashing your head against it and it starts
                       making sense you will be a much stronger coder.
2006/8/11-14 [Computer/SW/Languages/Perl, Computer/SW/Languages/Functional] UID:43974 Activity:low
8/11    How do you find out the max # of file descriptors for a process,
        thread, and entire system?
        \_ Dep on OS. Are the youth today assuming "linux is the standard"?
           That is kinda sad.
           \_ LINUX RUUULES!  W1ND0ZE DR000LEZ!
        \_ while(true) { do(something that uses a fd) if (good rc) counter++; print }
        \_ while(true) { do(something that uses a fd) if (good rc) counter++;
                         print }
              \- well AssOS is better than windows like perl is better than
                 basica. but it's not actually good. i can understand using
                 something "useful" instead of good [like using perl instead
                 of lisp today] but it's non-good when you dont know what is
                 good because you have no exposure to it ... "It's a light
                 saber. The weapon of a Jedi Knight. Not as random or clumsy
                 as a blaster. An elegant weapon for a more civilized age."
                 \_ This post is unintelligible.
                    \_ E_TOOSHORT
                       \_ How about E_FUCKINGINCOHERENT
                          \_ Worse than that... this person got into Cal.  I
                             wonder what their application essay looked like.
        \_ while(true) { do(something that uses a fd) if (good rc) counter++;
                         print }
        \_ sysconf(3) maybe what you are looking for.  I think the variable
           for max fds is _SC_OPEN_MAX. Also try unlimt -a (or -n).
2005/7/12 [Computer/SW/Languages/JavaScript, Computer/SW/Languages/Functional] UID:38561 Activity:nil
7/12    HAHAHAHA...
        In Javascript, null == undefined is true.
        However, Number(null) != Number(undefined)
        Number(null) is 0
        Number(undefined) is NaN
        HAHAHAHAHAH
        \_ Now is that across all Javascript implementations?  Or is this
           one of those happy joy joy non-standard windows things?
           \_ This is ECMA spec.  Below poster is correct about ===.
        \_ Programming language equality is rarely the same thing as
           mathematical equality.  This is actually a fairly complex
           issue (seeing how lisp treats something is a good way to tell --
           lisp has 4 or 5 different notions of equality). -- ilyas
                \_ All equality is equal, but some are more equal than others!
                   \_ This is more accurate than you might think. In particular,
                      null === undefined is false in Javascript. -gm
        \_ String(null) is also different from String(undefined).  So?
2005/5/2-4 [Computer/SW/Languages/Functional, Computer/SW/Unix] UID:37451 Activity:nil
5/2     I'm trying to figure out what delimiters inside the "scheme"
        (protocol) portion of a uri may mean.  (In http://foo.com http is
        the scheme)  I have seen ssl+http sometimes.  Are there any other
        charcters that have special meaning, like plus?  The standard is
        not very clear on this.
        \_ The scheme of a uri is anything before the first :.  I think
           it needs to be word characters, but I haven't checked on that
           in a while.  The most common ones are probably http, https, ftp,
           mailto, and things like rtsp and stuff.  gopher, if you're old
           school.
           \_ Right, but I'm programming an RMI service, and I think I
              need to support things like ssl+myprotocol://blah...
              \_ From the rfc, the scheme must start with an alpha character,
                 and can contain alpha, digit, +, -, or .
2004/6/14 [Computer/SW/Languages/Functional] UID:30782 Activity:kinda low
6/13    Dear computer scientists, do you prefer to use the more complicated
        but potentially rich abstract syntax tree to traverse through nodes,
        add attributes, pass in/out flow sets for flow analysis, or do you
        prefer the simplicity of using top-down traversal of syntax directed
        translation? What are the pros/cons of using either method?
        \_ I had Hilfinger for nodes and trees.  I no longer care about nodes
           and trees.  I now understand there is more to life than nodes and
           trees.  The nice doctors are helping me.
2004/5/15-17 [Computer/SW/Languages/Functional, Computer/SW/OS/OsX] UID:30245 Activity:moderate
5/15    I'd like to start doing AI programming again. What is a good,
        free common lisp distribution? I am using Max OS X. -tia
        \_ cmucl.  The sbcl fork runs on Darwin. -- ilyas
           \_ sbcl forked some time ago and is not really the same as cmucl
              anymore.  Franz's Allegro (originated from CS dept at Cal) is
              either free or costs a fortune, depending on the license.  Also
              available is openmcl, which is the only free one that has an
              (experimental) cocoa interface (never tried it).  gcl also works
              now but isn't it still CLtl1?  clisp is of course very slow.
              You probably want to try sbcl and openmcl first.  Somehow it
              seems you get better selection for scheme (bigloo) or even
              prolog (SWI or YAP).
              \_ xsb is a good prolog implementation also, they have tabling
                 and other goodies.  Bigloo is cool.  SWI is slow. -- ilyas
                 \_ So is xsb a reliable prolog to use? Lots of the ones I've
                    at seem to be abandoned.
                    \_ I don't know if there's any work done on it anymore,
                       the latest version was released almost a year ago.
                       It is 'reliable' though, in a sense of being a good
                       non-buggy implementation with useful features. -- ilyas
2004/5/11-12 [Computer/SW/Languages/OCAML, Computer/SW/Languages/Functional] UID:30169 Activity:very high
5/11    To FP activists on the motd, if currying is such a great idea, why
        it's not implemented symmetrically in say Caml?  It seems more
        natural to treat the arguments of a function more symmetrically.
        \_ If by 'symmetric' you mean that if, for example, I have a function
           f of two arguments a and b, I should be able to curry on either
           a or b, then Ocaml does this using labeled arguments.  Caml does
           not since it's meant to be a 'minimalist' language. -- ilyas
           not since it's meant to be a 'minimalist' language.  In conclusion,
           RIDE BULLET TRAIN!  USE OCAML!  -- ilyas
           \_ I am looking at it.  So far so disappointed.
              \_ I think most people who have been programming for a while
                 have gotten past the 'perfect language' disease.  I would be
                 happy to address specific questions you might have.  Or better
                 yet email me, or drop by #csua. -- ilyas
                 \_ I am not through with the reading yet, so I could be wrong.
                    So far, my complaint is the following: (1) rather bad
                    grammar in general.  (2) The use of capitalization and
                    special characters to signify different kinds of
                    identifiers at the language level.  (3) Field name in
                    record has file scope.  (4) If typing is such an important
                    aspect of it, it might as well make it optional to be
                    dynamic, same with patterns.  (5) Data structure does not
                    feel as flexible as it could be.  One might as well think
                    it is C and implemnt cons using record.  (6) I am not sure
                    how ref works, but I certainly miss pointers.  Overall,
                    it seems to be somewhere in the middle from C, Scheme, and
                    maybe Prolog.
                    \_ (1) People complain about the syntax.  It doesn't
                       bother me.  If it bothers you, Ocaml comes with a
                       syntax redefinition tool called camlp4 -- you can
                       change the ENTIRE syntax if you want.
                       \_ You can write preprocessors to make Fortran look
                          Lisp, Lisp look like Perl, Perl look like Basic,
                          Basic look like C, and C look like Fortran.
                       (2) This is because the language is 'rich.'  Perl does
                       the same thing.  I don't really know a better way.
                       What Ocaml has is better than throwing gobs of parens
                       at the problem like lisp does.  In other words, too
                       much syntax is better than too little.
                       \_ ruby i think is as powerful as perl yet has
                          a very clean syntax, without $ % and bare filehandles
                             it's as fast as it sounds. -- ilyas
                          etc.  -someone else
                          \_ It's true that ruby is clean, but this comes with
                             a price.  Everything in ruby is an object, and
                             it's as fast as it sounds.  The other thing about
                             ruby is that it's dynamically typed, so you need
                             to distinguish less things at compile time --
                             this translates into a lot less syntax.  Naturally,
                             dynamic typing makes things slow, also. -- ilyas
                             \_ No it doesn't. You are wrong on both accounts,
                                here. There are implementation techniques
                                to make pure object-oriented languages and
                                dynamically typed languages perform very
                                fast.
                                \_ Sure it does.  You may make it better than
                                   what ruby has (no hard accomplishment since
                                   ruby has possibly the slowest implementation
                                   of any language), but you will not be able to
                                   beat a statically typed language because
                                   the compiler simply has less information.
                                   OO is useful, but ruby makes everything an
                                   object, which is convenient but those virtual
                                   function calls do add up.  Anyways, if
                                   someone writes a fast ruby compiler, it will
                                   make me happy, ruby is a neat language.  A
                                   good thing to ponder, if you ever go to the
                                   'great language shootout' page, is why the
                                   fastest languages there are either C or
                                   statically typed.  -- ilyas
                                   \_ You are just wrong here. YMWTG
                                      polymorphic inline cache, or Cecil
                                      \_ Read what I said again.  I would be
                                         happy to look at some benchmarks of
                                         Cecil or Self.  Self is neat. -- ilyas
                                         \_ Stop being condecending. I wasn't
                                            referring to your complaints about
                                            the Ruby interpreter, but to
                                            your general statements about
                                            dynamically typed and pure OO
                                            languages. Virtual Machines
                                            have access to all the type
                                            information that was available
                                            statically, and in the case of
                                            some type systems, more. With
                                            that info, the VM and generate
                                            type-specific code, in-line away
                                            virtual functions, usw.
                       \_ I think it's more to shift the burdern from the
                          parser and compiler to the user.  Perl is not a
                          model for good design.
                       (3) Yes, I don't like that.  There are deeper problems
                       with structs and typing.
                         \_ I guess that labels of variant and records are
                            internally represented as integers.  I would be
                            nice to be able to access them directly.  Array
                            type should have the option of specify size,
                            both for efficiency and type checking.
                       (4) I don't understand your reasoning here.  Typing
                       in Ocaml makes me really happy because it catches bugs
                       for me, and because I know how to get around it if I
                       need to (Obj.magic).
                       \_ I am not saying typing is a bad idea.  But it would
                          be nice to have the option (1) to turn it off for
                          some variables or some types and (2) to delay some
                          typing until runtime and (3) go (not so much) further
                          make type a type that one can modifies and manipulate
                          in runtime.  The same goes for pattern.  There will
                          conceptual problems involved, but they are worth the
                          reward.  Plus, most of the logic underlying is
                          already present in the compiler and just need to
                          be incorporated in the runtime, if called for by
                          the program.
                       (5) Don't understand what you are trying to say.  Did
                       you notice the object system too, and functors?  Is the
                       stdlib bad?  What couldn't you find that you would find
                       in another stdlib?
                       \_ sorry, haven't got to the object system yet, but
                          generally I feel that a language should either
                          provide very elementary data structure that allows
                          one to describe arbitrary complex ones with relative
                          ease or provide so many high level data structures
                          that it is hard to ask more.  C and Lisp are
                          examples of the former, while custom programing
                          language (Maple, Mathematica, etc) falls with the
                          latter.  OCaml seems to be in the middle, which is
                          annoying.  For example, I haven't seen a set type,
                          which of course can be implemented with tuple.  But
                          it is not easy to implement efficiently, unless you
                          employs tricks that seem to defeat many OCaml
                          principles.  Again, I could be just ignorant of some
                          of the powers of ocaml.
                       (6) If you really want, you can play with pointers using
                       Obj.magic (again), but you probably don't need them.
                       Very few people these days need pointers (actual integer
                       values) over references (names referring to objects) in
                       practice.  -- ilyas
                       \_ somehow I couldn't find documentation for Obj.magic
                          but it sounds like something bad that if you use all
                          the time, you might as well use another language.
2004/4/16-17 [Computer/SW/Languages/Functional] UID:13234 Activity:high
4/16    So, here's a question.  I'm learning Python, and it seems to me that it
        includes a lot of the power of Scheme or Lips, with out the wierdness.
        Would Python make a better introduction to CS language than Scheme?
        \_ Dunno, why don't you just ask Ping, he taught a 61A style course
           in python at Cal.  He claims it was good.  I still haven't yet
           found a good dollar Return on Investment for the time I spent
           using scheme.  ping's URL : http://zesty.ca/bc/info.html -pst
           \_ We had a similar thread on this involving sysadmins.  If you
              want ROI on your time, get out of CS and leave it to people who
              want to be doing it.  Go do banking or something. -- ilyas
              \_ you seem to be forgetting all about systems. systems people
                 probably almost never use scheme per se, though granted,
                 competent ones probably make use of concepts/techniques from
                 the functional languages.
                 \_ Did you actually read what my objection was?  At any rate,
                    plenty of 'systems' people use functional languages, if
                    not necessarily scheme itself. -- ilyas
           using scheme. - pst
        \_ Read Norvig's essay on python.  Languages which don't understand
           lisp are forced to reimplement it, badly.  I find python a lot
           less intuitive than either lisp or scheme.  YMMV. -- ilyas
           \_ Link?  All I could find was Python for Lisp Programmers.
              \_ That's the one.  It compares python to lisp in various ways.
           \_ Link?  All I could find was Python for Lisp Programmers.
                   -- ilyas
           \_ Agreed.  What's so weird about Scheme?  There are almost no
              syntax rules in Scheme; the language is very self-consistent and
              uniform.  Python seems to have a lot of extra, unnecessary
              syntactical baggage that doesn't improve language
              expressiveness.  I also can't understand why Python has such
              crippled lambdas.  As for the original question about it being
              a better intro language than Scheme, until Abelson and Sussman
              rewrite SICP to use Python, I'd say no.
              \_ Well, yes SICP would be the problem.  But imagine we're
                 in fairy land where SICP is available for EVERY lanugage...
                 in fairy land where SICP is available for EVERY lanugage...
                 \_ python sicp: http://www.ibiblio.org/obp/thinkCSpy - pst
        \_ There's nothing really "weird" about Lisp. I don't understand why
           people think Lisp is any "weirder" than Prolog, Eiffel, Modula-2
           or any other language. Just because it's not an ALGOG derived
           language doesn't mean it's more or less difficult to learn.
           -- williamc
           \_ Ok, I like prolog, and use it frequently, but even I admit it's
              'weird.'  It has a whole different programming paradigm all to
              itself. -- ilyas
              \_ I haven't used it much, but it seems to be a very or perversely
                 specialized kind of FP.
                 \_ Prolog is not functional programming, although you can sort
                    of think of it that way if you squint and don't look too
                    hard.  Prolog programs are statements which are true, and
                    prolog flow of control is a proof search.  I found I
                    couldn't really grasp prolog by just pretending it's scheme
                    without parens, you really need to think about statements
                    and proofs to program prolog well. -- ilyas
                    \_ You can write in FP so that all your functions return
                       boolean and the only operator you use is AND with early
                       termination.  And then adjust the eval loop so it takes
                       falsehood as failure rather than falsehood.
                       \_ ... and you still wouldn't get prolog.  You would
                          need OR, and cuts, and superlogical features of
                          prolog like setof.  And you would need to implement
                          the non-local prolog failure (which to do properly
                          requires non-trivial messing around with exceptions
                          or continuations).  Like I said, you could sort of
                          do it, but you wouldn't be a very good prolog
                          programmer.  Doing prolog properly in FP would just
                          entail implementing a prolog interpreter.
                          Look at
                 \_ python sicp: http://www.ibiblio.org/obp/thinkCSpy - pst
                    couldn't really grasp prolog by just pretending it's scheme
                    without parens, you really need to think about statements
        \_ There's nothing really "weird" about Lisp. I don't understand why
           people think Lisp is any "weirder" than Prolog, Eiffel, Modula-2
           or any other language. Just because it's not an ALGOG derived language
           doesn't mean it's more or less difficult to learn. -- williamc
                          requires non-trivial messing around with exceptions
              stuctures is pretty odd.  As Norvig points out "Python seems to be
              easier to read than Lisp for someone with no experience in
                    and proofs to program prolog well. -- ilyas
                          http://www.bushong.net/david/comparisons/powerset.html
                          or continuations).  Like I said, you could sort of
                          do it, but you wouldn't be a very good prolog
                          programmer. -- ilyas
           \_ Oh, I don't know, the whole pair/cons/list way of building data-
                          and think about why the prolog is algorithmically so
                          different from the others. -- ilyas
           \_ Oh, I don't know, the whole pair/cons/list way of building data-
              either language."
              \_ I can agree with that. Lisp's parentheses explosion is not
                 as easy for me to read anyway. Personally I found Ruby to be
                 very easy and elegant, although the block-passing syntax
                 can get a bit odd. It has very easy-to-use classes
           \_ Ruby is closer to smalltalk than Python.
           \_ Oh, I don't know, the whole pair/cons/list way of building data-
              stuctures is pretty odd.  As Norvig points out "Python seems to be
              easier to read than Lisp for someone with no experience in
              either language."
                 and objects too, unlike scheme. Python's a bit messier but
                 has the same stuff (Python's "len()" bothers me.)
              stuctures is pretty odd.  As Norvig points out "Python seems to
              be easier to read than Lisp for someone with no experience in
              either language."
              \_ I can agree with that. Lisp's parentheses explosion is not
                 as easy for me to read anyway. Personally I found Ruby to be
                 very easy and elegant, although the block-passing syntax
                 can get a bit odd. It has very easy-to-use classes
                 and objects too, unlike scheme. Python's a bit messier but
                 has the same stuff (Python's "len()" bothers me.)
                 \_ And processing lists (which is actually very intuitive
                    for anybody who has taken introductory set theory) is
                    somehow stranger than processing
                    while (<>) { if ( $_ ~=/foo/) { s/bar/baz/}}? I don't know
                    but it took me about 30 minutes to learn scheme, whereas
                    it took me a solid week to just learn the basics of C,
                    and another month to do something useful with it.
                    \_ are you replying to the right person? I mentioned Ruby,
                       not Perl or C.
        \_ Personally, I think Smalltalk, which Python is closely based on,
           is better than both Lisp or Python. Lisp has a lot of great things
           but the problem is that there is no syntax to the language. The
           human has to be the compiler (and, when debugging, the decompiler).
           Dylan on the other hand...
           \_ Ruby is closer to smalltalk than Python.
2004/3/24-25 [Computer/SW/Languages, Computer/SW/Languages/Functional] UID:12838 Activity:nil
3/24    Okay, so I've got a potential employer asking for a code sample after
        an apparently successful second-round interview.  Any suggestions on
        what I should send them codewise?
        \_ Write a web server in postscript.  It worked for jwz.
                 \- jwz's rule of software engineering: programs add features
                    until they can read mail. rule of jwz software engineering:
                    jwz adds features until it takes up all memory and cpu
                    resources --psb
                    \_   "\_" is not "\_".   "\_" is ugly. use SHIFT.
                        \_ psb predates shift.  learn how to space correctly.
                           \- spacing correctly wastes space. 80 col trumps
                              double spacing after "." "-foo" is ugly.
                              use "--foo". --psb
                              \_ I'll use "--foo" if you'll use "\_". --dude
                        \_ The laws of men do not apply to the gods.
                           --yaPSBFan
           Alternatively, write something traditionally thought of as hard or
           complex in an elegant way using a lesser known language like scheme.
           For example, you can do cooperative multitasking in scheme using
           the callcc primitive in about forty lines.  Ask nweaver if you've
           never seen this.
2004/3/19-20 [Computer/SW/Languages/Functional] UID:12767 Activity:nil
3/19    I have had SBC/yahoo for a couple months but haven't finished the
        registration process that will offer me free goodies like email
        account, trade journal etc.  For those who did, are they worthwhile or
        just a giant spamming scheme?  Will they track and mine all my surfing
        and sell the results?
        \_ do the online registration but don't load any more software
           from them. The best deal is the 100MB yahoo email account
           which you can link to your current yahoo email account.
           \_ what can you do with a 100MB email account?  My mail box does
              not go beyond a few MB.
              \_ then you haven't been around that long.
2004/3/3-5 [Computer/SW/Languages/Functional] UID:12505 Activity:nil
3/3     I feel like messing with Scheme. I forgot all my CS61A. Do we have
        a scheme program here, and how do I run it?
        \_ type 'scm'
           \_ thanks.
        \_ if you want to dabble in common lisp, you can download an
           evaluation version at http://www.franz.com
           \_ Or use a free high quality implementation: cmucl (type
              lisp on soda).  Bigloo is a good scheme implementation.
              You can also try that kooky french language, ocaml. -- ilyas
              \- "I think it is time we demonstrate the full power of this
                 lisp station" --psb
                 read-eval-print.lbl.gov.  12H IN A  128.3.11.69
2004/2/6-7 [Computer/SW/Languages/Java, Computer/SW/Languages/Functional] UID:12130 Activity:nil
2/6     Am considering going back to school to get a BS in CompEng (I already
        have a BA in wholly different field). Pros and cons of doing it at
        Cal? Hayward? SFSU? Will I have to take Gen. Ed. all over again? Odds
        of getting financial aid/grants?
        \_ gen ed again? dont be ridiculous
        \_ wtf is computer engineering?  do you have to write interesting
                  \- i know in india most of the space "computer science"
                     majors go into is called "computer engineering" ...
                     which i suppose is more accurate than "computer science"
                     [certainly what they do is braoder than programming]
                     but i agree it sounds weird. --psb
                     \_ Damn, psb has the most consistently bad formatting
                        in motd history.
           code?  do you see transistors?  is it engineering without the
           harder stuff?  do cs if you want to code, ee if you want to
           do hardware.  don't do some watered down bs program that still
           won't get you a real job.
           \_ Some idiot that just read /. article on how "Computer
              Engineer" grads have higher/st starting salary.
           \_ You tell me, tough guy:
              http://csua.org/u/5vi (Slashdot)
              \_ great.  so wtf is a computer engineering degree?  some
                 personal history...  worked at a joint where the manager
                 had a real hard-on for cmu grads.  flew like 5 of them
                 computer engineer major types out here to interview.
                 they can't do transmission lines (sort of important
                 when you're trying to build big buses and backplanes),
                 can't code worth a damn.  didn't hire a single one of
                 them.
                 \_ Damned if I know.  But say I want to do EECS. Should
                    I go back to Cal? I want to stay local (Bay Area).
        \_ I think Cal undergrad program doesn't accept anyone who already
           has a bachelor degree.
           \_ this couldn't be further from the truth.
              \_ it is very, very rare for Cal to grant a second bachelor's
                 degree.  -tom
        \_ Depends on what you want to do with your degree.  A few variations:
           Want to teach or do research?  Get a high quality brand name degree.
           Want to teach HS or low end CC?  Get an easy degree and all A+s.
           Want to work in industry?  Some places only care about your GPA.
           Get the easy degree for those.  Other places are more picky and
           won't even talk to you or if they do you won't ever get promoted
           without a quality degree.  For my field and what I want to do my
           B-ish grades at Cal hurt me badly.  I would have done better with
           all As from CS Hayward.  But then I wouldn't know all you lovely
           people!  It was worth it!  Oh God!  I'm shedding tears now!
        \_ gen ed is a bit different in the college of engineering compared
           to gen ed in the college of letters&science. in EECS, there are other
           lower division requirements like CS61 series (especially if you
           are thinking of computer engineering.) there is also the engineering
           physics requirement (lower division) along with the 2 years of math
           (calculus, linear algebra, diff equations, multivariable calculus)
           and the one semester of a lower division science course (bio or
           chem).  there is a chance that you can waive some of the
           requirements with high school AP courses (but not physics or
           probably not CS courses.)   (But, only one english course is
           required!)
           in terms of future employment, Cal is a much better choice (some
           companies don't look at you if you went to Hayward or SFSU.. meaning
           you won't get an interview.)  although, i think that Cal Engr does
           not take anyone beyond a sophomore.  maybe, cs in l&s might be
           possible.
           SJSU or UCD might be a better choice (in terms of reputation among
           companies..although it might a bit farther) and of course....
           should i say it.... there is stanfurd..
           i figure with computer engr, you can do digital design or write
           hardware/software interface/drivers software..   i can't predict the
           future, but digital design seemingly can be done overseas (as long
           as the EDA keeps improving.)   i'm starting to think that chemE
           might have a better future..
           \_ Waitressing can't be outsourced.
        \_ Turns out EECS only takes 3-4 "Second Degree" students per year and
           currently requires a 3.97 GPA. Go beah!
           \_ 3-4 out of how many applicants?  And if as a returning student
              you can't manage a 4.0 in your forst year or two you are
              pretty fucking lame.  Can you imagine how easy it would be
              to take all your freshmen classes now?  You wouldn't even have
              to try.
              \_ That requirement is for your GPA from your *first* degree.
                 That is, only the best students get the opportunity. -tom
              \_ And you're not re-taking freshman classes, either.  It seems
                 unlikely you'll be one of those 3.97+ people returning so
                 don't worry your pretty little head about it.
           \_ aren't there special programs/exceptions for women?  (that is,
              if you are a woman going into EECS)
              \_ like women don't get enough freebies already.
              \_ the admissions committee might give a bit more leeway here
                 esp. if the candidate is borderline..
        \_ Don't there exist (Masters Degree?) CS or EE programs already
           specially targeted at people who have a BA degree in some other field
           who want to get fast into EECS?
           \_ if the ba degree is something related (eg, i can see physics
              majors going into ee specializing in applied physics or
              semiconductor physics/materials or chem majors going into
              semiconductor process), then ee programs exist for those from
              a different field.  something related would be a mba in mis..i
              suppose..  not having the prereqs for grad courses makes it
              pretty difficult.. (it's a bit different from not having the
              prereqs in undergrad.. and even this is not easy.. depending on
              the program & university..)
              \_ what about getting courses prereq at a community college
                 then take a Masters?  Or maybe some Masters will allow you
                 to take some prereqs.
                 \_ This is an excellent idea.  Thank you.
                 \_ most masters will allow their students to take undergrad
                    prereqs..
                    community college might be a good intro.. but courses like
                    a graduate level parallel architecture class (a typical
                    comp engr course) will more likely need a upper division
                    class like cs150 and/or eecs141..
        \_ hahahaha...  mcb huh?
           \_ i majored in both eecs&mcb..and mcb classes were just as
              difficult as eecs classes..
              \_ MCB is commonly known as a "hell major" at cal.  Along with
                 CS, and Architecture.
                 \_ Architecture!?!? That's a joke, right?
                    \_ um, no. architecture guys apparently have crazy big
                       projects (or maybe just tedious and time-consuming).
                       \_ please don't frighten the EECS droids by suggesting
                          that other students at Cal work hard.  -tom
                    \_ architecture people, on average, work a hell of a lot
                       harder than EECS people while in school *and* after
                       school and definitely get way less money after school
                       99% of the time.
              \_ what about taking prerequisites at a community college
                 then take a Masters?  or some masters program may allow
                 you to take prerequisites first.
2004/1/30 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Languages/Functional] UID:12020 Activity:nil
1/29    Anyone know what strpbrk (the c library function) stands for?
        \_ http://tinyurl.com/2bupw (developer.apple.com)
           \_ He's not asking for the manpage; what does the pbrk part mean?
              \_ probably STRing Pointer BReaK, if someone has the ISO C 89
                 standard they could look it up.
                 \_ that's the obvious guess, but if you think about it,
                    it doesn't really...say anything. btw, i have a copy of
                    the c standard, and what it means is not mentioned.
                    it's also a strange name compared to say, strchr/strrchr,
                    which perform pretty similar functions, just on a single
                    character. -op
        \_ from the book:
                char *strpbrk(cs,ct) return pointer to first occurrence
                in string cs of any character of string ct or NULL if
                none are present.
                \_ You're not answering the question either.  The question is
                   about etymology.  Anyway, this is the sort of thing that
                   probably should be asked on comp.lang.c.
                   \- it means "in a STRing return P pointer to the first
                      BReaK character". you may wish to google for say
                      "lisp scheme skip-until parser break" --psb
        \_ From the BSD manpages it says :
           "strpbrk - locate multiple characters in string"
           From this I'm guessing you could use it to locate things like "\n\t"
           which would be a STRing Paragraph BReaK.
2003/10/10-11 [Recreation/Computer/Games, Computer/SW/Languages/Functional] UID:10579 Activity:nil
10/10   New copy protection scheme:
        http://www.newscientist.com/news/news.jsp?id=ns99994248
        \_ for software, not A&V
        \_ if it's software, it can be hacked. they're just making it more
           difficult.
        \_ "copy protection" through standard-munging is lame.
        \_ This is as old as Ultima.  The game companies put in something
           which detects if you have a pirated copy 1/3 through the game.
           Crackers release a fix to the first crack later.
        \_ Now imagine (as always happens) the false positives on this?
           Everyone gets to blame the game.
2003/9/1 [Computer/SW/Languages/Functional] UID:10027 Activity:nil
8/31    Any Common Lisp buffs out there? Is there a most widely-used or best
        free implementation out there (the way gcc is standard on unix)?
        What about commercial implementations?
        \_ Free: cmucl.  Commercial: Franz's Allegro.  Btw, ocaml is better. :)
             -- ilyas
        \_ on a related topic: what Lisp book do you all recommend?  The
           Guy Steele, Jr. book or the Paul Graham one? -- !op
        \_ Ask psb.  He's the Common Lisp expert.
        \_ Gnu offers a CLisp compiler.  Also there is Kawa which is good
           for learning scheme / e-lisp.  Both are free.
2003/8/26-27 [Computer/SW/Languages/Functional] UID:29476 Activity:high
8/26    What is the best way to deal/cope with boss who micro-manages?
        \_ Get them fired or transferred. That's what i've done to two mgrs.
        \_ overwhelm them with endless reports and queries about the tiniest
           most trivial details and generally behave the way they treat you:
           you can't do *anything* without their prior approval.  "Bob, should
           I use /tmp or /var/tmp for my zero byte lock file?  Let's have a
           meeting to discuss the pro's and con's and kick it over to >insert
           other group< to see what they think".
           \_ Good advice, but check to see how loved your boss is by the
              next level up first.  Too much love, and you may find yourself
              fired or transferred first.
        \_ http://csua.org/u/41o
        \_ on a related topic, how do i handle annoying neighbors around
           my cubicle?  i.e., eating chips/yawning/talking on the phone/
           loudly?
2003/2/1 [Computer/SW/Languages/Functional] UID:27269 Activity:high
1/31    A student, in hopes of understanding the Lambda-nature, came to
        Greenblatt. As they spoke a Multics system hacker walked by. "Is
        it true,"  asked the student, "that PL-1 has many of the same data
        types as Lisp?"  Almost before the student had finished his question,
        Greenblatt shouted, "FOO!", and hit the student with a stick.
        ---Can someone explain this?!?
        \_ Comparing languages on the basis of datatypes is ... silly.
           All languages have the same datatypes.
           \_ Okay, explain this one:
               A novice was trying to fix a broken Lisp machine by
               turning the power off and on.  Knight, seeing what
               the student was doing, spoke sternly: "You cannot
               fix a machine by just power-cycling it with no
               understanding of what is going wrong."
               Knight turned the machine off and on.
               The machine worked.
                \_ He never said you couldn't power cycle if you _do_ know
                   what's going wrong.  *sigh*.  You really shouldn't be
                   reading these, I think they are kind of over your head.
                   \_ obviously the op agrees that they are over his head
                      which is why he's asking in the first place.
                      someone's actually showing interest in your stupid
                      subculture, and all you can do is insult them.
                      incredible.
                      \_ No one wants his interest.  There isn't a stupid
                         subculture, this is AI.  You know, the folks who
                         brought you garbage collection, multiple processes
                         on one machine, and lots of other things.
                         \_ thank you for proving my point.
                            \_ Nothing is more repulsive than ignorance with
                               a chip on its shoulder.
                               \_ But...the OP doesn't seem to have a chip on
                                  his/her shoulder...though you seem to be
                                  working hard to make up the difference.
                               \_ Egotism is the anesthetic given by a
                                  kindly nature to relieve the pain of being
                                  a damned fool.
                      \_ you don't gain enlightenment by having someone
                         explain it to you.
2002/11/18 [Computer/SW/Languages/Java, Computer/SW/Languages/Functional] UID:26574 Activity:very high
11/17   How come printf("%f\n", 1/10); returns 0.000000?
        \_ because it is? go read up on integer division.
           \_ gosh how dare you ask someone to rtfm.  how rude of you not to
              spoon feed someone on the motd.  I'll bet you're not a pine
              user either.
              \_ Gosh, how dare you correct someone on the motd without the
                 cadence and arrogance of a fully-trained Google Nazi.
                 1/10 rounds down to 0 since it is integer division.  Try
                 printf("%f\n", ((float)1)/((float)10) ) ;
                 for the results you expect.
                 \_printf("%f\n" (float) 1/10); You don't need that many
                 casts or parens. This isn't LISP. Sounds like you are
                 a C newbie.
                 \_ %f isn't even the specifier for float, smart guy.
                    there isn't one for float.
                 \_ use cout <<
                 \_ We all knew that.
                 \_ Just use Java
                    \_ Ride bullet train.  Use ocaml.
2002/8/7 [Computer/SW/Languages/Functional, Computer/SW/Languages/C_Cplusplus] UID:25509 Activity:low
8/5     What's a function pointer and when is it useful?
        \_ pointer to a function, useful for emulating C++-like functionality
           (inheritance,  vtables) and pretty efficient
           \_ not to mention things like signal handling ..
        \_ And the mess my 60c partner made of what was supposed to be a simple
           switch/case statement that he turned into an array of pointers to
           functions called based on some weird shit pulled from his addled
           little brain.  No it was not useful.  I killed him and fed him to
           the pigs.
        \_ have you taken 61a?  did you miss the part about higher-order
           functions?  ever use qsort or bsearch from stdlib.h?
        \_ For those of you who grew up learning OO oriented languages you
           can think of it as a primitive form of an interface. In general
           type of programming you should generally avoid it. If anyone
           remembers Xt programming you know why.
        \_ In languages like lisp, tcl, python, etc., you can pass a
           function as an argument.  For example, you can pass a comparison
           function to a sort routine as noted above.  In C you can't
           pass the function, but a pointer to the function which serves
           the same purpose.  As described above, you can use this to
           implement things that seem more like classes in C.  Take a look
           at http://soda.csua.berkeley.edu/~emin/source_code/red_black_tree
           to see an example.  -emin
2001/11/2 [Computer/SW/Languages/Functional, Computer/SW] UID:22911 Activity:nil
11/2    I downloaded a divx avi movie from morpheus.  It's 700+ megs.  I
        want to burn it on to a CD-R but it won't fit.  What are my choices?
        Is there software out there that will take an avi as input and
        re-encode it to that it's smaller?  I don't want to do something
        stupid like trying gzip and burning the gzipped file.  I want to
        be able to play the .avi file from CD.  Thanks.
2001/10/31-11/1 [Computer/SW/Languages/Functional, Computer/HW/Drives] UID:22885 Activity:high
10/31   What's the best way to erase your CDR? I'm not talking about CDRW.
        \_ Get a hammer or yermom.
        \_ microwave oven.
        \_ Put it in a parked car under the sun in a hot sunny day.
        \_ You understand a CDR can't be erased?  It's a write-once deal.
           That's why the above people are giving that sort of advice.
        \_ Circular sander.
2001/8/10 [Computer/SW/Languages/Functional, Computer/SW/Unix/WindowManager] UID:22066 Activity:insanely high
8/9      Do any Java developers use make these days or has Ant pretty much
        become the de facto standard?
        \_ ant stopped sucking enough to use it six months ago, make still
           sucks
        \_ my old job used ant... worked well.
        \_ "ant" is just stupid. or rather, grotesque. XML is only
           vaguely human-readable. Gime a simple makefile any day of
           the week.
           \_ simple makefile? uh... ok go ahead... and dont get any tabs
              confused with spaces.
              \_ You must be exceptionally stupid.  I have been using make
                 for a couple years now, and this has NEVER been a problem
                 for me.  Christ, what are they teaching at UCB nowadays?
                                  \_ From the motd posts it seems like they
                                     have substitued real computers running
                                     real operating systems with cheap x86
                                     crap running Linux and Win32. You can't
                                     blame them though since most of today's
                                     incoming freshmen are so clueless its
                                     frightening.
                                        \_ you'd rather have HP crap running
                                           HP/UX?  Get a clue.   -tom
              \_ Those who confuse tabs with spaces in makefiles have
                 not yet achieved enlightenment.
           \_ I'm with you on the first part.  I just use an IDE that
              generates makefiles (acutally, jam) underneath and I
              don't need to care about it at all.
        \_ Cons!  Cons!  Cons! is the standard!   Make replacement!
        \_ I use make for just about everything. make rocks!
2001/4/24-25 [Computer/SW/Languages, Computer/SW/Languages/Functional] UID:21076 Activity:moderate 75%like:21071
4/387   review on Tripplite, APC, and others, thanks.
        \_ t
        \_ For the eternally clueless for who think whateverP is a generic
           form of asking any question... it isn't.  If memory serves, the P
           stands for "P"redicate.  This comes from the c60a (and maybe 50?)
           days where everything in the A&S book was thisP and thatP for all
           the true/false routines.  thus: isnumP and isdigitP and foodP are
           good.  reviewP will only get you #t/f.  Now please just stop
           misusing shorthand in attempt to fit in.  English works perfectly
           most of the time and if you don't know that Engrish does ok, too.
           \_ usage defined meaning.  trace the etymology of many many
              common expressions and you will find that they started out as
               something compeletly different, and alot of  ignorant idiots
               missused the language for several decades, and now it's in
               the dictionaries.
                \_ Yes, yes, I took linguistics in school, too.  Nice try.
                   This is based on a computer language, not Chomsky.
           \_ nil is also acceptable in place of #f
              \_ #t
                \_ More precisely, in older lisps, the convention is P for
                   predicate, eg, isdigitP, with true and false being t and nil
                   \_ you mean "digitp"
                   (more precisely, nil is false and everything else is true).
                   The scheme convention is ?, such as isdigit?, with #t and
                   #f being boolean types returned.  I don't remember what
                   r4rs says about nil in control flow, but #f != nil
                   \_ Even more precisely, older lisps only had upper case, so
                      you had things like ISDIGITP.
                      \_ Why would you ever have ISDIGITP instead of DIGITP ?
                         \_ Well, yeah, whatever.  Give yourself a happy star.
                   \_ !#t?  I think I got schooled.
                      \_ the more interesting question is when to use
                         eg digitp vs digit-p
        \_ MGE!
        \_ better, but still not a properly phrased question.   here, I'll put
           you out of your misery:
           http://arstechnica.com/reviews/peripherals.html
           \_ Sorry. How to review on Tripplite, APC, and others, thanks?
2001/4/23-24 [Computer/SW/Languages, Computer/SW/Languages/Functional] UID:21071 Activity:high 75%like:21076
4/22    reviewP on Tripplite, APC, and others, thanks.
        \_ t
        \_ For the eternally clueless for who think whateverP is a generic
           form of asking any question... it isn't.  If memory serves, the P
           stands for "P"redicate.  This comes from the c60a (and maybe 50?)
           days where everything in the A&S book was thisP and thatP for all
           the true/false routines.  thus: isnumP and isdigitP and foodP are
           good.  reviewP will only get you #t/f.  Now please just stop
           misusing shorthand in attempt to fit in.  English works perfectly
           most of the time and if you don't know that Engrish does ok, too.
           \_ Why is it "#t" but not "t"?
              \_ probably meant #t/#f
                 \_ Yes.
           \_ usage defined meaning.  trace the etymology of many many
              common expressions and you will find that they started out as
               something compeletly different, and alot of  ignorant idiots
               missused the language for several decades, and now it's in
               the dictionaries.
           \_ nil is also acceptable in place of #f
              \_ #t
                \_ More precisely, in older lisps, the convention is P for
                   predicate, eg, isdigitP, with true and false being t and nil
                        \_ Yep.  I knew someone would come up with the full
                           real answer if I started in that direction.  Thanks.
                   \_ you mean "digitp"
                   (more precisely, nil is false and everything else is true).
                   The scheme convention is ?, such as isdigit?, with #t and
                   #f being boolean types returned.  I don't remember what
                   r4rs says about nil in control flow, but #f != nil
                   \_ Even more precisely, older lisps only had upper case, so
                      you had things like ISDIGITP.
                      \_ Why would you ever have ISDIGITP instead of DIGITP ?
                   \_ !#t?  I think I got schooled.
                      \_ the more interesting question is when to use
                         eg digitp vs digit-p
2001/3/22 [Computer/SW/Languages/Functional] UID:20878 Activity:moderate
3/21    Does Fateman seriously use LISP for 164?
        \_ "Does Fateman seriously teach?" is the more pressing issue.
        \_ i emailed him.  he pretty much said yes. - paolo
           \_ Fateman is my hero.
2001/3/15-16 [Computer/SW/Editors/Emacs, Computer/SW/Languages/Functional] UID:20808 Activity:high
3/15    How do I comment out multiple lines of ELISP code in ~/.emacs (or LISP
        code in general)?
        \_Set the region using Ctrl-Space on one end and move your cursor to
          the other, and do M-x comment-region.  Or use vi and stick a ';' on
          the front of each line manually.
          \_ So there's nothing similar to "#if 0 / #endif" in C that I can do?
             \_ can't you do (if (<condition>)
                                 (progn ...) )  ?
        \_ can you have your .emacs file load other files?  then you would only
           have to comment/uncomment one line
           \_ (load-file ...)
2001/3/13-14 [Computer/SW/WWW/Server, Computer/SW/Languages/Functional, Computer/SW/Unix] UID:20762 Activity:moderate
3/11    Besides "my other car is a cdr", what's the best geek sticker you've
        seen?
        \_ That's hardly a "good" bumper sticker.  It's completely lame.  Or
           maybe that's your point and you actually really do find it "kewl"?
        \_ FEATURE (on a new bug)
           and.. VRFY ME (frame says "my voice is my passport")
        \_ STFU
        \_ "Bus Error! Take the Train!"
        \_ This doesn't really count but my old math teacher's maxima had
           modified plates that read "dy/dx=0"
           \_ My HS chem teachers read "PV=NRT"
        \_    _
             |  x      n
             | e  = f(u )
            _|
        \_ I saw plates once that said 3BPD826.
           \_ What does that one mean?
                \_ Not a God damned thing.  It's a license plate.
        \_ Lamer in my complex with GO7 R3WT
           \_ I saw some dolt with "port 80"  Who would do this?
                     Tim Berners Lee perhaps? _/
                     But I believe he lives in
                     Geneva so its probably not
                     him. I've also seen "httpd"
                     as a license plate. Thought
                     that it was pretty lame.
                     I saw RFC1771 and figured
                     it was Tony Li's car.
                     I think that a plate that
                     said RFC1149 would be really
                     cool, provided you contributed
                     to it.
              Made me want to go get "port 70" now THAT would be L33T
                \_ I've got dibs on port 22!
2001/1/1-3 [Computer/SW/Languages/Functional] UID:20208 Activity:high
1/1   I think that the foo/bar/baz/garply/quux scheme is too overused, we
      should have a new one that is more Berkeley - centric.
        \_ yeah how about we/don't/care/about/undergrads/at/all
      \_ Alright, there's a publicly writeable file at
         /csua/tmp/alexf/calfoo.txt. Dump your ideas there. AND BE
         NICE. No machine generate/binary/escape code shit. I will use
         my subjective opinion and that of random other office hosers
         to pick a list and publicize it around Soda. -alexf
         \_ wow. thanks for the world writeable file.
            \_ Once again, don't be a hoser.
            \_ Yeah, those world writable files sure are special and hard to
               come by.  Imagine that....  s/foo/bar/g;
2000/12/17 [Computer/SW/Languages/Functional, Computer/HW/Drives] UID:20110 Activity:nil
12/14   What's CD-RW performance through a USB port?  Thinking about
        getting one (via USB port) for laptop (and can switch to
        my desktop).
           \_ USB CDRW is great if you like making coasters.
        \_ USB is a 10mbit port, isn't it?  Look up the spec and do the math.
        \_ it's adequate. 20 min for a 650 meg cd-r at 2x.
2000/12/9-10 [Computer/SW/Languages/Java, Computer/SW/Languages/Functional] UID:20048 Activity:high
12/7    How many people cheated in 162 and got caught?
        \_ A little worried about our 162 grade, eh?
        \_ Man, people who get caught cheating just haven't gotten the art
           of it down. Should've been practicing and perfecting it in high
           school (not that you needed to cheat in HS)
                \_ I'm not sure how one would beat a histogram-cheat-detection
                   scheme.  Anyone have any ideas?  Other than rearranging
                   lots of code.  And if you do that, why not just do the
                   project?  --PeterM
                   \_ how does a histogram-cheat-detection scheme work?
                      \_ I'm not sure, exactly.  This is how I imagine it works:
                         do "wordcount" on all the symbols in the program.
                         Then you sort the symbols in order of number of
                         occurrences.  Plot a graph of this.  Programs
                         which have just had one symbol substituted for
                         another will have identical graphs.  --PeterM
                         \_ Hmm, that's easy to break.  Just introduce a lot
                            of redundant local variables with different names
                            in many routines.  Also, rename your local vars
                            "i" in all routines to "n" for some routine and
                            "x" for other routines.
                                \_ Uh huh.  What if I look at keywords too?
                                   A histogram of those.  Now you have to
                                   rearrange all the control structures too.
                                   This is beginning to sound like a lot of
                                   work: you'd have to do all this rearranging
                                   and substituting and test the result.
                                   --PeterM
                                   \_ just make sure you send the code through
                                      a preprocessor first, to make sure the
                                      keywords aren't being substituted with
                                      #defines
                            \_ This only breaks one histogram method.  There
                               are probably multiple ones used.
                      \_ Call graph topology comparison
                   \_ I suspect that any kind of polynomial time
                      code comparison program could be defeated
                      without much trouble.  I say this because of various
                      results in complexity theory about determining
                      equivalence.  For example, determining equivalence of
                      Turning Machines or Context Free Grammers is
                      undecidable.  Determining equivalence of regular
                      expressions (or finite automata) is PSPACE-complete.
                      (Recall that PSPACE is a harder class than NP).
                      Since programs running on regular computers
                      (not Turing Machines) are actually finite automata,
                      if you come up with an algorithm to efficiently compare
                      programs then you can solve a hell of a lot of other
                      more important problems.  In practice, you can probably
                      defeat most program comparison tools by writing an
                      obfuscator program.  One possible obfuscation
                      technique would be to merge and expand functions in a
                      random manner, and then randomly rename all symbols
                      including the function names.  Of course, cheating
                      is unethical, but the comparison problem is an
                      interesting thing to think about. -emin
                        \_ as mentioned below, one would probably focus
                           on heuristics that work on typical undergrad-
                           LOT of results out there, and even if you CAN cheat
                           a finite-dimensional analysis of infinite-dimensional
                           spectra, it's extremely difficult to do so if you
                           don't know which dimensions they are looking at.
                           While MOSS may not be all that great, it's
                           presumably non-trivial. Listen to peterm above, he's
                           basically right. Oh, and another thing -- the class
                           of all poly-time code comparisons is way too huge and
                           it should be relatively trivial to prove that not
                           only is it not "easy" to defeat a random sample of N
                           poly-time tests if you don't know which ones they are
                           using, but it's probably complete for BPEXP or
                           something equally intractable. -alexf
                           generated, human-readable code.  further, it is
                           likely one would need to convert to an abstract
                           normal-form that is easily compared to check
                           the N-way cheating problem efficiently.
                        \_ What 172 fails to mention is the practical
                           inapplicability of most of these results. There are a
                           LOT of heuristics out there, and even if you CAN
                           cheat a finite-dimensional analysis of
                           infinite-dimensional spectra, it's extremely
                           difficult to do so if you don't know which dimensions
                           they are looking at. While MOSS may not be all that
                           great, it's presumably non-trivial. Listen to peterm
                           above, he's basically right. Oh, and another thing --
                           the class of all poly-time code comparisons is way
                           too huge and it should be relatively trivial to prove
                           that not only is it not "easy" to defeat a random
                           sample of N poly-time tests if you don't know which
                           ones they are using, but it's probably complete for
                           BPEXP or something equally intractable. -alexf
                        \_ What emin means to say is, "The cheat program is a
                           crock of shit.  It's just a slightly improved
                           version of 'diff' so don't let it bug-a-boo you."
                           They've been talking about their mythical anti-cheat
                           program for years but I've turned in tons of out
                           right stolen code with no changes and got good
                           grades.
                           \_ you are a hollow man.  You also are lucky:
                              the methods described above are capable of
                              catching THAT.  Your empty mind will betray
                              you when you meet real challenges, and
                              your luck will fail.
                              \_ Luck?  I grabeed shit off the printer and out
                                 the trash, retyped, turned in.  A.  Did it
                                 plenty of times.  I could do the work, I just
                                 didn't feel like wasting my time on it.  I
                                 went drinking and got laid.  What were you
                                 doing in the lab all night?
                                 \_ Uh huh, and if you'd been caught, you'd
                                    be expelled and getting your
                                    degree from DeVry.  Luck.  And lazy-ass
                                    readers/Profs.
                                         \_ Unfortunately, the way the
                                            work structure operates, you
                                            can cheat your way through
                                            the cs program at Berkeley
                                            and yet get by in the real
                                            world with at least a $50K
                                            salary or even better.  I opted
                                            to get out rather than live
                                            the lie.  Some people don't
                                            have those compunctions, but
                                            who knows?  Maybe they'll get
                                            what's coming to them, and maybe
                                            they won't.
                                    \_ People have gotten caught cheating
                                       but they didnt get expelled. it's
                                       usually a big empty threat.
                                       \_ depends on what they're caught
                                          cheating on, and how many past
                                          offenses they've had.
                                          \_ Yes, of course the worst
                                             offenders get booted. I did
                                             not say nobody gets expelled
                                             but usually it's a big
                                             empty threat. MOST cheaters
                                             do not even get an F for
                                 it.
                                             the course. This is far
                                             different from being exiled
                                             to DeVry for being caught.
                        \_ and would this obfuscator be able to produce
                           human-readable code?  if a person spent even a
                           small amount of time looking at it, wouldn't it be
                           pretty apparent that the variable and function
                           names make no sense? (I guess the obfuscator
                           could use a thesaurus and randomly pick synonyms,
                           but I doubt that'd produce reasonably
                           intelligible results either.)
                           \_ This requires that someone actually look at
                              the code.  Lazy readers and profs permitted the
                              cheater above to get by.  No cheat-detection
                              method has a chance of working if it is not
                              applied, the common case, I imagine. -PeterM
                              \_ obviously, but I meant that machine-obfuscated
                                 code should be pretty easy to recognize, even
                                 if a reader only spends a minute looking at
                                 it.  Is a minute too much to ask for?
                                 (rhetorical question; I know the answer is
                                 "yes".)
2000/11/16-17 [Computer/SW/Languages/Perl, Computer/SW/Languages/Functional] UID:19806 Activity:high
11/16   I have two arrays a1 and a2 and I need to create an array a3
        that contains all the elements in a2 that are not in a1. I'm
        doing this by removing elements in a2 that are in a1, but this
        is an operation of nm complexity (where n is number of elems in
        a1 and m is number of elems in a2), is there a better way to
        do this? - not a cs geek
        \_ are the arrays sorted?  can they be? (becomes (m+n) lg m problem)
           \_ I could sort the arrays, but the contents are
              strings, so I'm not sure what difference it
              would make.
        \_ This is a O(size(a1) + size(a2)) operation.
           Create a hashtable.  Go through a1, and hash the elements.  Now go
           through a2, and insert an element into a3 if it is not in the
           hashtable.  This is an entry level coder interview question. -- ilyas
           \_ I see. Thanks.
           \_ can you give me an example of a suitable hash function?  Thx.
              \_ google.  Here is the first result of my search:
                 http://burtleburtle.net/bob/hash/doobs.html
                 \_ this is confusing.  can you give me a clear example,
                    pls?  Thanks.
                    \_ Train harder, grasshopper.
                       \_ Someone said this was an interview question.
                          Is there a simple enough solution that you
                          can write out for the interview?
                          \_ There is, but I will not write it out for you.
                             Firstly, because most interviewers are interested
                             in an algorithm, not an implementation, and
                             secondly because you are lazy, and I have no
                             desire to do your work for you
                             \_ I'm still confused as to why hashing
                                is the solution.  What if your
                                array values were int's?  Is hashing
                                still better?  By the way, you need to
                                be less presumptuous, among other things.
                                \_ I don't think I am presumptuous.  I think
                                   I am being very polite, patient and helpful.
                                   You, on the other hand, are acting like an
                                   immature, impatient, ungrateful, lazy prick.
                                   For your information, one can come up with
                                   'reasonable' hashing functions for arbitrary
                                   data structures (java does something like
                                   that).
                                \_ You're getting free advice, you should
                                   be thankful you've gotten this much
                                   information. -someone else
                                   \_ There is something wrong with you.
                                      Do not think because you give
                                      free advice that you can be
                                      an asshole at the same time.
                                     \_ yer the asshole who said I was
                                        presumptuous.  -someone else #2
                        \_ I hate ungrateful dumbasses who think that
                           people owe him an answer.
        \_ The answer is on the WWW. Look it up.
           \_ found it on google. Its in the perlfaq.
        \_
(defun find-common (a1 a2)
  (mapcar (lambda (elm1) (setf (symbol-plist elm1)
                               (cons 'marked (symbol-plist elm1))))
          a1)
  (prog1
      (mapcan (lambda (elm2)
                (if (eq (car (symbol-plist elm2)) 'marked)
                    (list elm2)))
              a2)
      (mapcar (lambda (elm1) (setf (symbol-plist elm1)
                                  (cdr (symbol-plist elm1))))
              a1)
      ))
2000/10/25-26 [Computer/SW/Apps, Computer/SW/Languages/Functional] UID:19564 Activity:high
10/25   Here is an interesting article about s/w. It goes against
        the typical silicon valley s/w mentality, and even some of
        the anti-female sentiment often shown on this motd:
        http://www.fastcompany.com/online/06/writestuff.html
        \_ "Yet everyone complains how bad software is, with all the
           defects." Everyone? I personally think that software quality
           has increased in the past 20 years. Look at the accomplishment
           we've made with OS, application, database, network, etc.
           \_ Okay: M$ Win*, M$ Excel/Word/PowerPoint, M$ Access/FoxPro,
              M$ TCP/IP & IE, etc.
              Things have become much worse.
        \_ "something wrong with the way its being written"
           If only writers had some process of their own.
        \_ You don't want to know how much this software probably costs.
           When there's no profit on the line then things are typically
           done well/right. Most software companies aren't about good
           software but about (duh) making a profit. --dim
           \_ And most software companies also have competitors, both for
              customers and for funding.
        \_ Yes, we're all familiar with slashdot, thanks.
        \_ I worked at NASA and yes there are people that write good
           code there but there is little innovation. The reason that
           it is reliable is because each change or improvement or
           idea has to get approved by ~ 50 people (and most ideas don't
           make it through the process). The atmosphere does appeal to
           a lot of mothers (mine included, AI research @ Ames 13 yrs)
           though. They like the slow non-aggressive work enviroment.
           Also efficiency isn't a top priority, many programs make
           the worst possible use of resources in order to ensure max.
           reliability. And this doesn't change even when you point out
           that the same thing can be done faster with equal reliability,
           because it would be "dangerous" to change it (the reality is
           that it would mean that some people would have to do work,
           which is avoided at all costs).
           \_ 1) resources aren't important.  In a situation like this
                 correctness is everything.  Resources are pretty damn
                 cheap.
                 \_ You are wrong. Resources on the shuttle are exteremely
                    expensive. You can't just launch the latest 2GHz PV
                    Q3A/UT FRK proc into orbit. The computer systems on
                    the shuttle are quite slow and every cycle on them
                    is precious. If you can do something faster then it
                    worth doing, esp. if it is provable safe. Improvements
                    in operational efficiency translate to longer cheaper
                    missions. Ultimately someone has to pay for this and
                    that is the US tax payer, if this thing gets too damn
                    expensive it will stop flying, regardless of all that
                    science is great and wonderful and should be done
                    regarless of the cost bs that you see on Star Trek.
              2) if it works and is BugFree(tm) them changing it IS
                 dangerous.  It means you have to go make sure there are
                 no problems with the code and change it in the painstaking
                 process you described before (which yes may be painful
                 for someone used to coding in a more freeform style, but
                 let's face it, it does work for what they want).
                 \_ The problem is not that it is dangerous to change
                    and test it, the problem is that beuracrats don't
                    like change because that means they have to do work
                    and they hate doing work. Nasa is run by inertia,
                    a body at rest remains at rest unless otherwise
                    compelled by an external force. And that external
                    force needs to be pretty damn strong. The reason
                    that there are so many women there is that they
                    like the fact that most of the time there is nothing
                    to do and when asked to do something they can just
                    say that it would take too long.
                    \_ It's all about risk versus gain. Change for the
                       sake of change is not wise in such an environment.
                       Further, even the smallest change can be *very*
                       expensive considering all the testing and validation
                       that must be redone. When there's sometimes code
                       that's been around for 30 years and consists of
                       millions of lines you can see why people are loathe
        \_ It's a four-year old article.
                       to change it unless there are requirements to do
                       so. It's not sloth. --dim
                       \_ @ Ames its sloth. I routinely got, yeah we could
                          change it or we could fix it, but I don't feel
                          like it, I just want to surf the web and go home.
                          We could maybe do it next month.
                          \_ change it != fix it != optimize it
                             \_ In the context of the code I was dealing
                                with change|fix == optimize, basically
                                most of the stuff ran slow and no one
                                wanted to even clean it up, because that
                                would get in the way of putting in a solid
                                7 hrs (they always take min 1 hr lunch) of
                                playing solitare or bz or web surfing.
           The people described in this article probably also write in
           ADA.
           \_ until recently (not sure how the advent of RTOS's affect this)
              all FAA certified software for ATC was exclusively hand coded
              and verfied assembly code.
              \_ At Nasa, the shuttle guys were ADA, the aeronautics guys
                 were FORTRAN and the AI guys were Lisp.
                 \_its amazing the thing ever got off the ground.
                   \_ well it was only 10 yrs late and over budget.
        \_ It's a four-year-old article.
2000/8/22-23 [Computer/SW/Languages/Functional, Computer/SW/Languages/Java] UID:19058 Activity:high 62%like:19071
8/21    Wanna teach programming language to my cousin (10 year old). Should
        I teach LISP or Java first? Also, is it advisable to teach more than
        one language at a time?
        \_ http://www.toontalk.com  -mogul
        \_ Get a Mac, have 'em try HyperCard. When they get bored with that,
           Pascal. I tried this, and it was fun -brg
           \_ I would say the cool stuff for 10 yr olds is Perl cgi. They
              can write stuff that other people can look at over the web.
                \_ I concur.  -tom
                   \_ i VIOLENTLY DISAGREE. There is enoguh disgusting
                      perl out there, without another 10yearold with
                      no programming experience adding to the mess.
                      Teach them how to program PROPERLY first.
                      \_ i VIOLENTLY ABSTAIN.
                      \_ Teach a 10 yr old to enjoy programming and
                         they will learn good programming over the
                         course of a career.
                         \_ Which is why there's so much crap code out there
                            right now.  No.  You're wrong.  Programming
                            properly requires discipline and being told how.
                            You don't magically become good at something just
                            because you like it and do it for money.
              \_ Don't confuse what's "formally" there with what the language was
                 built for. If you think the CLOS is intuitive to the average
                 10-year-old (relative to Java, that is), you need serious help.
                 All alternatives to CLOS that I've seen are no better. Think
                 Intuitiveness.
                            \_ I did it for the sex appeal, and have since
                               become a great programmer. (Only the elegance
                               of my code can now approach my attractiveness.)
           \_ I agree with brg on this one.  A great many of the people I
              know that have a love of computer science started with HyperCard.
              I've also seen a correlation between having clue now, and using
              HyperCard when young.  Obviously I'm not implying that HyperCard
              bestows clue and a love of CS.  More likely, it offers a fun
              love of computer science as a discipline
              way for people to learn a programming mindset. -dans
                 \_ Interesting observation, I started with hypercard and
                    I love CS. Before HC I had done logo and basic though.
                    The other possibilitiy is that I decided on CS since
                    my mom was CS also.
              \_ Shut up, dans.  You are an idiot.  Go away.  You are not
                 qualified to give advise on sneezing, let alone computer
                 science.
                 \_ Sod off.  And sign yer posts. -dans
        \_ learn a programming mindset in a fun
           love of computer science as a discipline [motd formatting god]
        \_ Python or pascal.
           \_ Lemme explain about python:  python is scripting
              (immediate feedback, no compile) very clean of syntax,
              and very powerful.  Its only annoyance is that it requires
              proper whitespacing, but it's good to learn proper indenting in
              a first language anyway.  If you don't know python, learn it
              THEN teach it to your cousin.
              \_ Python is Perl's poor cousin. Python is still longing
                 to be what Perl was back in version 3.0
                 \_ But it does *look* nicer on a printed page.  :-)
        \_ korn shell
           I'm NOT KIDDING!!! It's simple to start, but has a LOT of
           features. Functions, vars, lots of optional odd tricks.
           \_ David Korn is a prick, I refuse to use his shell. Either
              Bourne shell or BASH.
              \_ so is RMS. So do you refuse to use gcc, emacs, or any
                 other of his stuff?
                 \_ RMS isn't as much of a prick as DK. DK's great
                    contribution was /bin/ksh and he goes around
                    like he invented computing (just like Al Bore
                    invented the internet). Without K&R,SRB,KT,BJ
                    DK wouldn't have amounted to a hill of beans.
                    The other thing is that he's also in bed with
                    M$.
                        \_ So what?  If the technology is good, use it.  Do
                           you not surf websites backed by Oracle because Larry
                           Ellison is a prick too?  You're being an idiot.
                           \_ I don't use ksh mostly because there are just
                              so many other better alternatives. The fact
                              that DK is a prick doesn't make me want to
                              use it either.
                              \_ name 3, "so many others".
                                 Perl is great if you want to
                                 access a database or do network stuff,
                                 but otherwise it's mostly overkill.
                                 \_ Bourne Shell, BASH, Perl, Awk, Sed,
                                    C, C++, TCL/TK, Java, Fortran, PL/1,
                                    ALGOL, Basic, even DOSHELL! Ksh is
                                    just a copy of SRB and BJ's work.
        \_ Java is probably better; LISP may be best for a CS student to start
           from, but it doesn't yield "pretty" results immediately. OOP has
           a more tangible link to the real world (ie "objects and their
           interaction"). More than one language at a time should be absolutely
           out of the question. You will confuse the fuck out him/her.
           \_ LISP is object oriented, and in fact had objects before Java.
              At any rate, most modern languages provide a way to program with
              objects or object like entities (with the only 2 notable
              exceptions being C, which is too low level to have objects as
              anything else but gobs of memory, and prolog, which can be
              used to implement any object system of your choice trivially).
              \_ Don't confuse what's "formally" there with what the language
                 was built for. If you think the CLOS is intuitive to the
                 average 10-year-old (relative to Java, that is), you need
                 serious help.  All alternatives to CLOS that I've seen are
                 no better. Think Intuitiveness.
                 \_ C-like syntax isn't intuitive.  In actuality, scheme's
                    syntax is far cleaner, and CLOS is a far better object
                    system than java's if for no other reason than because
                    classes are first class objects themselves.  Want to teach
                    java's alternative (reflection) to a newbie?  And drop this
                    lecturing tone, you haven't gotten enough clue to assume it
                    yet.
                    \_ Listen buddy. I've probably taught Java to more
                       10-year-olds than you've met in your life. And I've
                       tried the alternatives. If you don't believe what I am
                       saying, go find a sample of a few 10-year-olds and see
                       how you fare with your lisp fantasies. I have the utmost
                       respect for {lisp,scheme,yermom}, but none of them are
                       suitable for 10-year-olds.
                       \_ Which alternatives have you tried?  See, friend,
                          you are something people in the know like to call
                          'Java-drone.'  Would you like to guess why?
                          \_ Read first before spewing garbage. I don't
                             endorse Java as The Best And Last Real Programming
                             Language. As a matter of fact, I think little to
                             none commercial-grade code should be in Java.
                             Getting 10-year-olds interested is an entirely
                             different story. As for the alternatives --
                             I've tried Scheme, C, BASIC several times, and
                             perl, lisp, linkway (bad hypercard clone),
                             turing, and some obscure ancient shit you've
                             never heard of a couple of times
              \_ What about my favorite language, assembly? *ducks*
                 \_ i learned to program in 6502 assembler when i was 10.
                    \_ m68k assembler @ age 12.
                        \_ 4004 at age 17.
                           \_ eniac circuit codes at age 5
                              \_ babbage gears @ age 4
                                 \_ trained the wet-nurse @ age 6 mos.
        \_ I think alot of people in our CS dept (well... at least Harvey
           and Clancy) would say to teach Logo with the intention of quickly
           transitioning to something more practical. I think Java would be
           a good start in that it is really powerful with all the hard stuff
           abstracted away... and thus can yield some rewarding results for
           a 10-year-old failry quickly.
           \_ If you want to hook someone on programming, you really cant
              beat "Hey, I make make funny colored shapes in 30 seconds".
              Logo rules for bringing them in.
              (then when they're hooked, we move them up to the heavier
               stuff. And THEN we start ch... Ummmm.. forget that last bit)
        \_ I'd suggest teaching Smalltalk. That's what it was made for,
           after all.
                \_ So what?  Doesn't mean it's any good for that.
                   \_ But it actually was a good teaching language. Supposedly
                      they were getting 9-12 year olds programming things like
                      paint programs pretty quickly with Smalltalk.
        \_ The first language I learned to program in was BASIC.  Even
           though I liked programming, BASIC was annoying because there
           were lots of strange syntax rules you had to remember.  Based
           on this experience I would recommend starting with a language
           that has a simple, clean, and consistent syntax.  LISP and Tcl
           are 2 good examples.  I've never used python, but I suspect that
           the idea of using white space to indicate scope is the kind of
           thing that would scar a young programmer for life.  As for C, C++
           and Java, all I can say is that if decent programmers find things
           like x <<= y ^ *x++ && 0x32 hard to undrstand, think how a kid
           would feel.  Good luck, and let us know how things go.  -emin
           \_ if you code like that that's YER fucking problem
2000/7/13-14 [Computer/SW/Languages/JavaScript, Computer/SW/Languages/Functional] UID:18656 Activity:high
7/12    dans startup got funded.
        \_ so was pixelon. so?
           \_ but we're much hipper and sexier than they are.
        \_ cool.  is he looking for a ceo?
           \_ ksinger is the ceo.
           \_ http://www.adjectivity.com - apparently they're doing cell
              phone shit, too.
        \_ infoP(lease)
           \_ http://www.adjectivity.com -
              \_ From the Web site:
                 "They believed that consumer software, long been (sic) a
                  hostage of computer scientists, needed to be designed by
                  consumers themselves. Setting a course that would eventually
                  lead to the creation of Project Voyager, the founders formed
                  Adjectivity Corporation to guide the project to market."

                So what are they saying? That they invented the focus group
                and user testing as part of their heroic drive to PROJECT
                VOYAGER? Or that software *really* needs to be written by Joe
                Six-Pack using Javascript or Visual Basic for Word (languages
                for the "common man"), rather than by crusty old bald guys
                like bh, hacking away with Common Lisp in their ivory towers?
                \_ i think it mean that computers aren't for just a bunch
                   of lame ass, 4 eyed, nerds anymore.
                        \_ Like that'll ever happen when most people have
                           trouble with the TV remote or the 2x/4x switch in
                           their SUV.
        \_ when is it going to IPO?
                \_ Donate stock to the csua!   -John
                   \_ It will be a good tax-writeoff for the csua
2000/7/5 [Computer/SW/Languages/Functional] UID:18590 Activity:very high
7/5     "my other car is a cdr" -bumper sticker
        \_ dork.
        \_ This is unfunny whether or not you understand it.
           \_ This is unfunny whether or not you understand it.
        \_ is this some scheme joke?  please explain
                \_ in scheme/lisp, think "car" and "cdr".
2000/7/3-4 [Computer/HW/Memory, Computer/SW/Languages/Functional] UID:18580 Activity:insanely high
7/3     Is it possible to derive a mathematical or logical proof which shows
        that, given a set of computations to perform, an instruction set
        consisting of only push/pop instructions (1 register) requires less
        memory footprint than that of a general purpose registered machine?
        \_ java troll, go away
        \_ Wow.  Berkeley is graduating idiots like this?
                \_ hot market + idiot programmers = old news
                \_ awww, cut the kid some slack -- ignorance != stupidity.
                   just chalk it up to being naive, inexperienced, and
                   enthusiastic.
        \_Would someone please explain exactly what the poster is asking, and
          why it's ridiculous?  What does it have to do w/ java?
                \_ cs152+252 would help
                   \_ cs164 talked about it a little
                \_ More like who cares?  Memory footprint ceased being deeply
                   meaningful after BG chewed on those "more 640k" words.  RAM
                   is cheap and other kinds of higher density storage are
                   always in the works.  Don't bother me kid.
                \_ just like soda to call someone stupid, then not be able
                   to answer (ooh, I'm too busy to answer, but have plenty of
                   time to carp). ehe.
                   \_ Didn't say you're stupid.  Said it isn't important.
        \_ i dare you to to write a loop using push/pop.
           \_ (define (loopy numtimes doit result)
                  (if (= numtimes 0)
                      result
                      (loopy (1- numtimes)
                             (cons (doit numtimes) result))))
                ITERATION = RECURSION = stacks (with push = cons)
                \_ NO!  With the assembly push/pop instructions.  Not LISP
                   _simulating_ push/pop.  You don't get "cons" and if/then
                   tests in a push/pop-only instruction set.  Read the test
                   question fully before answering.  Grade: F.
        \_ I think the guy who invented Forth wrote a whole book about when
        stack architectures are better that general purpose RISC and I read
        it online, but I don't have the URL anymore.    -muchandr
        \_ Found it. I ment this guy really:
        http://www.cs.cmu.edu/~koopman/stack_computers
        For example section 7.2.3 deals with rule-based systems being faster.
        Another good page http://www.ptsc.com/psc1000/mpu.html has an example
        on how you can do better because of better instruction bandwidth of
        8-bit zero-operand instructions
                                        -muchandr
                \_ dude, heavy computer science! The poster isn't as clueless
                   as I thought.
2000/5/19-21 [Computer/SW/Languages/Functional] UID:18299 Activity:high
5/18    When people on the motd keep saying FoodP or ClueP, etc., what are
        they refering to with that P suffix?
        \_ predicate
        \_ it comes from a MAGICAL and archaic anguage that those in the
           know refer to as LISP, because noone really knows how to pronounce
           its name. Unfortunately, LISP fell out of use MANY years ago,
           before you were born.
           \_ Lisp, please, why do people think it's an acronym? - scheme junky
           \_ I am going to be interviewing the guy who presides over the
              standards committee for Common Lisp.  Anyone have any questions
              they want answered? -- ilyas
              \_ "Why?" -- bitter 188 victim
                \_ You got a problem with Lisp?  You d rather be using Java?
                \_ And stop bitching, 188 was easy.
                   \_ I got an A+ in 188 without doing shit. And the
                   \_ I got an A+ in 188 without doing sh*t. And the
                      projects were pretty decent and probably would've
                      been worse without Lisp. But Lisp was still a pain
                      in my ass. -- original poster [bitter 188 victim]
                      \_ If you can't use any language fairly interchangably,
                         you'd better reconsider your goals as a CS major.
                         \_ READ, twink. Dislike!=can't.
                                \_ *YOU* need to _READ_, twink.  Wimp boy did
                                   *not* say he could do LISP but simply
                                   didn't like it.  You're a complete and
                                   total moron.  Insulting someone else for
                                   not reading when they have and *you* have
                                   _not_ ranks really high on the total moron
                                   scale.  You get a 10 of 10.
                \_ Wimp.  You took the wrong 188 anyway.  We were language
                            \_ That's not a troll.  You were called a wimp and
                               a wuss and an incompetent and a dumbass and
                               rightly so and now you feel bad so you try to
                               give real trolls a bad name.  I know trolls and
                               you sir are no troll.
                               \_ Ladies and gentlemen. The dumbshits that
                                  exist on the motd.
                   neutral in my 188.  It was about AI, not LISP.
                   \_ I hate LISP too. -- bitter 61A victim
                   \_ I fucking hate lisp and that fucking tit-for-tats
                      project and that awful formatting project
                        -- bitter 60A victim
                      \_ If you think you were using LISP in 61A, you're more
                         of a dumbass than you think you are.
                      \_ Wuss. You must have missed the point. Or took the
                         wrong 61A. 61A wasn't about LISP, it was about
                         programming.
                         \_ I also hate people who take the troll bait.
                            --troll feeder (aka bitter 61A victim)
              \_ Yeah, I want to know wtf he was smoking.
        \_ Refer to the CSUA encyclopedia,
           http://www.csua.berkeley.edu/~appel/csua.html
           for usage history. -dans
        \_ subseq..  why the end number is the way it is...
                \- common lisp is like the deathstar. how can you hate the
                deathstar? --psb
                   \_ They blew up my homeworld!
2000/4/19-20 [Computer/SW/Languages/Misc, Computer/SW/Languages/Functional] UID:18058 Activity:nil
4/18    Does anyone remember the name of the professor and/or grad student
        that had that statistical matching program to look for copied code
        in assignments?  Can someone point me to where i might find more
        information about the program itself or the algorithm used...
        Thank you.
        \_ thought it was Prof. Tom Anderson
        \_ It's MOSS by Alex Aiken. Digital Integrity
           (<DEAD>www.digital-integrity.com<DEAD> is his startup based on the ideas of
           MOSS. They recently created http://www.findsame.com as an example of what
           they can do. Ugly interface, kind of cool technology.
                \_ Ah yes, once again tax dollars being used and abuse for
                   yet more personal gain.
        \_ see also http://www.cs.berkeley.edu/~aiken/moss.html
2000/2/24 [Consumer/PDA, Computer/SW/Languages/Functional] UID:17607 Activity:insanely high
2/23    What are the cons to getting a Handjob?
        \_ Probably a lot more disgusting than the car and the cdr
        \_ HANDSPRING, YOU ASSHOLE
        \_ the four week wait?
          \_ anyone get a hairy palm IIIc yet? --oj
          \_ anyone get a hairy palm IIIc yet?
        \_ Doesn't feel as good as oral sex or intercourse.
        \_ chafing.
        \_ None, really.  It's just the first step on the short road to having
           her anyway you want.  Don't be so short sighted.
        \_sometimes it is the only way he can make you come.  Especially
        if he finishes and pulls out in under ten minutes.....
1999/9/15 [Computer/SW/Languages/Functional] UID:16522 Activity:very high 53%like:16509 70%like:16512
9/13    I accidentally typed "mal" when I was going to run "mail".  What
        does http://www.objectshare.com/VWNC do?  --yuen
        \_ is your ADD so bad you can't do a web search for dexadrine and
           side effects?
        \_ I'm bad!
                \_ Is that before or after putting it in the microwave
        \_ i believe in the power of scheme!
        \_ Huh huh... he said, "free pussy..."
         \_ uh no.  he said free cat.  reading isn't your strong point is it?
        \_ it's just a stupid shellscript. Read it and figure it out
           \_ What? You can watch lectures on the web?
              \_ Yes, go to http://bmrc.berkeley.edu/bibs for general
        \_ i believe in the power of scheme!
        \_ Huh huh... he said, "free pussy..."
         \_ uh no.  he said free cat.  reading isn't your strong point is it?
        \_ I'd suggest PDP-6 assembly language, preferably toggled in
                 information regarding the webification of several courses.
        \_ You need to tell the computer that you definitely want
           these messages off.  "chsh -s /usr/bin/yes".
        \_ Everything in here is wrong except the bits about
           "shellscript", "read", and "does".
1999/9/14-15 [Computer/SW/Languages/Functional, Computer/SW/Languages/Web] UID:16512 Activity:very high 70%like:16522
9/13    I accidentally typed "mal" when I was going to run "mail".  What
        /csua/bin/wall y 2>&1 > /dev/null do?  Thx.  -- yuen
        \_ Huh huh... he said, "free pussy..."
         \_ uh no.  he said free cat.  reading isn't your strong point is it?
        \_ I'm bad!
              \_ He's an idiot.
        \_ i believe in the power of scheme!
        \_ "mal" = "bad" in French
               \_ I'm bad!
        \_ it's just a stupid shellscript. Read it and figure it out
           for yourself (it's harmless)
            \_ I just ran it and now I get all these broadcast messages on
               my screen.  How do I un-do mal?  I realize my mesg is y, but
               it was y before and I didn't get any broadcast message.  -- yuen
        \_ what does:
                /csua/bin/wall y 2>&1 > /dev/null
           do wrt redirection of output?
        \_ They should first learn Visual Basic, and then move onto ASP,
           interested (or annoyed), then she can pick some fundamentals which
           and Visual C++.
        \_ dri and dir should also be shell commands...
        \_ I'm bad!
        \_ it's just a stupid shellscript. Read it and figure it out
           for yourself (it's harmless)
               |_ type mesg n, wallall -n
               \_ To undo "mal":  Logout.  Never log back in.
               \_ man wallall
        \_ You need to tell the computer that you definitely want
           these messages off.  "chsh -s /usr/bin/yes".
1999/8/17-18 [Computer/SW/Languages/Functional] UID:16331 Activity:moderate
8/17    Having forgotten all my LISP, how do I evaluate multiple LISP
        expresstions if a condition is true?  ie. Something similar to this
        in C: "if (a == 1) { fn1(arg1); fn2(arg2); fn3(arg3) }"
        \_ (if (= a 1)
              (define results (list (fn1 arg1) (fn2 arg2) (fn3 arg3)))
              (define results #f))
           that will give you a list of your results (or just run the
           functions for you [you can trash the list]).  If a is not 1
           then it will give you #f as your results.  Note: This will work,
           but it is not in the normal style of LISP, everything should
           call everything else.
        \_ what flavor of lisp?  in scheme there is (begin <expr> <expr> ...)
           which evaluates all expressions in order for side-effects and
           evaluates to the value of the final expression.
           \_ elisp in emacs19.34.1.  Thx.
        \_ a.)
            (cond
             ((eq a 1)
              (fn1 arg1)
              (fn2 arg2)))
           b.)
            (when (eq a 1)
              (fn1 arg1)
              (fn2 arg2))
           c.)
            (if (eq a 1)
               (block nil
                 (fn1 arg1)
                 (fn2 arg2)))
             -- ilyas
1999/8/3-5 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Languages/Functional] UID:16238 Activity:very high
8/3     What do people think about STL (Standard Template Library) for C++?
        I used it recently and it looks pretty cool.  -emin
        \_ STL is a good advance in terms of API, but the implementations
           will need a while to mature to avoid foiling compiler
           optimizations.  This will come soon from KAI, Sun, et al. -mel
        \_ for more docs try:
           http://www.sgi.com/Technology/STL
           --jeff
        \_ for Java "port", see http://www.objectspace.com/jgl and forget all about
                them java.util collection classes       --petr
        \_ It's pretty convenient.
        \_ I think it tends to be arcane. (And I'm a Unix bigot, so I have
           a high tolerance for arcana.) Having a copy of the C++ standard
           handy helps. Failing that, Stroustrup is your friend, sort of.
           -brg
        \_ In my humble opinion if there is a real need to use templates
           for what you need to do, Lisp may be a better language than
           C++.  -- ilyas
           \_!!! You're kidding, right?  A good portion of the reason
             for using templates is for inlining code while providing
             \_ huh? inlining code?  stl has nothing to do with inlining.
                \_ Try again.  It has *a lot* to do with inlining.  That
                   is what your functors do when you pass them to
                   classes like map, priority_list, etc.
             \_ Even with STL, C++ is much much harder to write and maintain
             than Lisp.  Furthermore, there is little evidence that
             explicit memory management outperforms a good garbage collector
             receiving hints from the programmer (something Lisp allows and
             encourages). -- ilyas
                   \_ The STL is about not having to write general-purpose
                      code any more.  Efficiency is a requirement, not the
                      goal.
                      \_ My point is that we've had things like qsort()
                         in the standard library for a while, but you
                         had to pass a function pointer.   That meant a
                         function call for every compare.  Inlining the
                         code makes a *huge* difference.
             flexibility.  I don't need or want the overhead of a
             garbage collector and closures.
             \_ Even with STL, C++ is much much harder to write and
                maintain than Lisp.  Furthermore, there is little
                evidence that explicit memory management outperforms a
                good garbage collector receiving hints from the
                programmer (something Lisp allows and encourages). -- ilyas
                \_ "C++ is much harder to write and maintain than Lisp"?
                   Please list your sources for this ridiculous
                   assertion.
                   \_ This is not an academic point, but a practical one.
                   In practice, me and many of my friends and coworkers
                   found the assertion to be true.  If it is not true for you
                   I would be happy to know why. -- ilyas
             \_ ilyas loses THREE POINTS. -1: One of the biggest benefits of
                templates is typesafe containers. LISP does not have type
                safety at all. LISP can't compete.
                -1: Large LISP programs are MUCH harder to maintain than
                c++ programs.  -ali.
                \_ Given two programs of equal size (down to a line), a
                   Lisp program will probably have a LOT more
                   functionality than a C++ program due to Lisp's
                   inherent terseness.  I don't see a single thing that
                   will make C++ easier to maintain in the long run.
                   Not only will a given amount of C++ code express a
                   lot less than the same amount of code of Lisp, but
                   the C++ maintaner is forced to cope with bugs on two
                   fronts -- memory and logic, whereas a Lisp programmer
                   only needs to worry about logic.  Strict type safety
                   can be easily implemented in LISP using CLOS methods,
                   if the programmer wants it. -- ilyas
                \_ The industry didn't side with typed languages like
                   C++ and Java over Lisp/Scheme on a whim.  They did
                   it because the C++ projects were getting done on time
                   and on budget and the Lisp programs weren't.  That's
                   why Lisp has been consigned to academia and think tanks
                   while C++ programmers have jobs. -mel

                   \_ This may be the case, although I certainly wouldn't
                      say industry sides with things for a good technical reason.
                      Witness clueless executives gather around NT like scared
                      cubs around their dead lioness mother.  I don't know if
                      anyone actually did a rigorous in-depth study of software
                      development times across languages.  It may be that Lisp
                      is consigned to Academia and think tanks, but remember that
                      this is generally where the best and the brightest make
                      their living. -- ilyas

                \_ This is much like English vs. Spanish.  People often
                   claim that Spanish is much more consistent and simpler
                   than English hence better.  The problem with LISP is that
                   although simple and consistent, it's too simple and
                   consistent making it visually difficult to distinguish
                   different constructs and mechanisms easily (too many
                   parens and no type declarations).  You can argue that
                   declarations are a bad part of language but on a large
                   scale they tend to help a lot whereas languages lke LISP
                   and LOGO or acceptable for grade school pedagogy uses.
                   \_ Declarations, type safety and private data members
                      are useful features of a language, but they tend
                      to be used as crutches by programmers who are not
                      careful.  Which language looks visually more
                      intuitive is a very subjective thing.  Moreover,
                      one shouldn't need a type declaration to be able
                      \_ I find type declarations very useful for various
                         reasons.  It's ability to restrict space and
                         functionality of a variable helps increase it's
                         compactness and computational efficiency.  Plus,
                         I don't mind having an explicit reminder of what
                         type something is.  The alternative is to use
                         \_ I am saying that often these features are not
                         as necessary for programming as people say, and often
                         may be more trouble than they are worth.  In
                         particular, static typing is often a cludgy,
                         complicated affair that really only tells the
                         programmer that he can't stick a round peg in a square
                         hole (something he ought to know anyways if he put
                         sufficient thought into design).  Btw,
                         ad hominem has no place in a mature discussion.
                         -- ilyas

                         the Hungarian notation and I would rather declare
                         types any day over using the Hungarian notation.

                         \_ Hungarian notation is just one convention, and
                         a rather cludgy one at that.  Also, if you remember,
                         this convention is mainly used in languages with
                         explicit types like C++ and Visual Basic -- if type
                         declarations were as helpful as some people say the
                         convention wouldn't need to be used in such languages.
                         Furthermore, it is not true that a language with
                         static typing has to have type declarations, remember
                         ML?
                         And it is not true that a language with dynamic types
                         has to be inefficient.  Good programming practices and
                         a good compiler will make sure that most things you
                         care about, such as arithmetic, will be fast. -- ilyas

                      to distinguish variables, else one doesn't know
                      how to name variables correctly.  That Lisp is a
                      pedagogy language is a serious misconception.  --ilyas
                      \_ "tend to be used"?  You're saying that because
                         some features are used by bad programmers in
                         the wrong way the language is flawed?  Please
                         crawl back under the hole you came out of.
                         \_ I am saying that often these features are
                            not as necessary for programming as people
                            say, and often may be more trouble than they
                            are worth.  In particular, static typing is
                            often a cludgy, complicated affair that
                            really only tells the programmer that he
                            can't stick a round peg in a square hole
                            (something he ought to know anyways if he
                            put sufficient thought into design).  Btw,
                            ad hominem has no place in a mature
                            discussion.  -- ilyas
                            \_ Neither do baseless assertions belong.
                               Go away.

                \_ That's only TWO POINTS.  You owe ilyas a point,
                   bitch.
                        \_ Everyone loses a point for taking part.
                \_ Static typing is not especially useful.  It requires
                   a lot of work for very little benefit.
1999/3/2-10 [Computer/SW/Languages/Perl, Computer/SW/OS/FreeBSD, Computer/SW/Languages/Functional] UID:15517 Activity:nil
3/2     motd restored.  I find it odd that people bother nuking it
        given how obvious it is that so many others save it.
        \_ Please restore the fetish stuff.
           \_ By popular request:

      Hillary Clinton & Monica
      Lewinsky con dildos de
      "strap-on"              535
      TOM!                    999999999
      latinas lesbianas con
      dildos de "strap-on"    534
      asian                   10
      \_ subset: korean       2
      \_ subset: fobs         1
      \_ subset: japanese
                 schoolgirls  3
                 \_ Wearing
                    Sailor
                    Uniforms  3
                 \_ wearing a cut-off "spank me daddy"
                    t-shirt   1
      tall                    3
      talg                    1
      B&D                     5
      spanking                4
      little boys             0       -- cogan?
      little girls            4
                              \_ This almost makes me proud to be a sodan.
                                 *sniff*  -mlee
      - catholic schoolgirls  3
      - toothless             1
      barely legal            2
      illegal                 2
      petite women            2
      muchandr                2
      big tits                6
      anal                    5
       -on nweaver            1
      tentacle                1
      fetishes                4
      small rodents           2
      necrophillia            2
      crazed psychos          4
      the elderly             1
      file cabinets           1
      PDP-10s & LISP          6
      BSD driverhacks         1
      rootcows                37337
      raverporn               1
      \_ Where do you get this? I want some.
      sexual torture          3
      fat chicks             -2
      soda                    1
      perl                    2
      lila                    1
      ahm                     2
      tickling                2
      shaved pubes            3
      spinach                 3
      pics of fatties         1
      Hank AKA JSL            -20
      amputees                1
      oral                    0
      kane                    2
      danh & stump fantasies  3
      redheads                3
      mail order russian brides 0
      the Simpsons!           1
      wattle                  0
      ASTEROIDS               1,599,990 @ 2020 !!!!!!
      nuking the motd         666
1998/10/21-23 [Computer/SW/Languages/Functional] UID:14801 Activity:kinda low
10/20   Who manages emacs for soda ? I want to add something to the lisp dir.
        \_  And who are you?
                If I tell you; will you fart in my general direction
        \_ It's in /usr/local/bin, hence is managed by root.  However requests
           to add stuff to the lisp dir will most likely be answered with
           "put it in your own damn lisp dir twink"
           \_ maybe we need a /csua/lib/e-lisp added in  for something cool
              enough to be shared but not official enough to add to the real
              emacs distribution?
                \- if there isnt some really good reason to put it inthe
                site-lisp dir, people should put it in their own space.
                if you dont know what "good reasons" are, you probably cant
                make this judgement. you should of course include an ISUCK
                switch :-)  --psb
                \_ I want leim input method in the distribution
1998/6/3-5 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Languages/Functional] UID:14167 Activity:very high 66%like:14181
6/3  What are good books for teaching a ninth grader programming?
        \_ Intro to Programming for Dummies.                    -tom
        \_ cmlee, stop signing my name to your idiocy.  -tom
        \_ History of Programming: the Unsuccessful Cases.
        \_ History of Programming: the Unsuccessful Cases.-tom
        \_ _THE STRUCTURE AND INTERPRETATION OF COMPUTER PROGRAMS_!!!!!!!!!
           THEY SHOULDN'T NEED ANY OTHER PROGRAMMING BOOK BUT THIS ONE!!!!!
           BH _AND_ RICHARD FATEMAN TOLD ME THAT IT'S THE BEST COMPUTER
           SCIENCE BOOK EVER WRITTEN, SO IT MUST BE TRUE!!!!!!!!!!!!!!!!!!!
                -tom
           \_ Actually is a pretty good computer science book.  It
              might be a little advanced for a ninth grader.  I would
              let the ninth grader take a look at the book, and if s/he
              can understand it then use it.  -emin
              \_ If it is, Simply Scheme is the CS 3 book and is slower
                 paced.  PNH is/was of the opinion that the 61a curriculum
                 was too much for the typical high school CS class.  But,
                 as the end says, "Computer Science != Programming".
                        \_ What?  Is BH a communist?  Are you?
                 any particular language you were thinking of? --Jon
        \_ I just wanna program Microsoft stuff, program cool warez and
        \_ What was that book used in CS60A?
                                        -A ninth grader
           stuff and get rich ($100,000/year) like all the programmers
           out there! I wanna attend Microsoft's Summer Camp, it is cool
                                        -A ninth grader (tom)
                \_ Goto BH's summer camp instead - get to use 5-year old
                        HP's, learn scheme, and listen to lectures on why
                        capitalism is bad.
                        \_ that makes it sound as if capitalism isn't bad.
                           \_ I'd rather be a part of a capitalist society
                              than living in bh's shiny happy communist
                              future.
        \_ Computer Science Logo Style - http://www.cs/~bh
                \_ Computer Science != Programming
                    \_ On the other hand, understanding CS makes you a
                       better programmer...
                        \_ Not necessarily.  Most CS grad students have no
                           ability to write code that actually gets used.
                           \_ Whereas those REAL MEN out in the REAL WORLD
                              ALWAYS write code that's a paragon of efficiency,
                              safety, and reliability!  Ask those satisfied
                              Therac-25 customers!  I'm sure that most
                              "developers" out there have no ability to write
                              code that actually gets used (but are doing it
                              anyway).  How can being a programmer _and_
                              having CS theory clue hurt?
                                \_ Safe, efficient and reliable? No, it meets
                                   the ship deadline in a sufficiently working
                computer science --> research, development, design architecture
                                   condition.  Stock price rises.  Bonuses all.
                           \_ Programmers who do not know computer science
                              are not very useful.  Would you want to use
                              a program written by someone who never bothered
                              to learn all that high falutin' stuff about
                              big O notation, quick sort, binary trees, etc?
                              Any fool can write a program, compute science
                              is for writing a robust, fast, efficient
                              program which can be maintained and extended.
                              \_ Yeah, but in the days of M$oft bloatware,
                                program efficiency doesn't count for shit.
                                Programs are developed to optimize development
                                time.  Doesn't matter how good your code is
                                if someone else is dominating the market
                                months before your product is even done. -ERic
        \_ Programming Perl.
        \_ i remember starting out with basica and gwbasic, I think that's
           better then diving into Scheme or LISP.  maybe visual basic is
                it too is not very useful to know.  -lila
           a good start?  good luck.
           \_   you are on fucking crack.  there is no reason to learn basic.
                scheme is actually a very nice introductory language, though
                it too is not very useful to know unless you are an elite
                emacs user.  (though it brings a warm fuzzy feeling to me,
                personally.)  -lila
                \_ Does lila know less about programming or emacs?
                \_ I agree with you that scheme is a good introductory
                   language to teach computer science.  However, programming
                   in scheme requires you to think in terms of
                   "functional programming".  Most people are not used to
                   this so it might be easier to learn something else first,
                   even though scheme teaches computer science better.
                   \_ Well, uh, most people aren't used to _any_ type of
                      programming philosophy when they start programming, and
                      it's not like BASIC is intuitively easier or anything.
                      Everybody has to start somewhere, and they might as
                      well start in the right place.  I think that the only
                      reason people still recommend BASIC for anything is
                      because of their misty far-away fond memories of when
                      they were learning to hack on their Apple ][ or C-64,
                      and it was the only thing available . . . "I started
                      out this way, so you should, too."  -- kahogan
                      \_ _i_ started with scheme and bh, so you should too.
                         nyah nyah.  -lila
                        \_ So did I.  Now look at me.  It launched me
                           on an incredibly profitable career doing
                           miscellaneous computer stuff based on things
                           I learned while trying to restart my netrek
                           client, which is all I did during CS60A because
                           it was so incomprehensibly boring :)  -John
                        \_ I'm sorry.  That's a terribly way to start.  Did
                           you ever recover?      \_ shut up, cmlee.
                                \_ I want cmlee's anus.  Madly.  I love its
                                   tight puckered (slightly brown) rosebud
                                   wrinkles.  Ooh, the smell of it!
                      \_ I started with basic, then learned C, then Scheme,
                         and even though Scheme was harder than basic I got
                         more out of it than the other two combined.
        \_ I think Java is a good start to beginning programming.  It's easy
           to learn.  After that can jump right into C/C++.
           \_ Teach computer science, not programming.
                programming      --> sys admin
                computer science --> research, development, design architecture
                        \_ Sys admins don't program.  They only setup,
                            configure, and maintain systems.
                           \_ ooh you're so eleet.  I'm sure it's never
                              necessary to write a program to maintain a
                              system.
                                \_ Agree with you...but try convincing to
                                   those hiring managers who are recruiting
                                   "programmers" or "developers" if you are
                                   a sys admin.
                                   \_ As a sysadmin, I can't imagine why I'd
                                      *every* want to be a full time
                                      programmer.  The very idea baffles me.
        \_ WTF would someone want to learn to program, anyway?
           Waste of time, IMHO.
           \_ Be a slob.  Write everything in shell scripts.  Spend rest
              of time saved by not learning to program with netrek.  Cheer.
                -John
2024/12/25 [General] UID:1000 Activity:popular
12/25   
Berkeley CSUA MOTD:Computer:SW:Languages:Functional:
.