<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for moshez</title>
    <link>http://www.advogato.org/person/moshez/</link>
    <description>Advogato blog for moshez</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 25 May 2013 22:27:42 GMT</pubDate>
    <item>
      <pubDate>Sun, 9 Nov 2003 07:38:22 GMT</pubDate>
      <title>9 Nov 2003</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=37</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=37</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/sisob/" &gt;sisob&lt;/a&gt;: You could, of course, compare to the Python version.
This is for Gtk+ 1, but I gather that the interface for 2
is even cleaner (I just couldn't easily find a tutorial
with an example I can hack). This example is straight
from the tutorial, except hacked to do what your version does.

&lt;p&gt; &lt;p&gt;Some concessions to the Advogato/HTML limitations: I usually
prefer to indent functions, even those with one statement. However,
I wasn't sure how to get it to look right, so "def hello" is not
idiomatic :( [but still works!].

&lt;p&gt; &lt;p&gt;Note how Python didn't make me define a class or even a top-level
function. Of course, I could, and the earlier versions of this hack
actually this have this. But I really want to make the GUI answer
to &amp;lt;code&amp;gt;print "Hello World"&amp;lt;/code&amp;gt; (which is a valid Python program
that...well...).

&lt;p&gt; import gtk&lt;br&gt;
&lt;br&gt;
window = gtk.GtkWindow(gtk.WINDOW_TOPLEVEL)&lt;br&gt;
button = gtk.GtkButton("Hello World")&lt;br&gt;
def hello(*_): print "Hello world"&lt;br&gt;
button.connect("clicked", hello, None)&lt;br&gt;
window.add(button)&lt;br&gt;
window.connect("destroy", lambda *_: gtk.mainquit())&lt;br&gt;
window.show_all()&lt;br&gt;
gtk.mainloop()&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 8 Nov 2003 10:53:07 GMT</pubDate>
      <title>8 Nov 2003</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=36</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=36</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/shlomif/" &gt;shlomif&lt;/a&gt;: I easily found a version that has been
posted in '99: &lt;a
href="http://groups.google.com/groups?selm=7vff9c%24udm%241%40nnrp1.deja.com"&gt;Here&lt;/a&gt;. Enjoy!

&lt;p&gt; &lt;p&gt;They have excellent quotes from the Neo-Tech pages there.

&lt;p&gt; &lt;p&gt;(And no, it is not OK to cheat at poker. It is ok to "bluff" at poker --
bet higher than it would be strictly rational to bet according to the
odds. Do you really think it is ok to pretend to be people's friend,
get them to play late into the night when they are too tired to think
coherently, and then take advantage of them? Read the book about how
to win at poker, or at least skim it, before trivialize its existence.)</description>
    </item>
    <item>
      <pubDate>Mon, 17 Feb 2003 12:14:22 GMT</pubDate>
      <title>17 Feb 2003</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=35</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=35</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/raph/" &gt;raph&lt;/a&gt;: That's not even the beginning of it (as long as you're not &lt;em&gt;too&lt;/em&gt; attached to "reverse chronological"). &lt;a href="http://moshez.org/discuss/threads.html" &gt;Some&lt;/a&gt; use it to write random rants about thoughts, &lt;a href="http://twistedmatrix.com/pipermail/glyph-discuss" &gt;others&lt;/a&gt; use it for purposes as varied as recommending commercial products to ranting about free software, while, and this has been a recent discovery for me, &lt;a href="http://www.livejournal.com/users/sunnydale_socks" &gt;still others&lt;/a&gt; use it to create interactive fan-fiction. Of course, the &lt;a href="http://slashdot.org" &gt;non-personal&lt;/a&gt; &lt;a href="http://www.kuro5hin.org" &gt;blogs&lt;/a&gt; also vary: from &lt;a href="http://advogato.org" &gt;free software&lt;/a&gt;, through geek community and ending in elitistic discussion sites, they cover all areas. However, you nailed one fact very accurately, and I thought it might bear repeating: Blogs are inherently webby: they are fun and useful because the web has, for all its limitations one advantage: however many links one puts, it does not disturb the stream of reading. Like in a &lt;a href="http://us.imdb.com/Title?0120201" &gt;certain horrible movie&lt;/a&gt;, they sit quietly, blued, asking us if we "want to find out more". They allow us to say what we mean by words like &lt;a href="http://www.gnu.org/philosophy/free-sw.html" &gt;free&lt;/a&gt; without needing to launch the user into an argument he already knows. It even lets us inform the user how we feel about technical issues, such as &lt;a href="http://www.kuro5hin.org/story/2002/11/18/22112/860" &gt;threads&lt;/a&gt; without reiterating age-old arguments. Blogs fit the web naturally: the sponteneously create links. Google uses the web as an intelligent network of links. Thus, Blogs enhance the web in a way that &lt;a href="http://www.google.com" &gt;Google&lt;/a&gt; is uniquely equipped to use to its fullest.

&lt;p&gt; &lt;p&gt;Like I said, I'm not saying anything that &lt;a href="http://www.advogato.org/person/raph/" &gt;raph&lt;/a&gt; did not, but I hope I put an interesting enough twist on it :)</description>
    </item>
    <item>
      <pubDate>Tue, 24 Dec 2002 07:26:58 GMT</pubDate>
      <title>24 Dec 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=34</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=34</guid>
      <description>&lt;p&gt;&lt;b&gt;Writing Advogato Diaries&lt;/b&gt;

&lt;p&gt; &lt;p&gt;The next version of Twisted will come out of the box with an example
that lets you write advogato diaries locally and send them to advogato.
If you see this diary entry, this means that this example works :)

