Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 01 Feb 2004
Python vs Lisp
Thursday's posting on Lunacy provoked a decent number of comments. There was also a discussion (unrelated) of Python vs Lisp/Scheme in #joiito that day...

Now that lots of people are piling onto the Python bandwagon, it's amusing that many of them don't realize that they are using a language which has many similarities to Lisp. So as a service to both language communities, I'm posting references to a pair of pages written by Peter Norvig. The first is called Python for Lisp Programmers, and tries to help Lisp hackers map concepts they know on to Python. It also works in the reverse direction. There are also a few microbenchmarks, as well as a bunch of things that will trip up Lispers coming to Python.

The second page is called Retrospective on Paradigms of AI Programming and includes reflection on whether or not Lisp is still unique.

Those who commented on the Lunacy post left behind some other interesting tidbits. I've taken some of the links and reproduced them here. One of the things that interested me about Lunacy was the possibility of turning the decades of Lisp compiler research towards improving the performance of Python. Unfortunately, this pair of messages from Matthias Felleisen makes me a little less optimistic that this will be possible. The standard response to performance criticisms of Python is that you can always rewrite your code in C. Now, this is true, but I'd prefer not to rewrite working code if I can avoid it.

Bagley's Computer Language Shootout has some interesting micro benchmark results. Unfortunately, it hasn't been updated, so some of the numbers are out of date. If someone is looking for a worthy project to take on, reviving this would be great. It would be wonderful to keep it up as the various language communities improve their programs and implementations.

Here's Eric Raymond's account of how he discovered Python.

Lastly, there's Denys Duchier's on article continuations, which shows how to to continuations in Python by rewriting programs in continuation passing style. This is a good example for Python folks who are wondering what the big deal about continuations is.

[23:09] | [computers/programming/python] | # | TB | F | G | 7 Comments | Other blogs commenting on this post
Mail hacking grumbles
The appearance of MyDoom this week has prompted me to install some additional security measures for our network at home.
  1. Disallow connections to port 25 from inside the firewall
  2. This is long overdue since lots of e-mail worms like to install their own SMTP server. The only way you're going out via SMTP is via our SMTP server.
  3. Enable SMTP AUTH via SASL
  4. Only authorized users should be able to use our SMTP server. This turned out to be a major headache since postfix on Debian runs chrooted, and was having trouble talking to saslauthd's socket. I ultimately gave up on using saslauthd and hacked around it using the sasldb method of checking passwords. But even that took me way too long to figure out. It would be nice if the Debian maintainers for postfix or SASL would include some documentation on how to do SASL based SMTP auth inside the postfix chroot environment (using SASL2).
  5. Enable TLS support for postfix
  6. I've grabbed the postfix-tls deb and installed. Next I need to generate the certificates. The problem is that I already have certifications for Apache and UW-IMAP (although I'm probably going to junk that in favor of Dovecot). I also want the SMTP TLS to require a client certificate (yes, I'm paranoid). So I pretty much need to setup my own CA to issue client and server certificates. What I'm not clear about is whether I need a server cert for each service (www, imaps, smtp) that I plan to offer -- I only have a single IP address. There's also the small matter of which of the many different HOWTO's or documents to follow to generate the certificates properly. Last time I used the makecert.sh that comes with Debian's modssl.
Bottom line: this stuff is a huge pain to do and do correctly. I can't see any reason why these features shouldn't be easy to turn on, but I've used up a bunch of energy trying to get them all to work. If anybody out there is running a setup like what I'm proposing, let me know. I'll try to publish a record of what I've done once I get it all working.
[22:35] | [computers/operating_systems/linux/debian] | # | TB | F | G | 2 Comments | Other blogs commenting on this post

twl JPG


Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos

RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< February 2004 >
1 2 3 4 5 6 7
8 91011121314


Macintosh Tips and Tricks

Blogs nearby
geourl PNG

/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)

[Valid RSS]

del.icio.us linkblog



Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?

pyblosxom GIF