I had a good one of these a couple years ago. Brought home a copy of the Greatest Hits run of Devil May Cry (PS2). Case was right, disc label was right. Stuck it in the PS2, and the disc turned out to be... a DVD of the Rankin-Bass stop-motion animated Rudolph the Red-Nosed Reindeer. I hadn't seen it in over a decade.
Clearly these rumors and accusations of fraud in the NH Democratic primary originate with Republican operatives intending to preemptively discredit reports of the actual fraud which will certainly occur in November.
Clearly.// for the irony-impaired
Why do we tolerate a voting system about which these questions can even arise? Oh right, because the people with vested interests in perpetuating the possibility of fraud have the guns. Never mind the triple idiocies of first-past-the-post voting, the two-party system, and the electoral college. I live in Massachusetts so my vote is diluted anyway.
In election years it is really difficult not to hate and despise humanity (I mean more than normally).
Those frustrated trying to learn Nethack's large library of instant-kill one-trick jokes may try Crawl, and struggle instead against its large library of instant-kill out-of-depth monsters.
Seriously, from the point of view of the original article, although Crawl is a turn-based roguelike game it gives a convincingly frenetic fast-action feel. You have time to think between moves, but mistakes are punished harshly. The game's principal flaw is that, until you become VERY good, only about 10% of your characters survive long enough to gain any control over their fate.
I humbly suggest Efuns, which is an editor based on the design philosophy of Emacs, but rewritten from the ground up in Objective Caml (with some C in the necessary places). Yes, you can use advanced, powerful, type-safe "academic" programming languages to write Real Programs! And the Ocaml group at INRIA recently placed all of the Ocaml system under Open Source licenses -- LGPL for the runtime, QPL for the rest of it. Efuns is available here.
A research announcement, with enough details to be intelligible to a pure math grad student, is in Notices of the AMS46:11 (December 1999), available in pdf form here.
If you have a casual interest in this area of mathematics, good places to start might be Ireland/Rosen, A classical introduction to modern number theory, or Silverman, The arithmetic of elliptic curves (both Springer GTM). See also my bibliography of math textbooks.
Semantics??? Forgive me, but I think you missed my point totally.
C++ doesn't HAVE a semantics. C++ has a tangled, elephantine heap of ambiguities. ML has a semantics (Milner et al, The definition of Standard ML, second edition).
As for syntax... I read a story once about someone (I forget who) who was trying to write a yacc grammar for C++, and every time he ran across an ambiguous case and ran it through cfront (the defining implementation at the time) to check its parsing, cfront dumped core. But that doesn't even matter; any language could have its syntax reduced to Lisp's and it would be fine with me.
Type checking? After working in a language with a really powerful static type system (such as ML or Haskell), trying to express concepts as types in C++ feels like moving a sand dune with tweezers. Parametric polymorphism and algebraic sum types are just the beginning of what I miss.
In short, individual language features (casts, overloading, whatever -- see Haskell to understand what overloading should be about) aren't what bother me. What bothers me is the whole philosophy of clumsy thinking at too low a level of abstraction. It astonishes me that people can and do write large programs in C++ and Java. I can respect that after a fashion, but just because the wall is bloody from everyone else banging their head against it doesn't mean I should do the same.
I apologize for the strong language in this post, but I feel very strongly that the use of insufficiently abstract languages (principally C++ and Java these days) in production software is a major reason why said software is so frequently so bad; and that there is no excuse for the failure to use more advanced language technology to improve our design of and reasoning about programs.
I've only got about three months' experience as a real live (commercial) hacker -- but most of my colleagues think Design Patterns is the bible. I read it and it was a somewhat laborious catalogue of systematic ways to write in C++ or Java constructs which are completely natural in ML or Haskell. Maybe this book is different, more about people than about code; but "refactoring" sounds suspiciously like another one of those commercial-software-engineering buzzwords which exist only to conceal the fact that commercially used languages have no abstraction power.
Coding in Java for my job is beginning to rot my brain. I have to write Haskell programs no one will ever use to keep my sanity. Every time I write a type-cast I want to cry. My wrists hurt at the end of the day from the amount of typing required to implement the simplest concepts. Worst of all I look at my own code and I'm not sure whether it's right -- and it hurts because I know that if it were written in ML, or Haskell, or one of a dozen other civilized languages, I would be able to look at it and know that it was right.
(See my reply `Look past what you're encouraged to see' to ` Why Kids Kill')
Let's not make this discussion into a catalogue of traumatic high school experiences. For one thing, remember that anyone who made it to Slashdot has amassed some advantages, thus there is a common class thread running through many (not all) of our reminiscences. For another, much of the trauma of high school may be inescapably bound into adolescence. If we let the lesson of this incident be that "life sucks for people (geeks) like us, so we need to make it better", we have lost in the moment we grasp victory! If you once agree to the memetic framework in order to improve your standing in it, you are trapped.
Go much deeper instead. Realize that, for reasons of their own, those with power in our society encourage the endless reflexive division into spheres of special interest and shared assumptions. Find tiny ways to make particles of sense (appearing as nonsense to the poster-flat group mind) in the tepid glossolalic soup that keeps us from seeing reality. Look for the coercion in every economic relation, and ask yourself whether it should be there and whether you want to touch it.
Only once we begin to free our own minds from their baggage of groupthink and trauma (including high school experience) can we start reaching out to infect others with sanity.
Look past what you're encouraged to see
on
Why Kids Kill
·
· Score: 1
You all know by now that 95% of the brain content of 95% of Americans is dictated by a very small group of people. Don't think for a second that you have escaped that conditioning. No matter how much of a freethinker you consider yourself, you are reading this "geek-focused" website, and that probably means you have had access to certain advantages and you have absorbed a complex of memes designed to render you safe. You can only free yourself, a little bit at a time, by recognizing the elements of this complex.
It is not hard to see that official attention is paid to an atrocity in direct proportion to the social status of its victims, and usually, its (immediate) perpetrators. Look instead for the things you are encouraged not to hear about. Uncaring parents and teasing by classmates notwithstanding, these two kids had a lot of advantages over most. If the sickness of our society is beginning to get to them, how many more vulnerable people does it destroy? Millions, of course; but those are easier to hide from the few with power. Even to consider an incident such as this shooting somehow significant is almost insulting to the mass of people from whom wealth is systematically extracted so that you and I can surf the Web.
If you hold any of the traditional, altruistically or reciprocally based moral philosophies, it is incumbent on you to see the profound evil on which everything about current mass-capitalist society is based. Shootings in schools are an effect. The wars in Yugoslavia are an effect: the arms manufacturers have to field-test their products somehow. The media oligopoly which concentrates your attention on the previous two phenomena is an effect. The prison system which you are encouraged to forget about is an effect.
If you don't base your philosophy of life on such a moral principle (I don't), then at least recognize that the unequal distribution of wealth is thermodynamically unstable and likely to explode in all our faces sooner or later - and that the cavalier way we treat our planet benefits no one. How many of the psychological oddities of this century are attributable to low-level environmental poisoning? No one knows. Research on this topic is awfully hard to get funding for.
I've given up trying to save the world. Even knowing a little of what goes on, and a little of how thoroughly penetrated and programmed I am, a worm of cynical, elitist doubt remains, that most people aren't really worth saving anyway and will fight me if I try. I just try not to go crazy today, today, and leave not going crazy tomorrow for tomorrow. But please, look around you, and look inside yourself. Try to see the ways in which both you and your surroundings have been modified to serve the power structure. Understanding begins with the realization that anything like a shooting in a school, no matter how shattering to its victims, is irrelevant.
No matter what you think of ESR's political views and actions, the Jargon File is a wonderful piece of work. I discovered it four years ago and it was a huge eye-opener. It manages to be a cultural document for the past and future at once. It's also one of the best things you can give to any proto-hackers you might meet to help them grow up the right way. (Along with Structure and interpretation of computer programs, not coincidentally another MIT product.)
A cynical observer might suggest that ESR is trying to reassert his street credibility. I point this out to warn against it: not all actions are politically motivated, and we paranoid types too often forget to be nice once in a while.
I had a good one of these a couple years ago. Brought home a copy of the Greatest Hits run of Devil May Cry (PS2). Case was right, disc label was right. Stuck it in the PS2, and the disc turned out to be ... a DVD of the Rankin-Bass stop-motion animated Rudolph the Red-Nosed Reindeer. I hadn't seen it in over a decade.
Clearly these rumors and accusations of fraud in the NH Democratic primary originate with Republican operatives intending to preemptively discredit reports of the actual fraud which will certainly occur in November.
// for the irony-impaired
Clearly.
Why do we tolerate a voting system about which these questions can even arise? Oh right, because the people with vested interests in perpetuating the possibility of fraud have the guns. Never mind the triple idiocies of first-past-the-post voting, the two-party system, and the electoral college. I live in Massachusetts so my vote is diluted anyway.
In election years it is really difficult not to hate and despise humanity (I mean more than normally).
For some perspectives on the complete nonprofundity and borderline academic dishonesty of Wolfram's book from some people who _do_ know what they're talking about, see this review (PDF) from the Notices of the American Mathematical Society and this collection of many more links to reviews.
Those frustrated trying to learn Nethack's large library of instant-kill one-trick jokes may try Crawl, and struggle instead against its large library of instant-kill out-of-depth monsters.
Seriously, from the point of view of the original article, although Crawl is a turn-based roguelike game it gives a convincingly frenetic fast-action feel. You have time to think between moves, but mistakes are punished harshly. The game's principal flaw is that, until you become VERY good, only about 10% of your characters survive long enough to gain any control over their fate.
www.dungeoncrawl.org
I humbly suggest Efuns, which is an editor based on the design philosophy of Emacs, but rewritten from the ground up in Objective Caml (with some C in the necessary places). Yes, you can use advanced, powerful, type-safe "academic" programming languages to write Real Programs! And the Ocaml group at INRIA recently placed all of the Ocaml system under Open Source licenses -- LGPL for the runtime, QPL for the rest of it. Efuns is available here.
If you have a casual interest in this area of mathematics, good places to start might be Ireland/Rosen, A classical introduction to modern number theory, or Silverman, The arithmetic of elliptic curves (both Springer GTM). See also my bibliography of math textbooks.
sadly, www.linuxchix.com appears to be a generic rude domainname auctioneer. the coincidence is unfortunate.
ugh. now i know why every patent lawyer i've ever met is dumb and grouchy. it's not their fault, they have to read this stuff all day.
C++ doesn't HAVE a semantics. C++ has a tangled, elephantine heap of ambiguities. ML has a semantics (Milner et al, The definition of Standard ML, second edition).
As for syntax ... I read a story once about someone (I forget who) who was trying to write a yacc grammar for C++, and every time he ran across an ambiguous case and ran it through cfront (the defining implementation at the time) to check its parsing, cfront dumped core. But that doesn't even matter; any language could have its syntax reduced to Lisp's and it would be fine with me.
Type checking? After working in a language with a really powerful static type system (such as ML or Haskell), trying to express concepts as types in C++ feels like moving a sand dune with tweezers. Parametric polymorphism and algebraic sum types are just the beginning of what I miss.
In short, individual language features (casts, overloading, whatever -- see Haskell to understand what overloading should be about) aren't what bother me. What bothers me is the whole philosophy of clumsy thinking at too low a level of abstraction. It astonishes me that people can and do write large programs in C++ and Java. I can respect that after a fashion, but just because the wall is bloody from everyone else banging their head against it doesn't mean I should do the same.
I apologize for the strong language in this post, but I feel very strongly that the use of insufficiently abstract languages (principally C++ and Java these days) in production software is a major reason why said software is so frequently so bad; and that there is no excuse for the failure to use more advanced language technology to improve our design of and reasoning about programs.
Coding in Java for my job is beginning to rot my brain. I have to write Haskell programs no one will ever use to keep my sanity. Every time I write a type-cast I want to cry. My wrists hurt at the end of the day from the amount of typing required to implement the simplest concepts. Worst of all I look at my own code and I'm not sure whether it's right -- and it hurts because I know that if it were written in ML, or Haskell, or one of a dozen other civilized languages, I would be able to look at it and know that it was right.
Is there any escape?
Let's not make this discussion into a catalogue of traumatic high school experiences. For one thing, remember that anyone who made it to Slashdot has amassed some advantages, thus there is a common class thread running through many (not all) of our reminiscences. For another, much of the trauma of high school may be inescapably bound into adolescence. If we let the lesson of this incident be that "life sucks for people (geeks) like us, so we need to make it better", we have lost in the moment we grasp victory! If you once agree to the memetic framework in order to improve your standing in it, you are trapped.
Go much deeper instead. Realize that, for reasons of their own, those with power in our society encourage the endless reflexive division into spheres of special interest and shared assumptions. Find tiny ways to make particles of sense (appearing as nonsense to the poster-flat group mind) in the tepid glossolalic soup that keeps us from seeing reality. Look for the coercion in every economic relation, and ask yourself whether it should be there and whether you want to touch it.
Only once we begin to free our own minds from their baggage of groupthink and trauma (including high school experience) can we start reaching out to infect others with sanity.
It is not hard to see that official attention is paid to an atrocity in direct proportion to the social status of its victims, and usually, its (immediate) perpetrators. Look instead for the things you are encouraged not to hear about. Uncaring parents and teasing by classmates notwithstanding, these two kids had a lot of advantages over most. If the sickness of our society is beginning to get to them, how many more vulnerable people does it destroy? Millions, of course; but those are easier to hide from the few with power. Even to consider an incident such as this shooting somehow significant is almost insulting to the mass of people from whom wealth is systematically extracted so that you and I can surf the Web.
If you hold any of the traditional, altruistically or reciprocally based moral philosophies, it is incumbent on you to see the profound evil on which everything about current mass-capitalist society is based. Shootings in schools are an effect. The wars in Yugoslavia are an effect: the arms manufacturers have to field-test their products somehow. The media oligopoly which concentrates your attention on the previous two phenomena is an effect. The prison system which you are encouraged to forget about is an effect.
If you don't base your philosophy of life on such a moral principle (I don't), then at least recognize that the unequal distribution of wealth is thermodynamically unstable and likely to explode in all our faces sooner or later - and that the cavalier way we treat our planet benefits no one. How many of the psychological oddities of this century are attributable to low-level environmental poisoning? No one knows. Research on this topic is awfully hard to get funding for.
I've given up trying to save the world. Even knowing a little of what goes on, and a little of how thoroughly penetrated and programmed I am, a worm of cynical, elitist doubt remains, that most people aren't really worth saving anyway and will fight me if I try. I just try not to go crazy today, today, and leave not going crazy tomorrow for tomorrow. But please, look around you, and look inside yourself. Try to see the ways in which both you and your surroundings have been modified to serve the power structure. Understanding begins with the realization that anything like a shooting in a school, no matter how shattering to its victims, is irrelevant.
End the carnage. Ban C++ now.
A cynical observer might suggest that ESR is trying to reassert his street credibility. I point this out to warn against it: not all actions are politically motivated, and we paranoid types too often forget to be nice once in a while.