&lt;p&gt; &lt;p&gt;XML-RPC seems to be useful, for some things, after all.

&lt;p&gt; &lt;p&gt;&lt;b&gt;Update!&lt;/b&gt;
&lt;p&gt;The code is &lt;a href="http://twistedmatrix.com/users/jh.twistd/viewcvs/cgi/viewcvs.cgi/doc/examples/advogato.py?rev=1.1&amp;content-type=text/vnd.viewcvs-markup&amp;cvsroot=Twisted" &gt;here&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 15 Dec 2002 16:24:47 GMT</pubDate>
      <title>15 Dec 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=33</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=33</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/raph/" &gt;raph&lt;/a&gt;: thanks. The link you gave does give an explanation, but an incorrect one, I'm adraid :) Think about what you know: going from the design (even a fairly specific one) to a fully working program is, at the very least, a factor of 20 in length. Let's treble it for non-trivial proofs like Jordan, in which many techniques which are hard to formalize as stand-alone lemmas are assumed as trivial, and we have a factor of 60. So, basically, if we assume the "classical" Jordan proof is on the order of a 200k, then we estimate the formal proof to be 60*200k = 3MB. That's 3MB of no-comments, "assembly" level math. Now, sure, the checker will find bugs in that proof. How long do you think it would take to completely debug that insane amount of mathematical proof? Uniquifying names, proving each non-trivial set operation usage, and so on.

&lt;p&gt; &lt;p&gt;Yes, it is embarassing to have a referee find an error in your paper. I doubt it happens very often: mathematicians, before submitting papers, go over them with a comb looking for errors. Then they ask colleagues to look at them. Then they give talks about them. This is a &lt;em&gt;much more&lt;/em&gt; efficient use of the time then translating it to assembly so the proof checker can verify it.

&lt;p&gt; &lt;p&gt;The author of the link you gave seems to argue that the proof checker will be able to fill in the missing details, because "computers are good at boring details". This is about equivalent to a statement that computers will be good at auto-debugging, because they're good at boring details. Computers are good at &lt;em&gt;repetitive details&lt;/em&gt;, not mere boring ones. Significant AI increase has to happen before computers can fill in the missing details, even those which would be easy for first-year students.

&lt;p&gt; &lt;p&gt;Now, on the question of correctness proof, my skepticallity has no strict basis in experience, so I cannot argue as strongly. However, I do tend to think that in non-trivial programs, &lt;em&gt;specifying&lt;/em&gt; the correctness correctly will be almost as non-trivial as writing the program.</description>
    </item>
    <item>
      <pubDate>Thu, 12 Dec 2002 20:15:00 GMT</pubDate>
      <title>12 Dec 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=32</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=32</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/raph/" &gt;raph&lt;/a&gt;: May I ask what the point of all these computer-verified
