Older blog entries for mslicker (starting at number 44)

5 Mar 2003 (updated 5 Mar 2003 at 20:33 UTC) »
google censorship

It appears google is censoring my posts to comp.lang.forth (this is the only group I post to). No notification was given nor any report of what was considered abusive.

I don't post there frequently, but where I have posted, I think I am having a very positive effect on the community. I have caused people to reevaluate their assumptions, and to some extent I have bridged the gap that has split the Forth community in two. My posts are at times colorful, often quite critical, but this is expected for usenet. The decision to censor my posts, made by whom I don't know, seems entirely arbitrary.

Indeed, in google's Terms and Conditions, they explain quite clearly google can do whatever it wants with what is posted through their service:

Google reserves the right at all times to disclose any information as necessary to satisfy any applicable law, regulation, legal process or governmental request, or to edit, refuse to post or to remove any information or materials, in whole or in part, for any reason whatsoever, in Google's sole discretion.
Google reserves the right to terminate or restrict your access to any or all of the Groups at any time without notice for any reason whatsoever.
If this was not bad enough, then comes the license grant:
By posting communications on or through the Service, you automatically grant Google a royalty-free, perpetual, irrevocable, non-exclusive license to use, reproduce, modify, publish, edit, translate, distribute, perform, and display the communication alone or as part of other works in any form, media, or technology whether now known or hereafter developed, and to sublicense such rights through multiple tiers of sublicensees.
Of course it is google's service, and by using it I agree to these terms. However, far more importantly I feel google has betrayed my confidence. Two of my posts are lost, and creative energy imbued in them. I could try to rewrite, but it is not the same. there is an energy in the moment and trying to recreate that can be difficult. A simple notification telling me I can't post through google would be far preferable, as I don't have to waste time and energy, and I can find a service that will post my messages.

And there is issue of far greater importance then my personal mishap. That is the amount of faith currently endowed to google. Many aspects of google's services are of high quality which has lead to google's popularity which in turn has given google a totalitarian position on the web. Their operation for the most part is good natured at present. However given their power, they could very turn down a far darker path, if they haven't already done so. Will the internet be able to break free of google's grasp should this happen? It should not be forgotten freedom from censorship is what makes the internet such a distinct medium. Compare the range of views found on the internet with the highely censored medium of television.

Also is there an alternative to the google group service? It seems there should be a public archive of usenet independent of the "sole discretion" of a single corporation.

--- Update

I found an interesting article which expresses precisely my concerns. It seems I am not alone in my concern of Google's position. As to what should be done, and what difference I can actually make I don't know. I feel public access and distributed public archives are a must for the future health of usenet.

bjf, I admire your veracious replies to mglazer's daily right-wing propaganda, but I take exception to some comments you wrote:

I still stand by my recent thesis: rational and logical discourse with extremists is a waste of time. It is the same if they're religious zealots, Marxists or fascists - their sacred "self evident truths" are unassailable by logic and reason. The best one can do with these kinds of people is to attempt to sideline them, make them irrelevant in order to neutralize their poisonous influence on society.

However, self evident truths form the very basis of logic and reason. To reject self evident truths is to reject logic and reason. As Bertrand Russell puts it:

In so far as it is primitive and undemonstrated, human knowledge is thus divided into two kinds: knowledge of particular facts, which alone allows us to affirm existence, and knowledge of logical truth, which alone allows us to reason about data. In science and in daily life the two kinds of knowledge are intermixed: the propositions which are affirmed are obtained from particular premises by means of logical principles. In pure perception we only find knowledge of particular facts: in pure mathematics, we only find knowledge of logical truths. In order that such a knowledge be possible, it is necessary that there should be self-evident logical truths, that is to say, truths which are known without demonstration. These are the truths which are the premises of pure mathematics as well as of the deductive elements in every demonstration on any subject whatever.

To group religious zealots, Marxists and fascists as the same is simply dishonest. If this is your method of sidelining or making irrelevant what you disagree with, the world is a better place without such commentary. In particular Marx (a philospher and economist) in his day was one of the strongest opponents of religion. His method of analysis was the scientific method of analysis. Marxists were among the first to recognize the rise of fascism and the dangers it posed to humanity. To say Marxism is poisonous influence to society, is simply a reflection of the ruling class's views. To this day Marxism poses the primary threat to their established practice. Hence the constant suppression of Marxist thought in every sphere of society. This is no more true in than in the United States. There is no party of the working class in United States. The lines of debate between the Democratic and Republican parties (the two main parties in the United States) are predominantly between maintaining social services vs. eliminating social services (eliminating "big government"), gun control vs. less gun control, pro choice vs. pro life. The distinctions between the two parties on each of these issues are primarily rhetorical. Most importantly the two parties remain in substantial agreement on foreign policy, economic issues, and the rights of citizens ("homeland security").

