Notes to myself about the design of an utopia Sci-Fi story

To illustrate my ideas about designing a better make-work economy, I wish to write a Sci-Fi story. There have been several stories which illustrate perfect (in their authors’ opinion) utopias, starting from the original book by Thomas More (circa 1516) through books such as The New Atlantis (1627) by Francis Bacon, Altneuland (1902) by Theodor Herzl, and Atlas Shrugged (1957) by Ayn Rand.

There are several ways to depict an utopia in Sci-Fi literature:

  1. The protagonist tours the utopia. Some of the natives escort him and show him things and lecture at him and teach him the ideology.
  2. The protagonist believes that the utopia is an enemy. He enters the utopia with warlike intentions. Most of the story describes the conflict, during which he learns more and more about the enemy. The story resolves when he learns the virtues of the utopia and becomes a convert.
  3. The protagonist fights the utopia as before, but is defeated. Through an account of the war, we learn about the utopia’s modus operandi.
  4. The protagonist is a confused youth, who has discovered that something is horribly wrong with the world. The plot is driven by his conflict against the Establishment. The conflict is eventually resolved when he learns the true nature of the utopia and of his parents or mentors.
  5. The protagonist has some mental illness, which prevents him from coping with the utopia. He is locked up in an institution, and knows nothing about the world. He escapes the institution and tries to survive in the world. He fails and is returned to the institution.
  6. The protagonist is a revolutionary, who has caused a major change in the country’s regime to occur. He shares with the story’s readers a vision of the utopia toward which he is leading his country.

One way, which I do not remember reading in the Sci-Fi literature is as follows.

The country reached the utopia through process of evolution, making mistakes and learning from them. The story’s plot consists of the tale of such a mistake, and how the utopia coped with it and evolved further.

Apr. 30, 2018 update: I did write a booklet of short stories illustrating my utopia’s design. It is available in Hebrew as סיפורי עושר מדרגה שלישית.

Suicide bombers not legally responsible for their actions?

Recently I saw a LiveJournal entry by someone (name does not really matter, as several people hold the same attitude) who claims that Israeli soldiers, who fight Palestinians in Rafah and other places, are war criminals.

I replied and complained that they are overlooking the nature of the enemy of those Israeli soldiers. This is an enemy who is not fighting for its own liberty or economic advantage. This is an enemy who is fighting to kill the people of those Israeli soldiers.

The typical Leftist closed-eyed attitude was manifested in the reply by that someone: “Your comments are not welcome in my journal. go away.” accompanied by no attempt to counter the points which I made.


I would like to raise the general issue. How do you deal with people who have been brainwashed to believe that they must kill you? Do you kill them only because of the crazy memes that they carry in their brains? By this logic, one third of the Germans would have had to be killed at end of World War II due to their having been infected with the Nazi meme.In the case of the Palestinians in Judea, Samaria and Gaza, the problem is that the youths are brainwashed by their elders to believe in the virtue of becoming suicide bombers and killing Israeli civilian children, women and men; and that 72 virgins are waiting in the Garden of Eden for anyone who has committed such an act.According to the established Western standards of law, such brainwashed people are not legally responsible for their actions. This means that they should not be tried in court for their attempts to be suicide bombers. However, they can be institutionalized as legally insane.

Such a treatment would have been feasible if the number of people infected with the Suicide Bomber meme were on order of hundreds, or at most, thousands. However, when about 60% of the multi-million Palestinian population are infected with the Suicide Bomber meme, what can be done to deal with the situation?

I’d say that the ethics of the situation are similar to the ethics of dealing with an high mortality rate plague. If you do not have the resources to isolate and treat all sick people in an area, you cordon them off and let them die. You do try to treat sick people wherever their number is small. If a powerful and effective medicine is found against the disease, you of course venture into the cordoned-off area and try to treat as many people as possible at as short time as possible.

But, when the disease consists of poisonous memes in the brains of large percentage of the people in an area – what is the appropriate treatment?

Police and junk FAX messages

I am deaf and I use (among other technologies) a FAX machine to keep in contact with other human beings.

