I firmly agree with you that the obstacles
to entering and communicating about bugs
have to be kept as low as possible.
When i started working as a developer at
ILM,
there wasn't really any bug-tracking system
in use. So i threw together a quick hack,
on a weekend when i finally couldn't stand
it any more (isn't that how so many software
projects get started?).
Over the two years i was there, it grew,
but it stuck to three core ideals:
Don't force the person entering the bug
to enter anything other than a description.
Just allow people to go back later
and add details,
change categories or priority settings if
they want to.
Make it really easy for other developers
to enter the conversation around the bug,
so the discussion and activity surrounding
the bug can be recorded with the bug.
Optimize the user interface to display
the most useful information in the available
screen space.
To meet the first two goals, the system was
based on e-mail: anyone could just send a
free-form e-mail message to the roundup address, and
a new bug would be created; then anyone who
replied to messages about the bug would be
automatically added to a mini-mailing-list.
Every bug got its own automatically managed
mini-mailing-list.
Most other bug trackers are really bad at the
third goal: they take up all kinds of space
with management details that people don't
really care about. What a developer really
wants to see is the descriptions of the bugs,
so Roundup maximizes the screen space for that.
It grew far beyond my original plans, in terms
of the number of users and bugs logged. The
back-end implementation was terrible (no
database, just lots of little text files;
performance was awful but it did have the
redeeming factor that you could just use
"tar" to archive them).
As far as i know, ILM R&D is still using it
today, and they're running multiple instances
of it to support different applications and
teams.
You can
get
the source code and see some screenshots
on a page about Roundup, though i'm
not developing it any more. A new group
of people has picked up the torch and
carried it on in a
Sourceforge
project that is alive and well.
Their project is a complete rewrite of
Roundup, originally based on a design document
I wrote, but now much extended.
I encourage you to check it out.
They managed to write a program guide so
inefficient that even a processor running at
2.5 billion cycles per second
can't scroll through the guide without stuttering.
The one thing that is worth noting that even on the HP's default Pentium 4 2.53GHz, CPU utilization can reach very high levels while scrolling through the list. Sometimes scrolling through the guide can cause the TV encoding process to stutter which is definitely unfortunate as stuttering isn't nearly this common with set-top PVRs.
That's just amazing. It's just a list of
program titles, for goodness' sake.
I don't think most programmers would
waste that many CPU cycles even if they were
trying really hard.
Once we get to the creation of the universe (not just Earth) or start dealing with the origins of life, etc., science is in religious grounds
Hmm. All right, then I'd like to know your answer to this:
What do you mean by "in religious grounds"?
What makes topics like origin of life "religious grounds"?
What other topics do you consider to be
in religious grounds, and why?
I don't see how you can rope off
any area
of knowledge and declare it permanently
non-scientific territory.
Science enters an area of knowledge when
there is repeatable, observable evidence.
Even though theories about the origin
of the universe are about things
far away in time and space, they must
still be founded on evidence to be
called scientific (e.g. measurements of
the cosmic background temperature, the
speeds at which distant galaxies are
receding, and so on). Theories like the
Big Bang hold sway because they have
explanatory power.
Okay, now here comes a statement of
yours I completely disagree with:
Atheism is a religion, and should be given no more political or scientific respect than any other.
I challenge you to explain what makes
atheism a religion.
What do you consider the difference
between science and religion?
Why do you think atheism falls into the "religion" category?
Atheism is a lack of belief in God.
Atheists don't believe in God because they
don't see any repeatable scientific
observations that are best explained by
any specific, consistent theory of God.
The philosophical basis for atheism is
scientific reasoning.
Please don't
fall back on saying that atheism is just
a "belief" like any other belief! Not
all beliefs are religions.
For example, my belief in the Newtonian theory
of gravity is a not a religion; it is based
on my own observations and the observations
of many other scientists of the rate at which
things accelerate toward each other. The
Newtonian theory of gravity does an
excellent job of predicting the movements of
celestial bodies, and that's why we use it.
(When the theory of relativity was introduced
as another way to explain gravity, scientists
began to believe in it precisely
because it did a better
job at predicting some observations than
Newtonian gravity. But it only gained
ground because of experiments.)
Now, there are other ways to explain gravity.
I could tell you, for instance, that there are
lots of tiny invisible gremlins that fly from
object to object, pushing all objects toward
each other with forces in proportion to their
masses, just so that they would produce all
the same motions as calculated by Newtonian
gravity. There is no doubt that gravity could
be consistently explained in this way, if the
gremlins were sufficiently invisible and accurate.
But the gremlin theory of gravity
is not scientific,
because these gremlins have never been observed.
Moreover, any number of different kinds of
gremlins could be made up to explain gravity;
no particular kind of gremlin would be a
better theory than any other, because there's
no evidence in favour of any specific kind of
gremlin.
Science adopts the simplest explanation that's
consistent with the observations.
Religion does not; in fact religion is based
in particular on faith, which is the
ability to hold a belief in the absence of
any observed evidence. That, to me, is the
difference between religion and science.
Alan Alda's response is very eloquent, compelling, and smart. Here's his
conclusion:
The problem is that, although we're all entitled to our beliefs, our culture increasingly holds that science is just another belief. Maybe this is because it's easier to believe something--anything--than not to know.
We don't like uncertainty--so we gravitate back to the last comfortable solution we had, and in this way we elevate belief to the status of fact.
But scientists are comfortable with not knowing. They thrive on it. They don't assume that just because they had an idea it must be right. They attack it as vigorously as they can because they don't want to lie to themselves. As Richard Feynman said, "Not knowing is much more interesting than believing an answer which might be wrong."
Above all, Mr. President, I think your science advisor needs to help you help our country learn to be comfortable with uncertainty, and--as hard as this might be to believe--to put reason ahead of belief.
If only all the young minds in the schools could hear this message!
Comparisons of Mathematica, Maple, Matlab, etc.
on
Mathematica vs. Matlab?
·
· Score: 2, Informative
Lots of people have talked about this question before. Here are some pointers I found that might be helpful...
Factors in choosing a scripting language
on
Scripting Language City
·
· Score: 5, Interesting
The
scripting language chooser
is a simple Javascript program that adds up scores
for each of the scripting languages based on eight decision factors.
A quick look at the source of the page reveals
the weightings used to compare the four candidate languages:
where a = ease of learning,
b = ease of use,
c = client-side Web scripting,
d = server-side Web scripting,
e = popularity and installed base,
f = graphics,
g = readability,
h = object model.
Now I'm not sure I'd agree with all of these ratings (e.g. Python 10 times more readable than Perl? Seems pretty harsh...), but they're interesting to look at.
They seem pretty off-the-cuff to me.
Perhaps they say as much about the opinions of the Web site author as they do about the languages.
crit.org
provides a free annotation service that you can
use to add comments to any public web page.
It doesn't provide indexing and searching
capabilities, but you might find it interesting.
You don't have to install any client software
to create or view the annotations, and the
owner of the target document doesn't have to
install any server software to support
annotations. You just go to crit.org and
type in the URL of the page you want to visit.
crit.org
provides a free annotation service that you can
use to add comments to any public web page.
You don't have to install any client software
to create or view the annotations, and the
owner of the target document doesn't have to
install any server software to support
annotations. You just go to crit.org and
type in the URL of the page you want to visit.
Cingular's customer service Web site is completely unusable. The complicated frames and Javascript are a mess and haven't worked properly for me in months. Often parts of the site are just down. Recently they decided to force everyone to
re-register with new usernames ("Cingular IDs")
and passwords for no good reason. Logging in hasn't worked ever since I went through the re-registration process.
I've had it. I'm switching. I mean, why must these people make it so hard for me to give them my money? How many developers did they hire and how much did they spend to create the current monstrosity? Can't they just give me a plain page showing my bill with a simple payment form?
Naturally, the "advanced features" of the Web site also make it totally hostile to text browsers or screen readers. I called them once to ask if they have a text-only version, hoping it would be more usable; they don't. I wonder if this is a violation of the ADA.
By introducing Palladium, you're asking most
personal computer users to bank on a complex new
system that will restrict what they can do with
their computers. This is a substantial
implementation effort; it's not clear that it
will succeed in practice; and there are many
design decisions to be made that will have a
profound effect on user freedom and on the entire
media industry. Now, you're telling us that
you, Microsoft, are the one to do it.
Why should we trust you?
There are two parts: why should we trust you to
be competent? And why should we trust
you to be ethical? (That is, why would
anyone expect you to make design decisions that will truly benefit everyone?)
What is "just" about making assent to a single doctrine the basis of eternal damnation?" An interesting question, and there is only one answer. God commanded it and thus it is that way. You could also ask, "What is just about making the speed limit on interstate highways in the US 70 miles per hour, when everyones care is capable of doing 85 miles per hour?" And the answer to that is because the lawmakers wrote the law that way.
No, the lawmakers are not what makes it just. What makes (or would make) the speed limit just is the fact that it is dangerous to drive too fast, because people might get hurt.
Notice that there is no supporting reason for assent to a single doctrine. In fact, if you begin with a principle of not hurting people, there is a reason against: it is ethically reprehensible to punish people just because they don't share your religion.
If God exists, he will exist regardless of
whether you believe in him or not. But whether you live in paradise or hell does directly depend on whether you believe in him or not. Really, what do you have to lose?
Everything!
I stand to lose any possibility of appeasing any of the hundreds of other alleged gods with different sets of rules and requirements; I stand to lose my freedom to a system, managed and manipulated by powerful people, that is evolutionarily optimized not for my benefit but only for the continued survival and control of the system; and most of all I stand to reduce my ability to freely make reasoned ethical judgements.
All this for a miniscule chance at turning into an immortal couch potato after I die? Somehow, that just doesn't seem worth it.
My god requires that you not believe in god in order to achieve paradise. He wants you to make decisions on your own, independent of religious influence. He's a tough god, because he wants you to do all the work; you have to figure out the answers yourself. If you believe in god, he sends you to hell for cheating.
Better not believe in god, then. You'd better stop, or you'll be in big trouble!
This problem was solved
five years ago by MINSE
(a Medium-Independent Notation for Structured
Expressions). It's not just a design, it's a
working implementation. See
http://www.lfw.org/math for details,
or visit
a demo page
to see output (compare it to the
HTML source of the same page).
Summary: enter equations like sane people do, e.g. "a*x^2 + b*x + c = 0"
or "x = (_b +/- 'root(b^2 - 4*a*c))/(2*a)".
Type them directly into your HTML; no need to
run a converter to generate your pages.
They appear in your web pages, look much, much better than LaTeX2HTML because they're antialiased, and anyone with a browser can see them without installing any software. Even text
browsers work -- they get an
ASCII art rendering!
Presented to the W3C but sadly ignored.
At first it was rejected
because they thought extensibility was
unnecessary; then after they realized extensibility was critical, threw out their
design and started over, they ignored MINSE
because it wasn't XML.
But there's one little point they missed:
it actually works. Five years later,
MathML is still vapourware -- and even if it
did work, it would be completely unusable by
teachers.
Nice overview, Christopher. I'd like to add one thing.
I think you missed mentioning the most important reason why trojan executables and viruses don't spread as easily on Unix systems.
Unix has a concept of execute permissions.
Windows will happily execute any file ending in a variety of extensions (and that list is not small or consistently defined). In Unix, on the other hand, you must turn on execute permissions before you can execute a file, and files are created by default without execute permission.
An attachment saved on a Unix system would generally be treated as data and saved in a non-executable file. The inability to distinguish between commands and data promoted by Windows and Outlook is, i believe, the main factor in ILOVEYOU's devastating success.
Congratulations to the Dreadling people for a nice piece of work.
I noticed some comments here about the speed and interface; you may want to check out Escape, a demo i wrote in 1997. I believe it was the first real-time texture mapping program ever created for the Pilot.
It has about twice the frame rate of Dreadling; its graphics are simpler (no monsters, no greyscale) but i think the maze looks nicer, and the faster response is a big win.
Steer by dragging the pen around the screen, rather than using the buttons.
Hi everyone! I figured while everyone was checking in and patting our friends from Waterloo on the back, i might as well join in too. Congratulations to Donny, Jeff, and Ondrej!
I did the contest once, but there are no memories of the math building's comfy lounge for me: I graduated from Computer Engineering at Waterloo in 1998. 1994 was a fun year: we went with united forces from CS and Engineering and kicked butt. Those ACM contests are really fun, though i agree with the others that judging errors do suck and some accountability would be nice.
What most of these language translation programs need is a better understanding of context. I was surprised to find that Altavista's Babelfish utility has very poor analysis of context (possibly none at all). For example, when translating from English to French, "run" always translates to "exécute". For a sentence like
The computer ran the program.
you get
L'ordinateur a exécuté le programme. ("The computer executed the program.")
which is reasonable, but if you translate
I ran home.
you get
J'ai exécuté à la maison. ("I executed at the house.")
which doesn't make any sense. More incredibly, "store" always translates to "mémoire". You would think that, if they were going to force every word to be interpreted in one sense, they would choose the most common meaning. But this choice leads to insanity where
Tom ran to the store.
translates to
Tom a exécuté à la mémoire. ("Tom executed to the memory.")
With knowledge of context, a more advanced system could notice situations in which it was more reasonable for "run" to have a particular meaning. In the last example, "run" is followed by a prepositional phrase indicating a direction, which would imply that the meaning involving physical movement is appropriate, and so on.
Even more revealing is the fact that the confusion of meaning happens differently for different languages. If you translate
Tom ran to the store.
into Spanish, you get the hilarious result:
Tom se ejecutó al almacén. ("Tom executed himself to the warehouse.")
For translation software that has multiple language targets, i would have expected it to first resolve the meaning of the English sentence into an internal semantic representation before using it to emit Spanish or French. The above would be evidence that the Systran software has no such representation -- or at least that their representation is too weak to indicate the difference between "store" as in "memory" and "store" as in a warehouse.
> Bidirectional - yes. Should have done it years ago.
Guess what? We already have them for the Web.
See http://crit.org/ for bidirectional, typed, fine-grained links into any Web document. Annotate any existing document publicly with a link to a new document, enabling you to comment, rate, and connect together existing information in new ways.
It's one small part of the dream of what the Web should be.
Marc Stiegler, the author of this page, also wrote a science-fiction book called "Earthweb" which is an excellent introduction to many of these ideas and an exciting speculative story about the world we might live in one day.
If you're curious about the future of computing or interested in hypertext and collaboration, at all, definitely check it out (ISBN 067157809X).
Here's a little hack you might enjoy. Use this script as a wrapper for pgp (i call it "pgpe" and run pgpe as a drop-in replacement for pgp; it will pass on command-line options), and encrypted messages and signatures will be written and read in "Echelon armour" format, like this one.
(This message was created by piping through "pgpe -fast".)
Ruby Ridge PROMIS Linda Thompson CID Vickie Weaver Kahl ONI Special Forces Oliver North Vickie Weaver 5th group FBI George Bush Task Force 160 ONI FBI MILGOV militia Gore Horiuchi Bill Clinton bomb OKC Special Forces Vickie Weaver PROMIS Delta Force Randy Weaver Task Force 160 Vickie Weaver Vince Foster Special Ops Constitution Kahl Waco Park On Meter Gore CIA Hillary Hillary MI5 OKC Vince Foster drug ATF Park On Meter M16 drug Special Forces C4 Linda Thompson Hillary Gore Terrorist Vickie Weaver comitatus Gore gun ATF Terrorist MI5 assault rifle 5th group C4 Vickie Weaver Terrorist Bill Clinton assault rifle Wackenhut Oklahoma City Davidian Linda Thompson Special Forces Constitution assault rifle ONI Horiuchi Bill of Rights ONI BATF AK47 handgun George Bush FBI AK47 Koresh gun 5th group PROMIS Ruby Ridge posse Whitewater PROMIS Constitution POM Bill Clinton Cherokee AK47 bomb Constitution PROMIS Kahl DOD revolution Davidian ONI SOF OKC Constitution POM M16 Special Operations Group DOD MILGOV revolution C4 Koresh Oliver North Special Forces CIA Terrorist AK47 Oklahoma City FBI Oklahoma City Special Operations Group assault rifle Terrorist posse MILGOV 5th group SOF Special Forces NASA SOF Oliver North 12th group Hillary Ruby Ridge PROMIS bomb revolution Constitution Wackenhut militia Task Force 160 bomb CIA SOF Hillary Vickie Weaver ATF terrorism drug ATF IRS Bill of Rights Delta Force Kahl OKC Oliver North BATF Davidian Whitewater DOD NASA ONI OKC militia Delta Force Vince Foster Linda Thompson 12th group FBI Malcolm X Koresh MILGOV 12th group IRS Kahl posse M16 Whitewater Constitution MI5 NSA Park On Meter 5th group Arkanside ATF Special Ops Hillary handgun bomb MOSSAD Ruby Ridge comitatus Randy Weaver ATF Vickie Weaver assault rifle Vince Foster Arkanside SF hijack SF CID NSA Koresh Special Forces hijack -----END PGP ECHELON SIGNATURE-----
I'm sorry, but "let's use XML" has only about the same information content as "let's use ASCII". I've got it! We'll send the information in... bytes! Astounding!
XML is a transmission and encoding format. That's all. We are sending LISP s-expressions over network channels. That's all. It's all just trees.
XML does not give you schemas; it does not give you semantics; it does not answer the question of how to standardize your tags in DTDs. XML has no design content. It just gives you a nice popular acronym to rally around.
This is not to say that XML will not have its uses. Trees are good for some things. But let's recognize it for what it is, please: a tree serialization format, not a solver of all problems, and certainly not a distributed object messaging protocol.
The best response to "let's use XML" really is the same kind of response appropriate for "let's use ASCII". Okay, fine, use ASCII. But what will you do with it?
When i started working as a developer at ILM, there wasn't really any bug-tracking system in use. So i threw together a quick hack, on a weekend when i finally couldn't stand it any more (isn't that how so many software projects get started?).
Over the two years i was there, it grew, but it stuck to three core ideals:
To meet the first two goals, the system was based on e-mail: anyone could just send a free-form e-mail message to the roundup address, and a new bug would be created; then anyone who replied to messages about the bug would be automatically added to a mini-mailing-list. Every bug got its own automatically managed mini-mailing-list.
Most other bug trackers are really bad at the third goal: they take up all kinds of space with management details that people don't really care about. What a developer really wants to see is the descriptions of the bugs, so Roundup maximizes the screen space for that.
It grew far beyond my original plans, in terms of the number of users and bugs logged. The back-end implementation was terrible (no database, just lots of little text files; performance was awful but it did have the redeeming factor that you could just use "tar" to archive them).
As far as i know, ILM R&D is still using it today, and they're running multiple instances of it to support different applications and teams.
You can get the source code and see some screenshots on a page about Roundup, though i'm not developing it any more. A new group of people has picked up the torch and carried it on in a Sourceforge project that is alive and well. Their project is a complete rewrite of Roundup, originally based on a design document I wrote, but now much extended. I encourage you to check it out.
That's just amazing. It's just a list of program titles, for goodness' sake. I don't think most programmers would waste that many CPU cycles even if they were trying really hard.
Gotta hand it to them.
Hmm. All right, then I'd like to know your answer to this:
I don't see how you can rope off any area of knowledge and declare it permanently non-scientific territory. Science enters an area of knowledge when there is repeatable, observable evidence. Even though theories about the origin of the universe are about things far away in time and space, they must still be founded on evidence to be called scientific (e.g. measurements of the cosmic background temperature, the speeds at which distant galaxies are receding, and so on). Theories like the Big Bang hold sway because they have explanatory power.
Okay, now here comes a statement of yours I completely disagree with:
Atheism is a religion, and should be given no more political or scientific respect than any other.
I challenge you to explain what makes atheism a religion.
Atheism is a lack of belief in God. Atheists don't believe in God because they don't see any repeatable scientific observations that are best explained by any specific, consistent theory of God. The philosophical basis for atheism is scientific reasoning.
Please don't fall back on saying that atheism is just a "belief" like any other belief! Not all beliefs are religions.
For example, my belief in the Newtonian theory of gravity is a not a religion; it is based on my own observations and the observations of many other scientists of the rate at which things accelerate toward each other. The Newtonian theory of gravity does an excellent job of predicting the movements of celestial bodies, and that's why we use it. (When the theory of relativity was introduced as another way to explain gravity, scientists began to believe in it precisely because it did a better job at predicting some observations than Newtonian gravity. But it only gained ground because of experiments.)
Now, there are other ways to explain gravity. I could tell you, for instance, that there are lots of tiny invisible gremlins that fly from object to object, pushing all objects toward each other with forces in proportion to their masses, just so that they would produce all the same motions as calculated by Newtonian gravity. There is no doubt that gravity could be consistently explained in this way, if the gremlins were sufficiently invisible and accurate. But the gremlin theory of gravity is not scientific, because these gremlins have never been observed. Moreover, any number of different kinds of gremlins could be made up to explain gravity; no particular kind of gremlin would be a better theory than any other, because there's no evidence in favour of any specific kind of gremlin.
Science adopts the simplest explanation that's consistent with the observations. Religion does not; in fact religion is based in particular on faith, which is the ability to hold a belief in the absence of any observed evidence. That, to me, is the difference between religion and science.
If only all the young minds in the schools could hear this message!
I'm sure there's a lot more; try some Google searches: maple mathematica matlab, maple vs mathematica, "computer algebra" comparison.
JavaScript: a*9 + b*9 + c*10 + d*-10 + e*10 + f*1 + g*6 + h*6
where a = ease of learning, b = ease of use, c = client-side Web scripting, d = server-side Web scripting, e = popularity and installed base, f = graphics, g = readability, h = object model.
Or presented another way:
learnability: Python=10, JS=9, Perl=6, Ruby=5.
usability: Python=10, JS=9, Ruby=8, Perl=7.
client-side scripting: JS=10, all others=-10.
server-side scripting: Perl=10, Python=7, Ruby=6, JS=-10.
popularity: Perl=10, JS=10, Python=6, Ruby=1.
graphics: JS=1, all others=10.
readability: Python=10, Ruby=7, JS=6, Perl=1.
object model: Ruby=10, Python=7, JS=6, Perl=2.
Now I'm not sure I'd agree with all of these ratings (e.g. Python 10 times more readable than Perl? Seems pretty harsh...), but they're interesting to look at. They seem pretty off-the-cuff to me. Perhaps they say as much about the opinions of the Web site author as they do about the languages.
There's a short paper explaining this system at http://zesty.ca/crit/yee-crit-cscw2002-demo.pdf.
There's a short paper explaining this system at http://zesty.ca/crit/yee-crit-cscw2002-demo.pdf.
I've had it. I'm switching. I mean, why must these people make it so hard for me to give them my money? How many developers did they hire and how much did they spend to create the current monstrosity? Can't they just give me a plain page showing my bill with a simple payment form?
Naturally, the "advanced features" of the Web site also make it totally hostile to text browsers or screen readers. I called them once to ask if they have a text-only version, hoping it would be more usable; they don't. I wonder if this is a violation of the ADA.
> I would be embarassed to have my name associated with that list.
Okay. Could you propose a better set of guidelines, or at least suggest some constructive revisions?
-- ?!ng
Validation is a nice first step, but keep in mind that a valid document isn't necessarily a meaningful document.
--?!ng
I suggest a simple, direct question:
By introducing Palladium, you're asking most personal computer users to bank on a complex new system that will restrict what they can do with their computers. This is a substantial implementation effort; it's not clear that it will succeed in practice; and there are many design decisions to be made that will have a profound effect on user freedom and on the entire media industry. Now, you're telling us that you, Microsoft, are the one to do it.
Why should we trust you?
There are two parts: why should we trust you to be competent? And why should we trust you to be ethical? (That is, why would anyone expect you to make design decisions that will truly benefit everyone?)
No, the lawmakers are not what makes it just. What makes (or would make) the speed limit just is the fact that it is dangerous to drive too fast, because people might get hurt.
Notice that there is no supporting reason for assent to a single doctrine. In fact, if you begin with a principle of not hurting people, there is a reason against: it is ethically reprehensible to punish people just because they don't share your religion.
Everything!
I stand to lose any possibility of appeasing any of the hundreds of other alleged gods with different sets of rules and requirements; I stand to lose my freedom to a system, managed and manipulated by powerful people, that is evolutionarily optimized not for my benefit but only for the continued survival and control of the system; and most of all I stand to reduce my ability to freely make reasoned ethical judgements.
All this for a miniscule chance at turning into an immortal couch potato after I die? Somehow, that just doesn't seem worth it.
My god requires that you not believe in god in order to achieve paradise. He wants you to make decisions on your own, independent of religious influence. He's a tough god, because he wants you to do all the work; you have to figure out the answers yourself. If you believe in god, he sends you to hell for cheating.
Better not believe in god, then. You'd better stop, or you'll be in big trouble!
This problem was solved five years ago by MINSE (a Medium-Independent Notation for Structured Expressions). It's not just a design, it's a working implementation. See http://www.lfw.org/math for details, or visit a demo page to see output (compare it to the HTML source of the same page).
Summary: enter equations like sane people do, e.g. "a*x^2 + b*x + c = 0" or "x = (_b +/- 'root(b^2 - 4*a*c))/(2*a)". Type them directly into your HTML; no need to run a converter to generate your pages. They appear in your web pages, look much, much better than LaTeX2HTML because they're antialiased, and anyone with a browser can see them without installing any software. Even text browsers work -- they get an ASCII art rendering!
Presented to the W3C but sadly ignored. At first it was rejected because they thought extensibility was unnecessary; then after they realized extensibility was critical, threw out their design and started over, they ignored MINSE because it wasn't XML. But there's one little point they missed: it actually works. Five years later, MathML is still vapourware -- and even if it did work, it would be completely unusable by teachers.
information more flexibly than in the arcane
ways we currently force files
into a directory structure.
Check out the work on
Placeless Documents
and
Hans Reiser's white paper on name spaces
. I find that stuff really interesting
and encouraging.
Nice overview, Christopher. I'd like to add one thing.
I think you missed mentioning the most important reason why trojan executables and viruses don't spread as easily on Unix systems.
Unix has a concept of execute permissions.
Windows will happily execute any file ending in a variety of extensions (and that list is not small or consistently defined). In Unix, on the other hand, you must turn on execute permissions before you can execute a file, and files are created by default without execute permission.
An attachment saved on a Unix system would generally be treated as data and saved in a non-executable file. The inability to distinguish between commands and data promoted by Windows and Outlook is, i believe, the main factor in ILOVEYOU's devastating success.
-- ?!ng
Congratulations to the Dreadling people for a nice piece of work.
I noticed some comments here about the speed and interface; you may want to check out Escape, a demo i wrote in 1997. I believe it was the first real-time texture mapping program ever created for the Pilot.
Get it from http://www.lfw.org/pilot/.
It has about twice the frame rate of Dreadling; its graphics are simpler (no monsters, no greyscale) but i think the maze looks nicer, and the faster response is a big win.
Steer by dragging the pen around the screen, rather than using the buttons.
-- ?!ng
Yeah, it would have been nice if "Malkovich" was spelled right in the story, but that's okay.
I'm just proud that my site got Slashdotted -- on a mediator no less! -- and it didn't go down. Say, anybody want the code? :)
--?!ng
Hi everyone! I figured while everyone was checking in and patting our friends from Waterloo on the back, i might as well join in too. Congratulations to Donny, Jeff, and Ondrej!
I did the contest once, but there are no memories of the math building's comfy lounge for me: I graduated from Computer Engineering at Waterloo in 1998. 1994 was a fun year: we went with united forces from CS and Engineering and kicked butt. Those ACM contests are really fun, though i agree with the others that judging errors do suck and some accountability would be nice.
I've known Donny from a long time ago...
-- ?!ng
What most of these language translation programs need is a better understanding of context. I was surprised to find that Altavista's Babelfish utility has very poor analysis of context (possibly none at all). For example, when translating from English to French, "run" always translates to "exécute". For a sentence like you get which is reasonable, but if you translate you get which doesn't make any sense. More incredibly, "store" always translates to "mémoire". You would think that, if they were going to force every word to be interpreted in one sense, they would choose the most common meaning. But this choice leads to insanity where translates to
With knowledge of context, a more advanced system could notice situations in which it was more reasonable for "run" to have a particular meaning. In the last example, "run" is followed by a prepositional phrase indicating a direction, which would imply that the meaning involving physical movement is appropriate, and so on.
Even more revealing is the fact that the confusion of meaning happens differently for different languages. If you translate
into Spanish, you get the hilarious result: For translation software that has multiple language targets, i would have expected it to first resolve the meaning of the English sentence into an internal semantic representation before using it to emit Spanish or French. The above would be evidence that the Systran software has no such representation -- or at least that their representation is too weak to indicate the difference between "store" as in "memory" and "store" as in a warehouse.-- ?!ng
> Bidirectional - yes. Should have done it years ago.
Guess what? We already have them for the Web.
See http://crit.org/ for bidirectional, typed, fine-grained links into any Web document. Annotate any existing document publicly with a link to a new document, enabling you to comment, rate, and connect together existing information in new ways.
It's one small part of the dream of what the Web should be.
Marc Stiegler, the author of this page, also wrote a science-fiction book called "Earthweb" which is an excellent introduction to many of these ideas and an exciting speculative story about the world we might live in one day.
If you're curious about the future of computing or interested in hypertext and collaboration, at all, definitely check it out (ISBN 067157809X).
-----BEGIN PGP SIGNED MESSAGE-----
Here's a little hack you might enjoy. Use this
script as a wrapper for pgp (i call it "pgpe" and
run pgpe as a drop-in replacement for pgp; it
will pass on command-line options), and encrypted
messages and signatures will be written and read
in "Echelon armour" format, like this one.
(This message was created by piping through
"pgpe -fast".)
Get it at http://www.lfw.org/ping/echelon/.
- -- ?!ng
-----BEGIN PGP ECHELON SIGNATURE-----
Version: 2.6.2
Ruby Ridge PROMIS Linda Thompson CID Vickie Weaver Kahl ONI
Special Forces Oliver North Vickie Weaver 5th group FBI George Bush
Task Force 160 ONI FBI MILGOV militia Gore Horiuchi Bill Clinton
bomb OKC Special Forces Vickie Weaver PROMIS Delta Force Randy Weaver
Task Force 160 Vickie Weaver Vince Foster Special Ops Constitution
Kahl Waco Park On Meter Gore CIA Hillary Hillary MI5 OKC
Vince Foster drug ATF Park On Meter M16 drug Special Forces C4
Linda Thompson Hillary Gore Terrorist Vickie Weaver comitatus Gore
gun ATF Terrorist MI5 assault rifle 5th group C4 Vickie Weaver
Terrorist Bill Clinton assault rifle Wackenhut Oklahoma City Davidian
Linda Thompson Special Forces Constitution assault rifle ONI Horiuchi
Bill of Rights ONI BATF AK47 handgun George Bush FBI AK47 Koresh
gun 5th group PROMIS Ruby Ridge posse Whitewater PROMIS Constitution
POM Bill Clinton Cherokee AK47 bomb Constitution PROMIS Kahl DOD
revolution Davidian ONI SOF OKC Constitution POM M16
Special Operations Group DOD MILGOV revolution C4 Koresh Oliver North
Special Forces CIA Terrorist AK47 Oklahoma City FBI Oklahoma City
Special Operations Group assault rifle Terrorist posse MILGOV
5th group SOF Special Forces NASA SOF Oliver North 12th group
Hillary Ruby Ridge PROMIS bomb revolution Constitution Wackenhut
militia Task Force 160 bomb CIA SOF Hillary Vickie Weaver ATF
terrorism drug ATF IRS Bill of Rights Delta Force Kahl OKC
Oliver North BATF Davidian Whitewater DOD NASA ONI OKC militia
Delta Force Vince Foster Linda Thompson 12th group FBI Malcolm X
Koresh MILGOV 12th group IRS Kahl posse M16 Whitewater Constitution
MI5 NSA Park On Meter 5th group Arkanside ATF Special Ops Hillary
handgun bomb MOSSAD Ruby Ridge comitatus Randy Weaver ATF
Vickie Weaver assault rifle Vince Foster Arkanside SF hijack SF CID
NSA Koresh Special Forces hijack
-----END PGP ECHELON SIGNATURE-----
I'm sorry, but "let's use XML" has only about the same information content as "let's use ASCII". I've got it! We'll send the information in
XML is a transmission and encoding format. That's all. We are sending LISP s-expressions over network channels. That's all. It's all just trees.
XML does not give you schemas; it does not give you semantics; it does not answer the question of how to standardize your tags in DTDs. XML has no design content. It just gives you a nice popular acronym to rally around.
This is not to say that XML will not have its uses. Trees are good for some things. But let's recognize it for what it is, please: a tree serialization format, not a solver of all problems, and certainly not a distributed object messaging protocol.
The best response to "let's use XML" really is the same kind of response appropriate for "let's use ASCII". Okay, fine, use ASCII. But what will you do with it?
-- ?!ng