Here comes the rain again

It has been raining in LA the past 24 hours. This is fantastic. I can hardly even remember the last time it rained. Certainly not this summer. This has lots of great side-effects:

  1. I don’t need to water the lawn this week.

  2. The streets are going to get nice ‘n’ clean.
  3. All of that gross LA smog goes away (and when the rain stops, the visibility will be superb).
  4. I can go outside and splash in some puddles if I need a break!

Of course, there are a bunch of drawbacks, too:

  1. LA drivers don’t really know what to do in the rain, so there might be some more traffic accidents today. God willing, nobody will get hurt.

  2. Our new house has a flat roof, and I’m a wee bit worried about whether it’s going to leak or not. So far, we’re drip-free! (my grandma would add “Kin-a hura poo-poo-poo”)
  3. My brother-in-law, who is in town this weekend from New York, happened to visit LA in some of the worst weather we’ve had in a year.

Ariella and I were musing about writing blogs this morning, and about how it’s stimulating a healthy flow of creative energy. Even if nobody is actually reading this, it’s fantastic exercise to organize my thoughts and put them into words. Although I don’t have anything profound to say this morning (the weather isn’t exactly what I would call the makings of an intellectual conversation), it’s still such a thrill to be able to do some writing. I sure missed that.

I’m going to muse about something more profound than the weather next time. Look for an upcoming blog in the Intellectual Property category on micropayments, PayPal, and online music.

Wal-Mart’s sub-$200 PCs

0066044810401_75X75.gif I’ve read with great interest about the dirt-cheap PCs that Wal-Mart has been selling.

It turns out that these not-so-wimpy internet appliances (128Mb of RAM, 10Gb of disk, and built-in 10/100 Ethernet) are running an new operating system called LindowsOS which is really just Linux + KDE 3.0 and some really easy to use management tools.

I’ve never been a fan of Linux on the desktop. Going against the Microsoft grain is such an uphill battle, and if you’re going to go that route it seems like Mac OS X is the right approach anyways. But I’m now rooting for Lindows because it appears that there’s a little bit of a trademark battle going on over the use of the Lindows name.

If the true test of trademark infringement is confusion in the marketplace, I think it’s going to be difficult to make the argument that people would think that Lindows was a Microsoft product.

Prime numbers

Last night on the plane ride home I was reading a copy of Dr. Dobb’s Journal, a magazine for programmers (I think I got a free subscription to this when I registered for PHPCon). I came across Michael Swaine’s column and read about a polynomial-time algorithm for testing primes that was discovered this summer.

I know this is old news (blogs are supposed to be up-to-the-minute, right?) but it’s still totally fascinating for anyone who understands how public-key cryptography works (I learned about it in Math 42 at Brown).

Although this algorithm is considered super-fast for what it does, it is actually slower than the ones used by RSA and PGP when generating new public/private key pairs. The difference is that this new algorithm has the distinct advantage of telling you definitively whether or not a number is prime. The more common apporach is to run a probabilistic algorithm so that there still exists a possibility that the number you’re evaluating is not prime, but it’s more likely that you’ll be struck by lightning. Although the traditional probablistic approach is still faster than this new technique, it doesn’t give you the 100% confidence that some people (bankers?) would rather have.

From a practical standpoint, 99.99999999999999% confidence ought to be enough for anyone, because insurance policies aren’t that expensive when you’re talking about covering something that has a 0.00000000000001% likelihood of happening.

But from a theorhetical computer science standpoint, this discovery is just plain cool. If they could only prove that P != NP, I’d be really psyched.

Ariella has a blog

Ariella started keeping a blog today. I guess after seeing me waste a bunch of time with this thing she decided to give it a try, too.

I’ve long been a skeptic of blogs, but I’m starting to be a believer. Last week, wrapped up in my own egocentrism, I searched Google for the text “Making the Case for PHP at Yahoo” to see if the buzz had spread beyond slashdot. I was astonished to find something like 47,000 entries — most of them on random people’s blogs.

This was enough to convince me (and eventually Ariella, too) that keeping a blog is not such a marginal thing after all.

Torahthon: the Zealotry of Pinchas

The second session I attended at Temple Beth Am’s Torahthon was Dr. Ron Reisberg’s class on “The Zealotry of Pinchas”. He advertised the title of his session as “Good Tefila, Bad Tefila”, but acknowledged at the beginning of his teaching that he decided to change the subject. Instead, much to my pleasant surprise, we did a little bit of Talmud study.

We read the story of Pinchas from Numbers 25 in English translation and made sure everyone in the group understood the story. We then moved on to the Gemara and read the Rabbis’ interpolation of the story to understand whether Pinchas was justified in his actions and whether we could extrapolate any halachic lessons from the story.

