Friday, January 25, 2013
Reply to Scott Walker
Also, I think the Church has a weak internet presence; for example, the Vatican's website is only the 4th result for "Catholic Church."
The Church has indeed had many scientists; but they are in the minority today. Pope Benedict XVI apparently desires to change this, but the fact that Catholic scientists are the minority in the first place means something in the way the Church works has gone askew. I'm not certain if, as you seem to suggest, being Catholic makes one perform better in math or science; but I think it's irrelevant; the problem is demographics, not talent.
As far as history, I was trying to show that man created, if not God himself, then all of the notions and words surrounding God. I'm fairly confident the trilobites didn't have a bible, or a language, or even coherent thoughts that could conceive of "God"; what has changed since then, other than the works of man? I have no direct experience of God; the evidence I have read shows no direct experience of God; therefore I conclude it is not possible to directly experience God; thus God is not relevant to my decisions; thus I have no beliefs about God and consider any statements about him to not be statements of fact but instead statements about something else. (This argument applies mostly to God; something physical, such as the Catholic Church, is directly experienceable, and thus factors into my decisions; it can go so far as to causing me to say that "I believe in God", where the spoken word "belief" is redefined from my preferred meaning of expectations about one's direct experience to some sort of signal of approval of the Catholic Church)
My standard of evidence is not the requirement of "photos, data-readings, and peer reviewed articles"; but the Bible has factual inaccuracies, so I don't think one can easily deduce that Adam existed from the Bible. I don't see any evidence for Adam other than the Bible; thus I conclude, that the Biblical Adam is not directly experienceable and thus irrelevant. Similarly for dead people (not experienceable, although their books etc. might be), fictitious ideas, nonsense ideas, etc.
As for the Ten Commandments, they may be clear in some situations, e.g. "Thou shalt not kill", but I think most decisions are not clear-cut, and multiple rules apply. I don't see any procedures for weighing values against each other to decide which is more important; thus, I say that it is "non-specific". As for arguing with hypotheticals, the whole point is that it is an extreme situation. Let's flesh it out a bit; say you wake up from being unconscious on a bridge with no railings, after having been kidnapped by Islamic terrorists, and find a man standing in front of you (near the edge), holding an AK-47 and apparently about to shoot 5 hostages. Surely it's clear that you should push him off the bridge or at least attempt to disarm him? Now consider a similar case, indistinguishable from the previous unless you know the context; the man holding the AK-47 (which is unloaded) is actually a hostage, who has been told that a sniper will shoot him if he doesn't appear to be about to kill the other 5 people, who are actually more terrorists that will torture you if you don't push the man with the AK-47 off the bridge, but will otherwise send you back free to America as you have shown that you agree with their morality. This, clearly, is a much less likely scenario; but after just waking up, you have no way of knowing which is which; perhaps the situation is even more complicated than I described. But you must act instantly, or else the sniper will shoot you once he notices you are awake (you can see the sniper from where you are lying on the ground). Or consider a war; perhaps Private Jenkins (who has a suicide explosive pack) can be sacrificed to save Privates Adam, Blaire, Cain, Dominic, and Eric; but if he is not sacrificed, then everyone else will die a horrible death but Jenkins will be spared at least temporarily while they remove his explosive pack.
Even with all details specified, I don't see much from the Church on how to decide on a course of action. But e.g. utilitarianism can make those quick decisions: 5 people alive is better than 1, if nothing to distinguish those people is known. Perhaps utilitarianism is not a "humane morality"; but if the Church cannot even provide an answer, then I don't see how it can have any claim to have a theory of morality; if the Church has no theory of morality, then it is just another institution set loose in the world without guidance, and I don't see any reason to accord it any special status beyond that of, say, a multinational political party.
Friday, December 14, 2012
Ideas on UI
One of the columns missing from the last post was UI. That's mainly because I don't know enough about its history to divide it up into generations. But I think there are two general trends, namely in expressiveness (blinking lights → black-and-white → color → really big color, holographic, etc.), and in ubiquity (giant fixed → giant unfixed → portable → wearable). It's hard to say which of these will win out in the end, or indeed if they're in competition or rather that one is a lagged version of the other; but there is tension between a “Matrix-like” mind-machine interface and a “networked world” tool to access data. The question is whether the display takes an active or a passive role; does it modify the user's perceptions, or does it occupy the perceptual space?
This tension is probably most obvious in audio; the space is well-understood. A human has two audio inputs, a left ear and a right ear. Given a sufficiently expensive sound system, we can set those inputs to anything we like. We are given an audio environment, say at a music concert. What do we play? One trend says to play from the source: give the music as the music creator hears it, immersed in the mood. If the creator hears the flutes from the left, the synthesizers on the right, so be it, even if no such instruments are present when the recording is listened to. The other says to consider the context: a jogger is listening to the music merely as a distraction, not as inspiration for her next music composition. Therefore a simple playback is needed, as though the music were coming from a miniature music box in front.
Perhaps the distinction I am trying to make is a false one; I certainly hope so. It is really a question of how the content is intended to be presented, either by its creator or by its remixer. Every playback of a recording is really the creation of a new song, a mixing of the audio filtered through the quality of the playback system and then mixed with the ambient background noise. A perfect playback system does not remove the need to consider mixing multiple audio sources together or how to selectively mute or master them. But who makes these choices? How do we enable security, e.g. so that a user is not lulled into thinking there is a floor where in reality a sheer cliff exists?
Collaboration has a natural analogy from real space to virtual space; two people in a room whether that room is real or virtual. But the analogy is not true; communications have latency, people are not always there, and you may not even know who or what the other person is. In the end, we are all just bunches of neurons, approximately 100 billion, whereas there are only 7 or 8 billion people. So one could conceivably devote a neuron to each person in the world, and network them together using a brain-computer interface and high-speed networking; such experiments have apparently been done on a small scale with rats (unfortunately I've lost the link; it used to be on Wikipedia) and shown to give a limited form of telepathy; they could coordinate and “swarm” more effectively than they could indiviually. Would this be the “ultimate” in collaboration? Perhaps not; maybe we would need to link more neurons or come up with other tools to communicate. But it seems like a good goal to strive for, in concept if not in implementation.
That, I think, satisfies ubiquity; what interface is more usable than that of your body? It is not so clear that it satisfies expressiveness; perhaps there are concepts that cannot be communicated by thought but must be written down. Would poetry have meaning to beings that feel each other's emotions? Humans do not record their senses like video cameras do; on the contrary, their skill lies in ignoring most of the outside world until it becomes necessary to act. So whatever the interface, there must still be some way to share reality as well as humanity; 3d holographic smell-o-vision, as an old teacher of mine used to say. From looking at a few sites, smell seems a little impractical, but 3d is on its way in commercially and real-time holographic displays are in the this-is-cool-but-how-can-we-mass-produce-it stage, i.e. the technology is there and proven but still too expensive (and big) for the average consumer. Haptics are progressing from vibrations to tactile surfaces, but again, nothing consumer-ready. Matrix-like direct interfaces that override the body's senses still seem to be science fiction, unfortunately; I guess people don't like being cyborgs.
Thursday, December 6, 2012
The Fifth Generation
|
Generation |
Programming languages |
Computing Hardware |
War |
Cryptography |
|
0 |
Switches and punch cards |
Abacus |
Random fights |
Plain text |
|
1 |
Machine code (stored-program) |
Vacuum Tubes |
Organized army |
Alphabetic ciphers |
|
2 |
Assembly |
Transistors |
Tactics and discipline |
Vigenere cipher |
|
3 |
LISP, Fortran, ALGOL, C, ... |
Integrated circuits |
Total War, attack supplies as well as defenders |
Enigma |
|
4 |
Haskell, Ruby, ... |
Cloud computing, many-core, ... |
Terrorism, propaganda, disinformation |
Public-key |
Do any of these have clear successors? There are hints, of course, but we might just have run up against a wall. Maybe there is no fifth generation. On the other hand, the world keeps progressing... so something has to follow them. Perhaps development of new ideas will just stop and we'll start fixing bugs instead of researching. Or computing will go from commodity to necessity as it becomes integrated with more and more technologies, perhaps even of our bodies. But something has to break...
Thursday, November 15, 2012
Version control comparison
Git
commit = info + tree + [commit]
tree = [(blob | tree | commit) + info]
tag = info + commit
Mercurial
commit = info + tree + (commit?, commit?)
tree = [file + info]
file = [info + (blob|diff)]
tag = file
Subversion
commit = info + tree + commit?
tree = [(tree | file) + info]
file = blob | diff
tag = tree
Bazaar
commit = info + tree + [commit]
tree = [type + text + info]
text = info + blob
branch = commit + info + tags + [commit]
tag = commit
Darcs
commit = info + [info + patch]
patch = file | ...
The differences are rather subtle, but make a big difference in UI.
Thursday, December 1, 2011
Clarifications of "Viewpoints Research Trip"
The main sticking point is that, due to what remains of the von Neumann architecture, there is something called "code"; the stored representation of a program. Code is not computation; it is data. This is why one is able to write compilers, reverse-engineer DRM, etc. - if code was actually a computation, instead of merely data describing a computation, it would be impenetrable. One doesn't read compiled binaries for pleasure, but the fact remains that they are still legible - they can be disassembled, studied, and as the Boomerang project showed, even turned back into high-level code. Actual computations are completely ephemeral; however hard one looks to find a computation, one will only see data. But they are an incredibly convenient abstraction for understanding the universe, so they can't be ignored.
Code is mobile; it moves around whenever one updates or installs an application. Computation is not, because there's nothing that can be moved.
Computation should be avoided if possible; it is slow, error-prone, and generally a nasty business. Data should reign supreme.
The web of today is in fact mobile code; particularly, 99% of it is written in Javascript. They do "download code and run it within a “page” with constrained resources". (One gets an "This page is taking too long to run" message after some time) I'm not certain what you mean by "mini operating systems", but Google and Mozilla are experimenting with web-centric operating systems that boot straight to a browser, and the amount of code that needs to be added is apparently quite small.
There is no difference between data and code; trying to create a "“document format” that represents documents as data, not as code" is futile. What one can do, on the other hand, is write it in a more or less declarative language; in other words, shift the burden of implementation from the programmer to the compiler writer.
The difference between Word, Excel, and PowerPoint documents is artificial; HTML is better than all of them. (Although the default presentation of the data is Word-like, and thus some javascript and css are required to allow Excel / PowerPoint formats; but see http://www.w3.org/Talks/Tools/Slidy2/ for how easy it is; see Popcorn.js and other things for how the web is evolving beyond these tools - the main issue of course is that a browser is a document consumption tool, not a document creation tool, so most people do not have the requisite knowledge)
I, of course, am indeed trying to solve "the whole problem of data representation, interpretation, transmission, and re-interpretation." There have been some quite promising results lately; extensible grammars, compilers, backends... the problem I wish to solve is that of creating a language without being tied down to any design decisions; in other words, a completely modular system; it seems plausible today. The design decisions would be offloaded into libraries, and developed by their users; but the underlying language would be the same, so that one could borrow constructs / algorithms / optimizations from other people without difficulty.