Mozilla Security Flaw

If you use Mozilla or Firefox, you need to pay attention to this security advisory.

May 10, 2005

PHP MVC

So I’m trying to figure out the easiest approach to create a simple Model-View-Controller implementation in PHP. I found a sample implementation, but there are a number of things I don’t like about it, starting with the fact that the Web stuff is all embedded in code, which violates one of the key tenets of the pattern. However, there are some things I like about it. Rather than taking an approach like Struts and using a common controller for everything, I’d prefer to write my own, simple controllers in this case. That rules out a framework like Phrame, which is patterned after Struts. (php.MVC is another PHP port of Struts.) Looking back at the example that I pointed to in the first place, I think that further simplification of it may yield the best results. Rather than creating a separate Controller file, I’ll put my controller logic in the root index.php file. Then I can build a model like the one in the example, and rather than creating a view class and retrieving the markup as strings, I’ll just include the appropriate PHP files to provide the view. Taking things a step in a Rails-esque direction would mean building some scripts that generate these components for you based on the structure of your database. Since this is a one-off, I’m going to focus on making it work properly and deal with making it generic a bit later. Given that I’ve been building Web applications with MVC frameworks in Java for years, I’m surprised at how difficult it has been to find away to apply this pattern to my PHP work. ...

May 9, 2005

REAL ID

Bruce Schneier has an important post on the REAL ID legislation that is moving through Congress (on the back of a bill providing funding for our operations in Iraq).

May 9, 2005

Harmony, Apache's version of J2SE 5.0

My aggregator is abuzz this morning with news of Harmony, a newly proposed implementation of J2SE operating under the auspices of the Apache Group. Here’s a link to the initial proposal, and here’s the motivation for the proposal, explaining why yet another open source implementation of Java is needed: There is a clear need for an open-source version of Java 2, Standard Edition (J2SE) runtime platform, and there are many ongoing efforts to produce solutions (Kaffe, Classpath, etc). There are also efforts that provide alternative approaches to execution of Java bytecode (GCJ and IKVM). All of these efforts provide a diversity of solutions, which is healthy, but barriers exist which prevent these efforts from reaching a greater potential. There's also a FAQ. One obvious issue, mentioned in the FAQ, is that they're starting with no code whatsoever. Charles Miller points out that this makes the project unlikely to succeed. Miguel de Icaza thinks that this project may slow the progress of open source Java as people divide into camps and get bogged down in a licensing fight (an idea with which Leo Simons takes issue).

May 9, 2005

Broadcast Flag struck down

Awhile back, the copyright industry managed to get the FCC to pass a regulation demanding that all HDTV receivers manufactured after a certain date include copy protection hardware that would prevent users from copying programs tagged with a “Broadcast Flag.” Last week, a federal appeals court struck down the regulation. Great news, although now the battle will probably be taken up in Congress.

May 9, 2005

The snarkiest

Joe Gregorio wins the award for snarkiest admonishment in response to the problems the Google Web Accelerator has revealed (or caused, if you prefer).

May 8, 2005

Wiki spam

So a few weeks ago I set up a Wiki for the purpose of discussing a blogging tool that I plan on writing. Less than two weeks after I set it up, spammers plastered porn links all over it. I’ve password protected it for now. Maybe it will be back later if I can figure out how to prevent this sort of thing in the future. Yes, spammers really will ruin any open resource on the Internet. Bastards. ...

May 6, 2005

The dangers of denormalizing

Last week I posted about a problem I was having along with some potential solutions. A few people emailed me with their ideas, and I wanted to highlight one in particular. I won’t mention who sent the solution because I’m going to explain why it wouldn’t work in this case, and why I generally think it’s a bad idea. Just to recap, the problem was creating a paginated report that was built using a query that included an outer join. You can read the details at the link above. Anyway, a reader sent along the idea of adding a column to the table on the left side of the outer join for reporting purposes. It would include all of the values from the right side of the outer join so that they could be included in reports without requiring the outer join query. Denormalization for reporting purposes isn’t an unusual approach, but I think it should be done only as a last resort. It wouldn’t work in my case because what I didn’t mention was that my query actually used three queries, all connected using outer joins. Here’s what it really looks like: ...

May 6, 2005

Google Web Accelerator not ready for prime time

I uninstalled the Google Web Accelerator this morning after reading that it has some serious bugs that compromise users’ logins to sites that use cookies for authentication. Basically, the proxies that the Google Web Accelerator connects to are not handling cookies properly and letting people access sites using other users’ cookies. (So I might visit, say, Yahoo Mail, and view someone else’s mail.) There are also other ways that the product screws up user interaction with Web applications. On another note, I’ve read a number of somewhat paranoid theories about why Google has created this product, but I haven’t read anything that really makes sense to me. The idea of Google keeping a log of every single Web site I visit is a bit unpleasant, though, especially when it’s theoretically possible for them to tie that not only with my Google searches but also my email inbox. I’m not anti-Google by any stretch of the imagination, but I think it pays to be mindful of how much information you give to any company. Update: James Governor has an interesting post on viewing Google as a measurement company, which certainly dovetails nicely with the side effects of providing proxy servers to the world. I had forgotten that Google purchased Urchin, a Web analytics firm, recently. Another update: Tristan Louis points out that Google’s Web Accelerator may be built to help Google grow its index. Very insightful. Another update: Getting back to the issue of the prefetch features following links that alter or delete data, the real problem is misuse of the HTTP GET method. This is a problem Sam Ruby warned people about some time ago. ...

May 6, 2005

News & Observer blogs

The local paper has started a few blogs. This may be the only time I’ll ever get the chance to help them out with traffic, so I’m jumping on it.

May 4, 2005