Finally bjf writes:

However, ultimately, the power to change the world lies with ordinary people like you and me. In democratic countries where voting is optional, vote!. The system is designed specifically to allow anybody who wants to get involved, to get involved. Vote, join a political party, or support your favorite political causes. Only then can our governments stand a change of reflecting the wishes, desires and aspirations of the majority, rather than a purile corrupt minority. Many people stuggled, fought and died for centuries to build and preserve our system of political freedoms; however our relatively enlightened political systems are constantly under threat unless enough people step forward to make the system work.

The first sentence is indeed true, the true power for change is with the majority. As you continue, you misunderstand the political situation the majority face in so called "democratic" countries. In the United States, major political events fostered by ordinary people such as protests and demonstrations are barely reported in the American media. When these events are reported the participants are marginalized as "extremists". Their views do not come across, there is no debate or recognition of the views from the establishment.

I've briefly outlined the choice U.S. citizens have at the ballot box. Third parties at best can hope to influence the politics of the main stream. From the last presidential election, the significant vote for the Green Party and the policies they represent have had virtually no effect on current policies. The will of the American public can simply not find its expression in the current political system. Not to mention the U.S. presidential election of 2000, where the will of the majority was undemocratically overturned by the unelected right-wing majority of the Supreme Court.

The reason I don't reply to mglazer's daily propaganda is that I understand that he is just one node in the right-wing propaganda network. And it is likely he is a terminal node at that. It is a noble a effort to attack the lies of this network, but probably much more effective to go after the root nodes. In particular, in this log there is no explicit support of mglazer's writings. Refuting his writings is not likely to enlighten many here. In challenging your writing I hope to shed light on issues often misunderstood by left and right alike.

Dijkstra

There is a pretty amazing documentary of Dijkstra on his site

He talks about elegance and his computing experiences. The film itself has an elegance to match, beautiful photography, smart editing. It is 300 MB, but quite worth the download if you are a fan of Dijkstra.

It is hard not to notice the similarity to Chuck Moore's thinking. Both came to computing before the rise of the modern computing industry. Both are exceptional thinkers who value elegance and simplicity in computing. It would seem the art of programing is quickly slipping away in the hands of contemporary programmers.

Linux(used figuratively, as the media) has often been critized in the media as "not ready for the Desktop" (i.e. not enough like windows). Now the criticism is that it is "too much like windows". The irony! It goes to show you can't win with the idiotic media. It is best to do your thing and solve your own problems, not try to meet the expectations of people who write stupid articles.

raph, The important question about automated proof checking, is will it improve the practice of Mathematics, and in your case will it improve the practice of programming?

I believe the main things lacking in the practice of programming today are the lack of good problem solving skills, and clear ideas about software's function and purpose. If basic competence of programmers could be cultivated that would be a large step forward. To believe programmers are going adopt a level of rigor even greater than that of professional mathematicians is quite far fetched, at least in near future.

To some extent, I think projects like GNU/Linux help cultivate bad programming practice. There is an effort to create libraries for every concievable problem. Now, I'm not against reuse, I think reuse is good practice, but perhaps reuse should be on level of ideas and algorithms, instead of sets of functions and data structures. Programmers don't evaluate the code they are using. How well does it really solve the problem, how close is the solution to the actual problem they wanted to solve? Developing problem solving skills natually leads to a precise understanding of the function of code.

Language also contributes great deal to the level of rigor of the programmer. The dominant language of GNU, the language which serves as the foundation for all other software of GNU, is also one of the most intelectually lazy languages of the lot. I'm talking of course of the C language, examination of ANSI standard shows the true fuzziness of the C language semantics. How is a programmer expeced to be precise in a language when the language designers wern't precise in it's creation. What percent of C language programmers understand the precise semantics of the language?

Then there is the issue of design, too much design is layed out in advance, too much design is taken for granted. When is a programmer ever given a clean slate? Linux serves to abstract the hardware. Hardware is viewed as something grotesque, to be covered up. To some exent I agree, but Linux is not an overwhelming improvement. File systems are the single most overused overated abstraction in existence and also the most taken for granted. The OS is the creatation of a programmer designed to protect other programmers from their actions. Hardware designers express similar motivations in their hardware design. The possibility of designing hardware which trusts the actions of the programmer is rarely considered.

