Slashdot Mirror


User: NetSettler

NetSettler's activity in the archive.

Stories
0
Comments
533
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 533

  1. The Importance of Wrist Exercise on How Effective are Ergonomic Keyboards? · · Score: 2

    I started typing when I was in 7th grade, about 30 years ago, hunt and peck. About 3 years later, I learned touch typing. I have never had good posture. It type with my wrists pressed to the tabletop, resting, and I like chairs with arms. I've been told this is bad. But I sit however I like. When I entered college, I could type about 70wpm, and I can now type about 95wpm after about 20 years. For those same 20 years, I've probably typed an average of 8-10 hours a day every day, perhaps to include weekends, without any ill effects.

    I reject any notion that posture or keyboard causes Carpal Tunnel problems, since it didn't in my case. Maybe I'm tempting fate by obseving this, but I doubt it.

    Here's what I'd like to know: How many nerds were sports jocks growing up? I'm not talking about the kind that scored medals. I bowled for many years, but was a terrible bowler. Nevertheless, it was wrist exercise. I played tetherball, volleyball, and I swam a lot. In those same years as I was learning to type, I swam 3 miles a day 3 days a week for swim team. And at the same time, in gym, the horizontal bar (pull-ups, etc.) was my favorite device. When swimming, my coaches would complain that I rarely used my legs, where they said all energy was supposed to come from, but I preferred my arms, which felt stronger than my legs.

    Now here's my guess: during the time that mattered, while I was young and still forming, I exercised whatever wrist muscle pathways in a way that formed large openings that have not been stressed from later typing. I think this is the reason I count myself immune to Carpal Tunnel problems today,when other friends have had them after much shorter times stressing.

    I'd be interested to see stats correlating wrist exercises with carpal tunnel. My theory? Being a jock at certain sports early on is what makes you a good computer person later. But, of course, we find our jocks don't get trained mentally and our computer people don't get trained physically. And so we get the worst of both worlds. I'd love to see some stats on this. Or, failing that, some examples of either people who had very strong wrists from sports having Carpal Tunnel later, or else people who did not suffer from Carpal Tunnel and yet had no sports background.

  2. Re:Let the market decide on TLD Registrar Wants To Charge $300 For .Pro Names · · Score: 2

    Why not just let the market decide?

    If people want to pay, that's fine. No one is forcing anyone to have a .pro domain.

    This problem isn't fixed at the micro level by a free market. The problem isn't even at that level. The problem is at the macro level: who makes up these stupid rules and why are they not having to compete? ICANN is sitting pretty, issuing edicts in unchecked fashion and we're just stuck dealing with the consequences.

    There are numerous problems with .pro, such as why only certain professions and not others. If I own a small country that licenses computer professionals, can I sell .pro addresses? Will computer professionals suddenly rush to be licensed in some obscure little country that starts to sell licenses just so that .pro will qualify? And what of countries that require more or less stringent requirements to get the licenses that qualify you for .pro?

    I happen to think it's a good idea Computer Science is not licensed. I don't think we as professionals have the wisdom to say who should and should not be licensed. Half the world would say you had to know Microsoft for a license, and the other half would say Linux, and in the rush no one would probably even stop to wonder whether a competent professional could legitimately exist who thought there should a third choice. But should this lack of license mean we have no professionals among us? I think not.

    It's really just a stupid, elitist domain, and the real problem is that we can't apply market pressure where we really need it. So here's my modest proposal for how to fix the real:

    Let's rename all the .us and .com domains to .us.1 and .com.1 and start over with a set of .us.2 and .com.2 and so on. And let's give it to someone other than ICANN this time. And then we'll see what "letting the market decide" really means.

    Would this be impractical for both technical and economic reasons? Probably. But, if it could be done, would it expose the real problems with today's system? I think "probably", too. But I guess you'll just have to take my word for it. Because there's no free market operating where it really counts and we're stuck just taking whatever they dish out.

  3. Parody enthusiasts unite... on Senate Bill Would Make Clandestine Video Taping Illegal · · Score: 2

    Maybe there's something I'm not understanding, but is it really true that anyone who considers themselves wholesome is forbidden from grabbing their corresponding .prn site to keep others from using it? What joy!

    drlaura.prn will be useful for everyone but Dr. Laura? disney.prn for everyone but Disney? congress.gov.prn for everyone but the US government?

    Or will this be a whole new kind of trademark problem where people are forced to vacate a domain even though no one else plans to use it?

    I can hardly wait to see them implement this, just for the fun of watching all the mess it causes when parody sites spring up everywhere. Watching them try to back out of it could be almost worth the pain of having this stupidity in place.

    Rather than a .prn domain, it's kind of sad they didn't opt for a more general domain that excludes rightful owners from using it. Like .not ... anyone for Microsoft.not ? Slashdot.not ? No, nevermind, that would get too confusing if someone tried Slashdot.not.not. Forget I suggested it.

  4. Re:How to not post a knee-jerk comment on 'Virtual' Child Porn Act Ruled Unconstitutional · · Score: 2

    Child porn disgusts me as much as the next guy, but ...

    Just look at how terrifying it has become to simply defend free speech. One can't merely say "Today was a victory for free speech." One has to say the magic phrase "I don't like child porn, but..." up front or else one fears that things have gone so far that they will somehow be annexed in the next round of expansive legislation. And meanwhile, one fears their phone will be wiretapped just for standing up and saying "I was proud of the Supreme Court today." Better instead to say "Look, I hate child porn as much as the next person, but I was proud of the Supreme Court today." Yeah, that's the ticket. Now I feel like I'm protected. Gosh, I hope I am.

    Today Ashcroft was already on TV whining about how much harder prosecution will be. Well, we live in a country where people are innocent until proven guilty. How does he even know the people he is prosecuting are guilty of anything? He apparently doesn't want to have to. But for people not yet proven guilty, he shouldn't have his job made easier. The sense is that he just knows they are guilty. He wants to just say "aw, close enough" and have the appearance of badness be badness. And with an attorney general willing to take that posture, it's little wonder that we're all prefacing our speech with "Look, I hate child porn as much as the next guy". It's like a little homage to Ashcroft saying, "it's ok, the mere fact that I speak out doesn't mean you have to tap my phone to see if I'm motivated by some sinister reason".

    Free speech never protected popular speech. Popular speech has always been protected by virtue of no one making an issue of it. Free speech is always and only about unpopular speech. And if we start to use its unpopularity as a reason for saying it's ok to trample it, what are we left with? What unpopular speech will be safe. And then what useful speech at all?

    Democracy is about discussing issues and voting for what people want. Democracy cannot survive the inability to raise an issue because it's not in the majority. No, none of us probably discussing this wants this in the majority. But that argument can be made for every unpopular topic. And it's a very slippery slope. What about legalized drugs? What about right-to-die legislation? These things have potential victims, too, yet these are issues we must be able to discuss. And, like it or not, we're moving to a community that discusses with pictures, not just words. Books have yielded to TV, text to graphics. That's the alphabet of tomorrow. If we're lucky, words will survive, but they will never again be all there is to discussion.

    Freedom and safety are sometimes at odds. Our country is founded on freedom, even once in a while at the expense of safety. Even sometimes at the expense of the safety of children. What's the point of protecting children if the world they'll grow up into isn't going to free?

    Today I was proud of the Court. I really don't much care if you think I have some secret agenda for saying this or not. (Gosh it's hard to resist the urge to say "not that I do", but I'm going to resist it...) At least for today, the right to speak freely was upheld and I don't have to defend why I think free speech is good. I guess that's the best one can hope for. Rights have to be defended day after day, or they are lost.

  5. Fairly weighing the risks on No More Unrestricted Internet At Work · · Score: 2, Insightful

    These things are often presented as if the "conservative" action is to restrict usage. But, for example, restricting access to the web means restricting instant access to the whole of the world's static knowledge store. Operating with no access to information seems a risk, too. So it isn't a choice between "risk" and "no risk", it's a choice between "one risk" and "another risk". I never seem to see it presented that way, though.

    I also don't understand the focus on racy and inflammatory stuff as the biggest risk to a company. The biggest risk to the company is not the Internet but the Intranet. It's often the case that in a single button click, one can get to the corporate secrets and with little more than a few more keystrokes one can output that info to a file and mail it to a party outside the company's walls. That risk outshines the risk of pornography in many cases.

    And, finally, a lot of this seems a scapegoat for lazy/bad management. If your employees are productively yielding what they should, what difference does it make where they are surfing. And if they are not yielding what they should, why not address that issue?

  6. Re:free vs. commercial on Who Is Liable For Software With Security Holes? · · Score: 1
    ...GPLed software truly is a gift, unless you try to modify it...

    No, I don't think it is. If it were a gift, I would own it and could do with it as I please. That's what it means to offer a gift, and that's not what GPL does. The GPL offers a provisional license of use. The GPL itself explicitly says that I have no right to use the software except if I accept the contract:

    You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works.

    It provides me with no way to accept only part of the contract. I must accept the contract as a whole.

    The contract states that running of the program is not the subject of the contract, and that running of the program is unrestricted:

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted

    But other than the contract itself, it's not obvious how you would know this. It is not the case that intellectual property is defaultly usable by another; it is that passage of confusingly written text of the GPL that makes it usable to run, as far as I can tell.

  7. Re:Liability for Software on Who Is Liable For Software With Security Holes? · · Score: 1

    What if the PDA's alarm clock was what the surgeon was relying on in order to remind him to show up at the operating room in time to save someone's life? Certainly the PDA doesn't "cause" the death, but it seems it contributed to it.

    Whether it's legally responsible is a different matter, but you can't just, by saying "it's only a calendar program", assume that lives are not involved. Some might judge it reasonable and forseeable that it would be used for this kind of purpose, and absent a disclaimer that says not to, a case might be constructed. This is not just the incidental use like McDonald's selling hot coffee to people planning to drink it while driving; alarm clocks are to be used for reminding you about things that are important not to forget. So it would seem an obvious and intended purpose unless some very visible disclaimer says otherwise.

    Personally, I'm not big on implied warranties. But they apparently do exist. And even if the warranty is explicit, it's still hard to say that if a person knows a fact, he or she knows all the implications (and therefore all the possible consequences) of that fact. The person making the calendar program may not know it will be used by surgeons, and the surgeon may not realize that programs made by human beings are sometimes fallible. There's much gray area in there. Society as a whole is wrestling with this and seems not to have come to any consistent answer.

  8. Why aren't export restrictions blamed? on Who Is Liable For Software With Security Holes? · · Score: 1

    Can someone explain why discussions like this don't immediately and as a primary feature of the discussion mention the US Government's paranoia about including strong crypto in a product as a primary reason for products not being more secure?

    The historical inability to simply bundle strong security into a product without excessively complicating either the installation process or the set of markets into which you can distribute seems to me a primary culprit in the unavailability of secure products, at least in the US and probably worldwide.

  9. Re:free vs. commercial on Who Is Liable For Software With Security Holes? · · Score: 2, Interesting
    ... You pay for commercial software, but not for free software. ... But the instant I actively charge people for this, even if it's a token amount, I become a "for hire" limosine service and am required to obey a large number of laws. Some are "on point," others seem to exist solely to eliminate competition.

    "I'm not a lawyer but..." it seems to me that the question is not just one of money, but a question of involving oneself in commerce. Businesses often swap goods instead of services; this might get them past some tax issues but I'm not sure that if money is exchanging hands elsewhere, it exempts them from certain responsibilities of "due care" nor responsibilities under contract law.

    Contract law does not discuss "money" trading hands, it deals in terms of each party offering "consideration", which is "acts of legal detriment". It sure looks to me like the use of a GPL'd product means the acceptance of a legal detriment. That is, it offers the benefits of the contract at the cost of accepting a specific legal detriment (the voluntary promise not to seek compensation for certain uses). That seems to me to make a binding contract--certainly the GPL people expect it to be enforceable on their side. As a consequence, I would say that the users of GPL'd software could easily be argued to have obtained a product not merely a gift.

    The inherent difference of being a gift is that it comes without "legal detriment", that is, without any legal responsibility to compensate for the benefit given in any way. This is exactly the "free software" vs "free beer" distinction; because free software is not free beer, it seems to me it's still open to liability concerns under the contract.

    Moreover, if I remember right, contract law is dealt with differently depending on whether one is a business or an individual. I seem to recall reading that businesses are held to a higher standard than individuals in terms of what they should understand when they enter into a contract even if the contract is not related to their particular business. That is, you may make toilet seats, but if you give away free software under a GPL license, you are expected to have a "business" level of understanding of the implications of writing a contract, not that of a simple individual. And that may, for all I know, open you to more liability. I'm not up on liability law at all, so am going on the basis of guesses on that point. But the bottom line is that it seems to me prudent not to conclude that one is automatically free and clear of responsibility just because money is not changing hands, and especially if money is changing hands elsewhere but just not in the case where the software exchange is occurring.

    But that's just me. And, as I said, I'm not a lawyer. Perhaps one will use the opportunity of my remarks here as an excuse to comment in more detail on these matters, or to set me straight if I've made some material gaff based only on my casual listening to study tapes for law school final exams as entertainment listening while driving around in my car...

  10. What an amazing deal for Microsoft on Microsoft Antitrust Update · · Score: 2, Insightful

    ... Under the terms of the settlement plan, Microsoft agreed to provide cash, computers and software it values at more than $1 billion to public schools that poor children attend. ...

    Filling our kids' classrooms with visible reminders of a company is no way to correct a monopoly any more than it's a way to keep kids from smoking.

    Imagine if the tobacco companies had been allowed to settle by saying "we'll put a bunch of stuff we know you can't afford and desperately need into your schools, with our logos highly visible to impressionable young children who will grow up highly inclined to become our next generation of customers ... in exchange for being let off."

  11. Re:Ask Slashdot? on Wil Wheaton playing for EFF · · Score: 0, Offtopic

    Re: How the [...] does this qualify for "ask slashdot"? Ask implies a question.

    Sounds like a question you want to--er,--ask Slashdot. I guess they were just thinking ahead...

  12. Re:Helping your neighbor on Stallman Responds To GNOME Questionaire · · Score: 1

    Re: Stallman is a manipulator

    On this point I would personally disagree. I called him selfish (an observation about motive) but I would not call him manipulative (an observation about tactic). To me, "manipulation" connotes subtle actions taken in secret. I'd put him more in the public and blunt category. Not high on some people's desirability scale, I guess, but much higher on mine than manipulative.

  13. Re:Helping your neighbor on Stallman Responds To GNOME Questionaire · · Score: 1

    This remark on my part might ordinarily seem off-topic, but the credential of my previous remark was challenged so I feel I need to add some defense. This will be my only response on the matter of credential.

    I have spoken to him on this matter at length, just not recently. I was at the MIT AI Lab when he was there, and am well familiar with him personally, even if you could not call us friends. He called my house on the phone once to berate me once because I had created a document that was being distributed free of charge but not free-like-he-likes and he was annoyed. I tried to make a case that my document could not have been made available free-like-he-likes, and that the distribution mode I had created was the best that could be done under the circumstances. I said that I thought that it benefited the world just fine as it was, and that it was better than my not doing it. He disagreed and told me flat out that his interest was not in benefiting the world, but in having something that he personally could use. He told me exactly what I said before, that benefiting the world was of no value to him because it was full of people he didn't care to benefit. He would rather it have benefited fewer people and have those be the people who agree with him, and in particular he was irritated that he personally couldn't use it and would have to duplicate my effort to make something to use. It seemed not to matter to him that if I'd not done the project (my only other choice), he still would have had to duplicate my effort, and might not have thought of doing so, and that other people have benefited.

    I've had a number of run-ins with him of this kind, and don't really expect him to have changed. I, however, carefully qualified my remarks to say that my data was old, and you are welcome to believe he has changed if you have more modern data. I just doubt that you are right if all you are working form is public talks and not personal interchanges where you have been able to ask probing questions on subtle matters.

    I did not, as one moderator seems to suggest, offer my prior remarks as "flamebait". I don't really care what people think of Stallman personally, and have no desire to misrepresent him. The information I offered is, to the best I could, information he offered freely to me. He as much as told me that he's out to help himself and his way of life and that was that. He made no attempt to hide that. So neither did I.

    I offered the information (a) because people seem mystified by him, and I just don't think he's that mystical, and (b) because he offers himself as a political figure, and I think the motives of political figures do require some discussion because it relates to whether those they represent will, in fact, be properly represented.

    I have always said "There are no political answers, only political questions." If the question of whether he is a good person to guide a political movement is a non-flamebait question, then either possible answer should be a non-flamebait answer. If one can only say yes and not no, you have to question the bias inherent in the forum. I'm quite disappointed in Slashdot on this one. I don't think "flamebait=1, interesting=2, insightful=2" is best summarized as "Flamebait, Score=4".

  14. Re:Small victories... on Stallman Responds To GNOME Questionaire · · Score: 5, Insightful

    I haven't talked to Stallman personally in 6 or 7 years, but unless he's changed his tune of late, his goal is not to change the world, so there is no notion of "small victories" for him.

    I think his goal is (and I think this because my recollection is that he's told me, not because of some analysis I've done) to make the world work for him personally in the way he wants. I've never heard him say he really wants to change the world for its own sake. On that point, he's said the world is full of people he doesn't really necessarily like and has no interest in helping. So doing things "for the world" doesn't seem to matter to him.

    People attribute all kinds of ethics and high moral principles to him, but I've never heard him say this was his motive. From all I can tell, and all I've ever heard him say, he's just single-mindedly selfish in a way that happens to have some positive community benefit. So people attribute all kinds of other attributes to him to explain the outcome.

    If I'm right about this, it should help you see why things that only partly address an issue don't really make him happy. He wants things to work for him today, not for people generally some day. And so a partial solution is not a solution.

    I'm 50-50 on the whole free software thing. I think it's got some pluses, but it also has some minuses. And definitely one of the minuses is having Richard at the helm. Because when I want to discuss social policy, I want to discuss it with someone who understands that compromise is not always evil, that partial solutions can sometimes be better than no solutions, and that there are ways of doing good for the world that don't fit into the narrow definition of free software. I get none of this from Richard.

    I think it leads to confusion when the community looks to him for leadership, becuase I don't think he is offering what some see him as offering, and so it never comes out looking like what they expect. Maybe this continued sense of "unexpectedness" makes him look "mysterious", and maybe that's why people have such a continued interest, never being able to predict him because the model they have for him is never aligned with the reality of him. Just guessing.

  15. Re:it's not a problem with Lisp on Kent M. Pitman's Second Wind · · Score: 1

    Re: Of course, whatever CommonLisp does works well for the people who are using it, otherwise they wouldn't be using it. Given that the CommonLisp user community is small compared to the C/C++, Java, Perl, and Python communities, however, that is not a validation for that approach

    But first, you've argued that people shouldn't use CL because it won't work well for them. Yet if it works well for people who choose to use it, your reasoning becomes circular. Which is it?

    And second, if you assume there is a dominant "commodity" language in any market, and that many (not all) programs that could be written easily in any language are going to get written in that just out of inertia, then it's not fair to just examine community size. That's like saying French or German isn't a successful language for business because English is used world-wide. The choice of what is the commodity language is arbitrary and more an effect of politics than technical issues. Surely some technical issues matter, but the fact that someone is not in the number one slot is not proof that they were unqualified to be. For a great many things, it doesn't matter what language you use. And for a few things, there are important differences.

    Re: Just take character sets, for example. The CommonLisp standard allows for things like TENEX and the Lisp machine, but it fails to define many of the functions we expect for dealing with modern character sets.

    I don't know what you're talking about. There is no special character set support for TENEX or Lisp machines in the CL standard. This statement seems confused and without foundation.

    Re: modern Lisp standard should most likely simply specify Unicode.

    No. Unicode would be limiting. One reason I use Lisp is to permit the possibility of things beyond Unicode. There are important character-set-related issues not supported in Unicode, and the CL design is neutral as to whether you are using Unicode or not. The design was carefully critiqued by the Japanese community just before we froze the document in 1992, and we eliminated the things they said would create a problem for them in making an efficient, conforming implementation. It would have been great to do more standards work beyond that date, but for various reasons we feel it's procedurally impractical (would waste community money and destabilize the language). No one in the community sees the language as needing such change in order for implementations to do the right thing.

    Several existing implementations, without violating any conformance requirements, do offer Unicode support. So I just don't see your problem here.

    Re: I'm not sure what your beef is with the ANSI C standard.

    None at all. I regard it as an assembly language, but I have no problem with its design. For what it does, it seems fine. I wouldn't want to use it, but I haven't bashed it in any way. I am fully aware that it has its proponents and I don't waste any of my valuable time pointlessly trying to convince them otherwise.

    Re: CommonLisp, on the other hand, only covers one of those three approaches: it only has a set of abstract operations, but it never really got a de-facto character set standard and it lacks value types, keeping users from defining their own efficient character datatypes.

    No. The language does not define any way to define character sets, but it does not forbid implementations from doing so. The language isn't holding this back at all. Implementations would do so if their vendors saw a market need. Symbolics Genera effectively has this capability, and its implementation is conforming. Since Symbolics Genera isn't getting a lot of sales these days, I'd more conclude that this feature just isn't what customers are focused on.

    In practice, as you observe, Unicode is quite a useful space. And that's what the major implementations support. But the language doesn't limit them to that--it's simply a market decision.

    Re: Why you continue to use the term "Lisp" to refer to one particular dialect baffles me. Do you really consider CommonLisp synonymous with Lisp? I am a regular user of several dialects of Lisp, but I largely stopped using CommonLisp. To me, Scheme is as different from CommonLisp as, say, ML is from C++.

    Most of the community thinks of Scheme as a Lisp, and I've attempted to indulge that point of view here since people are expecting me to fairly speak for the community in this interview. But if you ask me personally, exactly because Scheme is so different, I personally regard it as its own language. Not to denigrate it, but to offer it proper respect for its unique position.

    And I tend to often say Lisp when I say CL. That's just an abbreviatory convention because I use the term a lot and I like using the short word. But no, I don't consider CL to exhaust the space of Lisps. By request of John McCarthy, and all the people I know have agreed to this, no single dialect is to assert unique control of what Lisp is.

    Then again, the fact that Lisp can be different things should be working to my favor. You seem to think if you find some Lisp with some deficiency that you can attribute it to all Lisps. I think just the opposite; I think if some Lisp overcomes some perceived deficiency, that's sufficient to say that Lisp does not really have that perceived deficiency. I'll leave it to people other than you or I to break that tie for themselves as they read our little debate here. If anyone is still reading. Mostly I think they've rightly gone on to other forums by now.

  16. Re:Precedence and Associativity cause Unreadable C on Kent M. Pitman's Second Wind · · Score: 2, Informative

    Re: I haven't done usability testing with programming languages. But I can guess what you'd find if you did:

    • One statement per line aids readability.
    • 30 lines of short, simple statements are easier to read than 10 longer, more complex lines.

    I'm not into hard-and-fast rules but I don't think these two points are radically inconsistent with most style I see observed in Lisp code. Lisp doesn't have a statement concept, but things very like statements do typically occur on their own line. People don't start blocks and put all the subexpressions on one line, though they could. So, to be honest, I have no idea what you're getting at here. I see nothing Lisp does to really push against this issue one way or another. The comment seems equally applicable to C, even though there, too, people by choice tend not to do the thing the language would let them and that you seem to fear.

    • A distinction between statements and expressions aids readability.

    Of your various "style rules", this is the only one that I could clearly say there's a parting of opinion on. Now, I know parsing reasons for making this distinction. And perhaps there are teaching reasons. But I've never heard it asserted that this was a readability issue and I'd like some exposition here in order to understand your motivation (both so I can reply and also just because I'd be fascinated simply to understand your reasoning on this in general).

    There could be a readability issue here, but a priori I don't see one. In fact, my experiences with things like HyperTalk and this statement/expression issue, since there you have to say for each function which kind you are making, is that you often end up with things that are nominally intended to be expressions but that you want to use as statements. So you do "get foo()" just to make an expression into a statement, even though you plan not to use the "it" variable that "get" sets up.

    I find the statement/expression distinction to be tedious and pointless as an enforced mechanism. Though in practice, again, Lisp programmers often have certain expressions they tend to think of as kind of statement-like and so tend not to embed in well-styled code. So again I don't see a problem.

    • Deeply nested code and structures are confusing.

    The ordinary use of block structure, and the commonplace use of separating blocks into separate functions, both practices introduced decades ago in Algol and long-practiced not only in Lisp but in most major languages seems to make the issue of deeply nested code not an issue. I'd need to see an example to know what this was about. I don't think Lisp gets a lot more nested than most other languages. Certainly nothing about the language forces this. Unless you want a language like Basic or Assembly that doesn't allow any nesting, I don't see how to avoid at least the possibility, and beyond that it's all just personal taste and personal practice, not language design. Do you see otherwise?

    • Flatness is good.

    You know, at MIT on a mid-term exam in compiler design 20 years ago, I actually saw a question that was "Gotos are (a) good (b) bad". I was immediately alerted to the fact that Computer Science should probably be better named Computer Religion, since it's often more filled with unfounded religious dogmatism than with science. I believe goodness and badness are things that have to be context-relative. One can't just stop a sentence after the word "good" or "bad" without establishing a context and have anything other than a statement of religion. It may be that flatness is good for some unspecified purpose, and that if you specified that purpose we could talk about it more. But I won't give you unqualified Good® on no more than you've offered here.

    • Meaningful error messages help.

    I have to say I don't know where this comes from. Lisp has an error system capability that is unmatched by any other language I've seen, and has the best guidelines for writing error messages that I've seen anywhere also. If you want an abstract overview of its capabilities, see my paper Exceptional Situations in Lisp . It is not possible to make a programmable facility that leaves the programmer any discretion at all and not risk that someone will do something obscure, but (again) you can't blame the language for that. As a rule, Lisp error messages, in part because they are object-oriented, and in part because of the power of Lisp's powerful FORMAT facility for producing formatted output, seem to me to be much better than I get in other languages. So I'm not sure what you're talking about here.

  17. Re:Do your customers know? on Kent M. Pitman's Second Wind · · Score: 2, Insightful

    Just as another data point, my customers are low-end customers who can't afford technology at all. If replacing me meant paying a programmer a commercial wage, they'd be sunk. It doesn't matter if it was C or Lisp. What will make them win is getting a cheap enough price that they can get any solution at all in their price range. And that requires very smart software, of the kind I am confident I can write in Lisp and not confident I can write in any other language, because I can afford to write that software but I cannot afford to both employ consultants for them and charge them the almost-pennies a month they're willing to pay.

    I happen to also do some consulting on the side for people who want to use Lisp for their own reasons, and that keeps the bills paid while I develop the software for the market area I've picked off (that I'm being deliberately vague about because I have not formally entered it yet, except for some limited testing). But my reasons for using Lisp are simply that it enables me to do what I need to do, and it enables my customers to get something they can't get at all in any form because no one cares about them.

  18. Re:Sometimes it takes more than one try on Kent M. Pitman's Second Wind · · Score: 1

    Re: I guess what Kent should have said more explicitly here was "most people's idea of Lisp comes from bad teaching by people who don't know and use the langauge.

    Indeed I should have thought to express it this way. My point is not "we're a secret society and if you only understand the magic handshake, wisdom will befall you". My point is exactly as noted here: Widespread misinformation, probably mostly well-meaning, injures Lisp.

    I've from time to time observed that perhaps part of the problem is that the misinformation is transferred by people with a static language background. My hypothesis is that they are more inclined than average to assume that things don't change, because the value of static knowledge is given such a premium in their world. But Lisp is a dynamic language, and that attracts people who expect things to change, including the language itself, which means that statically known facts about the language get invalidated over time.

    So there's a problem at the meta/sociological level which mirrors the problem at the technical level. Or such is my guess.

  19. Re:it's not a problem with Lisp on Kent M. Pitman's Second Wind · · Score: 1

    Re: The CL design tried to be enduring by not presupposing any operating system.
    Very true. And we'll just have to disagree on whether that was actually a good design decision.

    Already it shows itself to be of value to our community, so I'm not sure what you mean here. This robustness of design allows people to target multiple operating systems with the same code without conditionals. In Common Lisp, you say what you want data to do, but you don't get overly caught up in how you want it done.

    The alternative approach, taken by languages like C, is to focus on what needs to get done in the micro. Certainly this is needed. Not everyone can be an executive director of a major multi-national corporation--some people still have to flip the burgers, and the details of burger flipping do matter. (That probably sounds more pejorative than I mean it to. My point is really that the abstraction tower requires some support from below, at the assembly level. Substitute "fabricate microchips" for "flip burgers" if you like and it will sound jazzier but amount to the same. I'm not trying to address the amount of intelligence/skill it takes to perform a task, but rather the stuctural position of the person doing the task within the hierarchy of a company or the usually-hieararchical decomposition of a large program) But you don't get to be president of a huge conglomerate by micromanaging every burger flip, and it's likewise no accident that Lisp goes after very large, very complex problems because it is able to free itself of detail concern of the small-fry issues like how bytes are laid out in memory or how unused memory gets reclaimed. It has a staff to manage that.

    And like any corporate staff, it's irrational to assume that the system can operate with no slack anywhere. Having a little flexibility and abstraction here and there is the price of not having to retool your products every time the wind blows, but it has saved CL programmers from many a structural redesign as things have changed over time. Lisp is about change and embraces it well.

    It's fine for other languages to take a different approach, but Lisp should not be eschewed for having a different point of view. What's the point of having different languags if they don't take different points of view and are only different in miniscule details of personal preference about syntax?

    I am still awaiting a concrete example of a design decision that Lisp made in the name of its desire to endure that seems unwise and indefensible to you. I'd feel more comfortable defending specific criticisms than general handwaving ones. Too much room for either of us to dodge around there. I'm not saying every decision of Lisp's is perfect, btw, but I do think it makes no more bad decisions than the next language. And I personally feel it's done pretty well in supporting the community it seeks to support.

  20. Re:it's not a problem with Lisp on Kent M. Pitman's Second Wind · · Score: 1

    Re: Lisp can integrate very well with UNIX if you let it.

    You should have stopped here. Most of what follows is, in my opinion, a hodgepodge of misconceptions and very odd reasoning. Ordinarily, I would let this go and just not respond to such, but a lot of people are reading along and might assume that silence indicates agreement.

    Re: I think many of the people who developed CommonLisp and the Lisp machine just had a deep disdain for anything UNIX

    Inferring something bad about Lisp from such a source is ridiculous. That book had some legitimate gripes and picked he vehicle of humor to present them. The CL design tried to be enduring by not presupposing any operating system. We didn't know whether certain OS's would win out, and even now we don't know that the dominant OS's will not be overturned by others. CL is OS-neutral, but designed in a way that allows vendors to flexibly cater to their own chosen host operating systems. Some CL implementation are heavily Unix-centric and the language causes them no impediment in that regard.

    If you're going to critique Lisp in this way, be specific. Vague and general insults without substance are not appropriate in this venue.

    Re: I hope future Lisp implementations will learn from these past mistakes.

    First, present implementations already cater to Unix and other modern operating systems.

    Second, something funny about the wording here. Languages make design decisions. Implementations just implement them. Implementations do have some discretion, but in that sense, they already do implement that discretion and have for a while.

    I used Lisp to implement my Linux-based web server. I actually did all the development on Windows and it deploys seamlessly on Linux with basically no changes. C is often touted for being highly portable, but every C program I've seen has infinite little conditionals that have to be very different between nearly every platform. I commonly write cross-platform tools for Lisp that don't require any conditionals at all. Xanalys even offers a windowing substrate that uses the same operations for windowing under Windows and Linux/Unix, so that one can do GUIs in a natural way on both systems using the same program interface.

    There are many good ideas in CMU CL, but it hardly as a corner on the market for Linux-savvy systems.

  21. Re:NASA comparative study on Kent M. Pitman's Second Wind · · Score: 4, Insightful

    Re: As a side note, Kent, don't you think it a little churlish to denigrate Java as merely 'an abstract, high level assembly language'? ;-)

    Depends on what you think of as an assembly language. It was a somewhat provocative statement, but I didn't mean it to anger people, just to make them think.

    Java is missing certain kinds of syntactic abstraction that force me to forever spell out things that I'd rather abbreviate. That's characteristic of assembly languages. Some of them anyway. Some of them actually have better syntactic abstraction than Java does. Perhaps I was unfair in reverse. ;-)

    Further, when I hear people rave about Java, it is more for the libraries it offers than for the syntax. The syntax is regular enough, but I don't find it particularly "empowering" when compared against other object systems. Compared to nothing, it is certainly empowering. But as an object system, it's fairly vanilla.

    So if libraries are its strength, I model that as a kind of modern day assembly language (I did say it was abstract, after all) with a large instruction set of interesting instructions.. But anything you want to do with those has to be laboriously spelled out, and if you change something, the language's static phase really forces you to do a lot of work to make things self-consistent, providing really very little help.

    I'd say an assembly language is one I'm happy to have present at a substrate level but that I'd rather not program in on a day-in and day-out basis. C, Java, and TeX all fill the bill in that regard. They each provide a fine layer of support, but I'm happier with them in tools that use them as a backend than in tools that use them as a front end.

    It's just my opinion, though. Offered only for the sake of getting you to stop and re-examine your presuppositions for a few minutes. Others are entitled to hold differing opinions without thinking I've accused them of being idiots.

  22. Re:How many more questions/answers are there? on Kent M. Pitman's Second Wind · · Score: 2, Informative

    I gave timothy all answers at once, but there was a fixed data limit on the size of an article, so he had to post it in two parts. I had no idea this wasn't a typical length; I just wanted to make sure that everyone's question was answered fairly. My thanks to those interested enough to stop back and read along on this second set.

  23. Re:So very, very lame all of this on Kent M. Pitman Answers On Lisp And Much More · · Score: 1

    Yes, but the invocation scenario for the scenario I describe works by:

    Unix$ hello-world
    Hello, World!
    Unix$

    The other one, associated with your apparent desire to use a Lisp expression rather than a Lisp function, must be invoked by:

    Unix$ lisp
    This is Lisp 437.23
    Lisp > (hello-world)
    Hello, World!
    Lisp > (quit)
    Exiting Lisp.
    Unix$

    Most implementations I've seen require you to write a function to be used for startup, not a form. One or two implementations allow you to execute a form from a command line, as in:

    Unix$ lisp --execute '(write-line "Hello, World!")'

    But remember that this requires you to distribute a raw Lisp (which in some cases require a license for the Lisp to be bought by the end user), and also risks that the user will have custom init files for Lisp that interfere with your application, and also requires you to make little .bat scripts or the equivalent to start Lisp. It can also mean the Lisp does a lot of setup/initialization in preparation for running things other than the one expression you give it, so that it starts slower than it needs to. The save-image facilities provided in some Lisps tend to provide better control of product presentation, allowing a native .exe to be distributed, sometimes allowing the irrelevant functional support to have been garbage collected away, avoiding the user getting direct access to the Lisp level of your application, etc.

  24. Re:So very, very lame all of this on Kent M. Pitman Answers On Lisp And Much More · · Score: 1

    Re: (defun Hello-World...) doesn't start itself, either.

    Did you read my reply? The function whose name is usually called something like save-image takes an argument which is the name of the function to call when you start the exe that you are saving as an image.

  25. Re:My criticisms of LISP on Kent M. Pitman Answers On Lisp And Much More · · Score: 1

    Please feel free to drop me a line in email with any suggestions you have on what you need froma book, since I'm working on several and could use your thoughtful input.

    By the way, regarding success stories, I think there are several issues here:

    First, for some issues where Lisp could be used or a "commodity" language could be used, the market seeks a commodity. You can hardly blame it and I can't either.

    Second, for those issues that Lisp could solve and others can't, Lisp has different strengths than other languages and vice versa, so it's hardly surprising its success stories lie in different areas where you might not be looking, so that may not be why you don't see them.

    Third, business success stories are about making money, not about promoting Lisp. If Red Hat or some other Linux or open source company went bankrupt, would it be the technology's fault or the managements? But who would get blamed. IBM could fall and people could blame it on the new Linux alliance they have. Scapegoats are handy. This could make the name Linux unpopular. Would it invalidate the tool? I think not. Might businesses who wanted to keep using the tool decide reasonably not to mention the use of the tool when advertising? Quite likely, I think. I know this happens in the Lisp community. Companies that use Lisp want to focus on their business claims in marketing, and can't risk the potential liability of mentioning a name that has become unpopular (note I didn't say "a technology that has become useless").

    I think it's been long enough since AI Winter and the attachment of the "bad name" to Lisp and I'm encouraging people to come clean and start to do like Intel does with its "Intel Inside" campaign. People don't think Lisp is being used because they don't see Lisp is being used. You're right this is an impediment. But it's one that hasn't happened casually--there have been good reasons for it--reasons that could befall any technology, not just us.

    My company proudly, and at some commercial risk, displays that it uses Lisp. Commercial risk of two kinds. Some people might not like Lisp. And some people might think I'm a starry-eyed Lisp evangelist more intent on pushing the language than solving their business problem. The former is a self-fulfilling prophecy that can only be changed by using Lisp and showing it can be liked. The latter is a challenge to me to make sure I do stay focused on people's business needs first and keep the related Lisp evangelism second.

    Anyway, thanks for taking the time to plod through this discussion to the point of giving us a chance, and for documenting your thoughts. It's been very interesting to me, and I'm sure to others in our community as well. I know the Lisp marketing departments are reading these conversations even if they are not speaking directly. Well-articulated positions, pro and con, are what they're seeking, and what they've gotten here.