proof systems? I mean, yes, we all proved in Logic 101 that it is theoretically
possible, but seriously, what's the point?

&lt;p&gt; &lt;p&gt;Let me first clarify some things.

&lt;p&gt; &lt;p&gt;Mathematicians do have mistakes in their proofs, many times. However, I
seriously doubt such a system will actually help solving that problem.
I can speak with some authority, having a little experience in writing papers,
that writing a complete proof of a non-trivial statement would quickly
become onerous, and more bugs would be made in the translation.

&lt;p&gt; &lt;p&gt;I have learned, and taught, advanced math. Teaching math is about giving
intuition through proofs. Proofs written up as formal list of statements
give no intuition, nor an idea of how to solve similar problems, which is
what teaching mathematics is all about.

&lt;p&gt; &lt;p&gt;It is a nice toy. It is even fun to enter a few simple proofs. But,
having done some formal proofs, my experience is that the novelty wears
off and it becomes a mechanical boring process (and I &lt;em&gt;like&lt;/em&gt; this
stuff, basically!).

&lt;p&gt; &lt;p&gt;So, I think I've discounted "helping mathematicians", "improving math
teaching" and "having fun" as possible motivations. Either my logic is
wrong (pun not intended) or I have not listed all possible motivations:
which is it?

&lt;p&gt; &lt;p&gt;Thanks</description>
    </item>
    <item>
      <pubDate>Thu, 12 Dec 2002 09:54:38 GMT</pubDate>
      <title>12 Dec 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=31</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=31</guid>
      <description>&lt;p&gt;&lt;a href="http://www.advogato.org/person/kilmo/" &gt;kilmo&lt;/a&gt;: FYI, this characterisation of the Cantor group is awkward compared to the following characterisation. Take all infinite binary sequences. This is an additive group with the xor operation. Define the topology as the smallest one such that the set of all sequences which have 0 in the i'th place is both closed and open.

&lt;p&gt; &lt;p&gt;With this chracterisation you don't get an embedding the Cantor group on the line, but you do get an easy way to show all kinds of nice things.

&lt;p&gt; &lt;p&gt;Exercise: can you give this set another continuous group structure such that each element has order 0?

&lt;p&gt; &lt;p&gt;Hint: Can you give the set of all binary sequences of length n a group structure such that there are elements of order 2^n?</description>
    </item>
    <item>
      <pubDate>Thu, 12 Dec 2002 07:44:47 GMT</pubDate>
      <title>12 Dec 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=30</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=30</guid>
      <description>&lt;p&gt;&lt;b&gt;Thoughts About Legality&lt;/b&gt;

&lt;p&gt; &lt;p&gt;Yes, this has been done to death.

&lt;p&gt; &lt;p&gt;Background: I wrote the &lt;a href="http://www.twistedmatrix.com" &gt;Twisted&lt;/a&gt; web client stuff (well, a lot of it, anyway). Playing around with some of the features, I came up with a simple script which downloads the &lt;a href="http://www.dilbert.com" &gt;Dilbert&lt;/a&gt; home page, parses it for the image name, and puts it in an IMG tag.
Naturally, I wanted to put this example in the Twisted examples directory, because doing this in an async is a bit tricky, and it would be nice if newbies could see this stuff done.

&lt;p&gt; &lt;p&gt;&lt;a href="http://www.advogato.org/person/glyph/" &gt;glyph&lt;/a&gt;, the Twisted lead developer, vetoed it, for what seems to be a good reason: he claims it violates the &lt;a href="http://anti-dmca.org/" &gt;DMCA&lt;/a&gt;.
I certainly do not want to place my friends in legal jeopardy, so I refrained from adding it.

&lt;p&gt; &lt;p&gt;The script can now be gotten from my
&lt;a href="http://moshez.org/dilbert.rpy" &gt;site&lt;/a&gt;. Please,
download it and have fun with it. I hereby place it in the public domain, but it's more a toy than anything production-grade anyway.