In the current state of things, I find it hard to believe automated proof checking is going to advance state of programming practice, or really even make a dent of impact for that matter. If there is any value in automated proving techiniques for programming, I think it is in fully automated proofs of program properties. ML makes a strong contribution here. The pattern matching of ML ensures all clases of input are handled by he programmer. Static anaylsis of programs is large field of computer science, which has a steady stream of results. For example, things as complex as program termination have been proved automatically for large clasess of programs in Prolog. Perhaps these analyses can instill a greater sense of rigor in less skilled programers, but the larger deficit of design and problem solving skills remains unanswered.

27 Nov 2002 (updated 27 Nov 2002 at 16:24 UTC) »

Alternate fibonnaci:

(defun f (n x y)
  (if (< n 2)
      y
      (f (- n 1) y (+ x y)))) 

(defun fib (n) (f n 1 1))

I'm not a lisp guru, so there may be a better way to express this. The idea is similar to the way humans compute the fibonnaci sequence.

MichaelCrawford, That is one of the sillier sayings I've heard. Whether you vote or not, you are still a constituent of many government officials (in the U.S.). Criticism of government officials is in no way invalidated by not voting, or voting for a candidate not eletected into office.

Maybe the intent is just to get more people to vote. I think if people actually felt they were being represented in some way, they would turn out in much higher numbers. Superficial "get out the vote" efforts are not a long term fix for a decaying democracy.

It apears the very argumentative practices tk seeks to root out, are the most prominent ones tk uses in his own argument. What hypocrisy!

29 Sep 2002 (updated 29 Sep 2002 at 20:09 UTC) »
bgeiger writes:
I've got a better idea: how about you prove that it can?
I already have, Forth can gernerate arbitrary machine code, the result in this case is just machine code. Code is just superfluous.

I might code something like this though, however I think this interface idea is worn out. It has been done and redone, and I haven't seen much improvement. What I really like is Chuck Moores ideas, with his context based interfaces. The screen is used in full and changes depending on the context. The problem may arise when you want to use the result of one context in another context. Perhaps in that case there is way to design around it, only experimentation will tell. User interfaces are far more fuzzy when it comes to proving one way is better than another. Code is a user interface of sorts, which makes it a hard case that Forth is a more efficient interface than other methods. I have come to realize the Forth interface may not be suitable for everyone. I only recommend it as a very good way to program, one which I have experienced first hand, I'll leave it up to the individual to decide if it is right for him/her.

28 Sep 2002 (updated 28 Sep 2002 at 18:17 UTC) »
tk's "SHOW ME THE CODE" is unreasonable. Why? With Forth I'm discussing a general purpose tool, one which can be applied to any problem. Must I recode everything that has ever been coded to prove this point? This is impossible. For one there are an infinite number of problems a person using Forth would want to address. For another, I would have a devote all my time to this task with no hope of finishing.

tk's "SHOW ME THE CODE" is a copout. He can't make any point, so he gives me a task to code which I've never had any intention of coding.

If tk actually wants to make a point, why doesn't he show all of us why his pet software can't be implemented in Forth. But really, any counter example would do. This is my chalange to tk. If Forth is not a general purpose tool it should be quite easy to find a computing problem which is cannot be applied to.

--- Update

tk caught my imprecision, I'll give him that much. That he would use it distort my argument is expected (given his general dishonesty), which reminds to be even more precise in my argument and reasoning.

For the record. I'm not claiming Forth can solve unsolvable problems (halting problem, ect). I'm not claiming Forth can solve impossible problems (Duplicating GNU in 10 bytes).

What I am claiming, is that given a solvable problem on a real machine, Forth can be effectively used (the solution can be expressed concisely in the language), to find the optimal solution to this problem. This is true, since Forth gives precise control over the machine code generated, precise control over storage, and has no restrictions. The optimal solution can first be aproximated in the language. An even closer aproximation can be atained by fine grained control of machine code. The actual optimal solution will most likely never be reached (in any language). Forth is a tool which makes excelent aproximations possible for complex problems. Specifically, it provides the necessary tools of abstraction and information hiding required to make this approximation tractable for a human being. I know of no other language which does this. Lisp also provides the necessary tools of data abstraction, and information hinding. However Lisp does not give fine grained control of storage and machine code. That is perhaps the main seperation between the two.

35 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!