Recently a sales operation has been sending me junk FAX messages touting their offerings.

During the last few weeks, I saved six FAX messages. The first, second and fifth messages were accompanied by my request to stop sending me FAX messages. So I could prove that my request does not yield the desired outcome.

Today I went to the police and lodged a complaint against the anonymous (identified only by a voice phone number) sender of the FAX messages.

Tips from my experience:

  1. Bring with you several coins of 0.10NIS. The photocopying machine in the police (in case you need your own copies of documents) costs 0.40NIS per copy. Small change is not routinely available in the police station. Not even in the cafeteria (unless you buy something there).
  2. Bring your ID card and the junk FAX messages.
  3. Prepare details of your own attempts to contact the sender and get the sender to stop sending you junk FAX messages.
  4. At around 09:15AM, there was no queue and I was served immediately.

About the proper way to deal with writers of computer virii and worms

Steven Landsburg proposes to execute writers of computer virii and worms. This is just an extreme expression of the general sentiment that threats to punish writers of computer virii and worms are an adequate way to plug security vulnerabilities, which allow those virii and worms to propagate.

My thesis is that this sentiment is wrong. It is horribly wrong.

When a burglar picks a lock and enters into a building without permission, he is punished (if caught). This is reasonable, because a burglar cannot pick more than one lock at the same time. Any damage he may be doing at a moment of time is limited to a single site. Besides, high quality locks are very expensive.

However, when there is a vulnerability in a software package in widespread use, a cracker has the power to pick the equivalent of one million locks at the same time, by writing a worm which exploits this vulnerability.

If we do not require the software writers to fix this vulnerability promptly by assigning to them responsibility for worm damage, then several installations are at risk. The risk is not only due to crackers. It is theoretically possible, even if rather improbable, for a PC to create automatically self-propagating software by corrupting existing software due, for example, to noise, soft errors (due to overclocking or overheating) or disk crashes.

Besides, the cost of deploying patches which fix the vulnerability, once it is discovered, is very low – unlike the cost of replacing a broken door lock.

Another analogy. Let’s say that a certain bridge was designed and built. The bridge can carry its designed load of pedestrians, cars and trucks as long as they pass on the road passing through it. But an hammer tap on the side would cause the bridge to immediately collapse. Obviously, the bridge designers did not do their job properly. Should we treat as criminal someone, who waits until the night (when there is no transportation on the bridge) and taps on the bridge’s side to trigger its collapse? Probably not, because he is saving us from false reliance upon a bridge, which might suddenly collapse if a strong wind threw a stone at its side.

Yet why do we treat as criminals crackers, who exploit vulnerabilities of widely used software to spread worms, whose payload has only nuisance value? Especially when the software vendor/s in question are not prompt in fixing the vulnerability in question.

35 years with computers

Jakob Nielsen’s Thirty years with computers reminded me that I am about two months shy of my 35th anniversary of computer usage.

My first computer was the CDC 6400, which served the computing needs of the Hebrew University in Jerusalem, Israel. The computer had a lot of magnetic core memory – 32K 60-bit words. That is 240K bytes (or 320K characters, as CDC 6400 represented each character in 6 bits). I communicated with it by means of punched cards, which spoke FORTRAN IV. It communicated with me by means of printouts, for which I had to wait an hour after submitting my punched cards.

The thing which I remember most from that time was the extremely limited power of the programming tools then available. It happened sometimes that I wanted to do something, but the language or the libraries just did not have the requisite feature to support what I wanted to do. Today, almost all languages and libraries are complete in this way.

My vision for year 2039 (that’s 35 years from now) is that the languages, to be used for communication between humans and computers, will be much more powerful. They will make huge strides toward the Software Engineering ideal of having a small change in specs always translate into a small change in the source code of the actual software. Any case, in which a small change in specs yields a big change in the final software’s source code, will be a major news item, a reason to invent a yet more powerful computer language, and lots of rejoicing by bored software developers and language lawyers.

Why is XML much more popular than LISP and Scheme?

As I read Extensible Programming for the 21st Century, I pondered the secret of success of XML. In a way, I am already using XML software (glade, the GUI editing tool, saves the edited GUI description in a XML file, which can later be read by a Python library and used to construct the GUI for a script).