Reisberg made the argument that the Rabbis were trying to limit the applicability of the story to the narrowest case so as to discourage religious zealotry. I was reminded of this other discussion in the Gemara about the rebellious son who is supposed to be put to death for disobeying his parents. In short, the Rabbis found this story from the Torah objectionable, but they did not dismiss it. Instead of contradicting the text, they simply applied it as narrowly as possible, claiming that a child could be put to death under only the very specific conditions mentioned in the Torah. After much discussion, the punch line goes something like “There has never been such a son, and there will never be such a son.” In other words, the Rabbis couldn’t admit that the Torah was wrong, but since they felt that capital punishment was inappropriate for a disobedient son (no matter how extreme) they had to neuter the story so that it simply couldn’t apply in any real case.

In understanding the story of Pinchas, Rabbis similarly try to limit the situations in which religious zealotry is allowed. They can’t dismiss it outright, because the Torah explains that God is pleased with Pinchas and makes him a member of the priesthood. But the Rabbis explain that the murder of Zimri and Cozbi is justified because it was the manifestation of God’s jealousy. Had the killings taken place after Zimri had slept with Cozbi it would have been an unjustified act of revenge; the fact that Pinchas killed them during the act is what makes Pinchas righteous and not a murderer.

I know there are the makings of a good drash here, but I can’t quite get into it. In my book, zealotry is just plain wrong. Unlike the Rabbis of the Gemara I have the luxury of being able to say that Hashem made a mistake. Pinchas should not have been praised because murder, even if for the “right” reasons, is always wrong.

Torahthon: Shema for Beginners

Ariella and I went to an evening of learning called “Torahthon” tonight at Temple Beth Am. Rabbi Mitch Malkus from the Pressman Academy lined up about 20 great minds from the greater Los Angeles Jewish Community (mostly Conservative rabbis and professors) to teach some short classes to the community.

The two sessions I attended were amazing. I went to Rabbi Avi Havivi’s “Shema for Beginners” section first, where we explored what the 3 (or 4, depending on how you look at it) parts of the Shema are trying to convey. We probably spent a full 10 minutes talking about what we weren’t going to talk about (the blessing before and after the Shema, the meaning of the paragraphs when looked at in context from where they were taken from the Torah, the ritual choreography involved in reciting the Shema). I learned more than I expected. It will be a huge boost to my kavanah when I recite the Shema next (which ought to be tonight when I go to bed, but we’ll see about that).

One of the most interesting things we talked about was the “Adonai Echad” component of the first sentence. Sure, there is the usual perspective of monotheism vs. polytheism which probably made a lot of sense during biblical times and maybe even when the liturgy was being canonized. But the most interesting suggestion that Rabbi Havivi made was that the Echad was referring to God’s uniqueness. To paraphrase, God is unique, a singleton, in a category all by God’s self, and the One-ness of God cannot be compared to any human experience we might try to understand.

In storytelling, we use metaphors to understand God, but we’re aware that these are merely tools to help us humans understand the Divine. We recall that God led the Israelites out of Egypt “with a mighty outstretched arm” but of course we know that God doesn’t actually have an arm. Similarly, at various points in Tanach we conceive of God as having love, anger, or jealousy, but God doesn’t actually have any of these emotions, at least not the way we understand them as humans experience them. Similarly, God’s uniqueness cannot be compared to the way we think of individuals being unique. God is the one any only member of a set.

As a computer scientist, I could say that this all appeals to me so naturally and intuitively, with set theory and discrete mathematics and all. But it works for me on a spiritual level as well.

Hiding .php extensions in Apache

Here’s a neat little trick. If you want to serve out PHP scripts without showing the .php extension, you can add something like this to your httpd.conf file:

DefaultType application/x-httpd-php

DirectoryIndex index index.html

Those directives will tell Apache that if there is no extension on a file, it should run the file through the PHP interpreter. On the filesystem itself, any PHP scripts can be called foo.php or simply foo (i.e. have no extension at all).

In a standard Apache configuration, DefaultType is set to text/plain. This may have made sense in 1996, but these days pretty much everything is HTML.

The DefaultType approach is substantially more efficient than Options MultiViews because there is no need to do readdir() calls to figure out what file to serve out. It gives the added flexibility that if you ever rewrite part of your site to use a different technology (switch to mod_perl or whatever) that the links won’t rot. And it’s 4 bytes less to send for each GET request!

Hiding the .php extension doesn’t really make your site any safer, because anyone who wants to hack your site can simply guess that you’re running PHP behind the scenes and attempt well-known exploits. This could be best described as “security through obscurity” which gives engineers a warm and fuzzy feeling, but isn’t really any more secure.

Yahoo!/PHP media wrapup

After the buzz on slashdot several more reputable news websites published stories about Yahoo! and PHP. Here’s a summary so far of the press coverage:

I doubt this sort of thing ever makes it into the New York Times, but it’s really novel for me nonetheless. All sorts of people I know from years back have emailed me over the past couple of days to say “Dude, you’re famous!”