&lt;p&gt; &lt;p&gt;It is annoying that this small hunk of cute Python code is illegal in the USA.</description>
    </item>
    <item>
      <pubDate>Fri, 29 Nov 2002 15:24:10 GMT</pubDate>
      <title>29 Nov 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=29</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=29</guid>
      <description>&lt;p&gt;&lt;b&gt;Thoughts About Usability&lt;/b&gt;

&lt;p&gt; &lt;p&gt;I am a very introspective person. When I feel a certain way, I would like
to understand why I feel that way. I have wondered why I am so often irritated
by people talking about usability in free software. An
&lt;a href="http://developer.gnome.org/projects/gup/articles/why_care/" &gt;example
of such an article&lt;/a&gt; (and a fairly good one, at that) is available from
the GNOME Usability Project. I was trying to understand what the core of my
irritation with the article. Then I stumbled on this gem:

&lt;p&gt; &lt;blockquote&gt;&lt;i&gt;Most of us probably want people to operate our programs, we
desire "users"&lt;/i&gt;&lt;/blockquote&gt;

&lt;p&gt; &lt;p&gt;And then it hit me. I don't.

&lt;p&gt; &lt;p&gt;I honestly don't care whether people use my programs. I write them to solve
a problem. If the problem later comes up for someone else, I will point them
at the solution I wrote (or helped write). Then, if it works for them, fine.
If it doesn't, they're free to hack on it until it does solve their problem.
They can, of course, not use it at all -- in which case I will usualy dismiss
them as idiots, because I've already solved the problem, and move on with
my life.

&lt;p&gt; &lt;p&gt;The only usability I care about is mine. I want to be able to use the
programs I write. If nobody else can use it, that's perfectly fine --
as Franky says in Rocky Horror Picture Show: "I didn't make him....
for you!" [and the callback: "but she gets him anyway"]. This sums up my
feelings. I don't make programs for others -- but they get them anyway, because
I am careful to license them freely.

&lt;p&gt; &lt;p&gt;All this, of course, doesn't mean I don't care about bug reports. I try
to keep my code clean and bug-free as I can. But, if there is a disagreement
about what the program should do, at that point I will turn a deaf ear towards
my users.</description>
    </item>
    <item>
      <pubDate>Fri, 29 Nov 2002 04:51:18 GMT</pubDate>
      <title>29 Nov 2002</title>
      <link>http://www.advogato.org/person/moshez/diary.html?start=28</link>
      <guid>http://www.advogato.org/person/moshez/diary.html?start=28</guid>
      <description>&lt;a href="http://www.advogato.org/person/movement/" &gt;movement&lt;/a&gt;: I hoped it was obvious my lynx comment was somewhat
tongue in cheek. Lynx is, of course, my browser of choice. Actually, I am
not sure what "usability" problems lynx has, but hell, I am sure it has.

&lt;p&gt; &lt;p&gt;But I am quite certain it would be amusing to see
&lt;a href="http://www.advogato.org/person/MichaelCrawford/" &gt;MichaelCrawford&lt;/a&gt; submitting bugs to the lynx project
along the same lines (I'm starting to think that his reports are being
extremely unfair to his wife by portraying her in a classical sexist way
as the "helpless female". One must wonder if she actually reads these bug
reports, and if she does, what she thinks of her husband publically
announces to the world that she is in tears.) Anyway, I use mozilla on my
work machine, and I think I had one crash in a few months of using it, so
as far as stability goes, I really can't complain -- my vague memories
from my IE on Windows using time seem to indicate that this IE crashes more,
so if we limit ourself to defining "qualities" by "number of crashes on
preferred platform", Mozilla would get the upper hand. I also think mozilla
is usable, but since I think vi, screen, zwm and differential topology are
all perfectly usable and intuitive, you may freely disregard my opinion
as someone whose mind is so &lt;a href="http://twistedmatrix.com" &gt;Twisted&lt;/a&gt;
to be actually sprained.</description>
    </item>
  </channel>
</rss>