After all, it can be considered to be just another syntactic representation of LISP or Scheme. For example, the transformation between
(+ 1 2)
and

<paren>
   <token name="+"/>
   <token name="1"/>
   <token name="2"/>
</paren>

is trivial.

My guess is that XML succeeds because it allows the developer to add types to S expressions and to constrain them and their contents. This is like imposing hard-typedness on variables and/or their values in a conventional programming language. XML works because the developer can give different names to his expressions besides the equivalent of naming every tag <paren>.

As a proof of concept, it may be a good idea to develop a XML representation of a script in a popular scripting language (such as Python), along with code for transforming the script between its language and the language’s XML representation.

Advice to platform developers

If you are developing a platform or framework or hardware or OS and want other people to develop applications on top of your creation, then the following will make it easier for them and save you from being cursed by your developers:

  1. Ability to script all steps involved in building software.
  2. Ability to run script-based regression testing.
  3. Make your source code available to the developers, so that they can fix bugs which kill their applications, work around annoying limitations which you did not realize, and in general avoid the Stallman’s Printer Driver syndrome.
  4. Make it possible for people with limited budgets to participate in the party, because cool ideas and money do not necessarily go together.
  5. Build in logging and debug support.
  6. Training for developers – courses.
  7. Mailing lists and Web forums for your developers.
  8. Excellent documentation, with several examples, is mandatory!
  9. Mechanism for reporting runtime failures. Due to psychological reasons, it must be as easy and pleasant as possible for software developers to activate it in their software.

The above checklist was put together at November 2001 after having using few platforms for developing cellular applications, which drove me crazy by their utter failure to follow the above principles. I won’t mention names here but my resume is available in my Web site…

Requirements for deaf and hard of hearing people on mobile networks

There are several aspects which need to be taken care of in order to maintain compatibility between 3G cellular networks and equipment used by deaf people for telecommunications.

http://www.etsi.org/cce/proceedings/4_4.htm discusses several of those aspects.

Now, can someone invent a way to levitate a 3G cellular phone before a deaf user, so that the deaf user can communicate using Sign Language and have the cellular phone transmit his message via video? Otherwise, one-handed Sign Language dialect may have to be invented for each Sign Language in use.

Several years ago I wrote a report – Impact of New Telecommunication Technologies on the Deaf – which was based upon projections of future technological developments. It is interesting to review the report from today’s perspective and marvel at how much reality differs from forecasts.

  • Videophone capability is now available everywhere there is fast Internet.
  • FAX machines in Israel now are reasonably priced, and deaf people, who buy them, get tax rebates.
  • I personally have been involved in Hebrew localization of the Nokia 9110 and 9210i cellular FAXes in Ozicom Communications Ltd.
  • “Computerized information systems” are now very popular under the names “Internet”, “WWW”.
  • When the report was written, access to the Internet in Israel was allowed only to academic institutions and Hi-Tech companies, due to the monopoly of Bezeq on all forms of electronic communications. Liberalization happened at 1994, few months after the report was written. All forms of electronic communications still flowed through Bezeq’s veins at least part of the way.
  • 056 services were moved to other prefixes, as the 05* prefixes were assigned to cellular phone companies. They are a niche market, mostly for “adult activities”.
  • Computerized speech recognition is not here yet, at least for Hebrew.
  • The technology to contact emergency dispatch centers exists, but it needs to be properly deployed.

Wow, where is my Int'l Assoc. of Graphomaniacs membership card?

I have an acquaintance, who is not using the Internet, but is interested in matters intellectual. I told her about my blog and she was interested in what I have to say about the economic problems of developed countries and how I propose to fix them.

So I have printed for her what I wrote so far in my blog.

You see, I don’t consider myself to be prolific writer in any particular way. I didn’t think the printout would amount to much.

To my amazement, the stuff already occupied 20 pages! And this was barely 3 week worth of stuff!

At this rate I may have enough material for a book in half a year! This, even after I take into account the fact that most of the stuff which I write in the blog is not meant for a book.