Blue Sky On Mars

Thoughts on Building Software Products

Supreme Court ruling hides away dangerous precedent

by Kevin Dangoor

In another example of how important blogs are to modern day journalism, take a look at CNN’s coverage of a Supreme Court ruling regarding medical marijuana and then look at Boing Boing’s coverage.

Looking at the surface view, which is the CNN reporting, you might think “yeah, okay… so marijuana is something the federal government deals with”. But, the argument you see at Boing Boing shows why this is an important case. Any power that the Constitution does not expressly give to the federal government is reserved for the states. The Supreme Court called the medical marijuana case one that fell under the clause of the Constitution that gives Congress the right to regulate interstate commerce. But, as pointed out on Boing Boing, these people were growing their own marijuana: it never crossed state lines, and no money changed hands.

The only way to “overturn” a Supreme Court ruling is through legislation and Constitutional Amendments. It sounds as though the Court overstepped their bounds, but it’s hard to imagine a scenario in which Congress would explicitly legislate powers over to another body (the states).

Regardless of which side you fall on for many of the debates the come to the Supreme Court, one thing that I think most Americans would agree upon is that the Court should really stick to what’s written in the Constitution. That’s what they’ve been hired (for life!) to do.

A great defense of LAMP

by Kevin Dangoor

Actually, this is a defense not only of LAMP, but of people out in the trenches doing Java with Spring and Hibernate as well. IBM poop heads say LAMP users need to “grow up”

No. The LAMP stack is a properly
constructed piece of software. Features are added when an actual
person has an actual
need that arises in the actual
field, not when some group of
highly qualified architecture astronauts and marketing
splash-seekers get together to compete for who can come up with
the most grown-up piece of useless new crap to throw in the product.

Ryan is right on target with this piece. Keeping things simple and evolving as needs dictate is a great way to get an app built and to make it scale to anywhere it needs to go.

The next time someone says that they need their .NET frontend talking to a J2EE three-tier backend over SOAP, you’re probably in a position to save them a lot of money.

ZCatalog for standalone ZODB

by Kevin Dangoor

I have just packaged up ZCatalog from Zope 3.1 for use with the standalone ZODB. I’m surprised that no one had released this previously, because all but the most trivial of ZODB apps will need some way to do non-primary key sorts of searches.

Previously available solutions that I spotted are: [IndexedCatalog](http://www.async.com.br/projects/IndexedCatalog/) and [these instructions for getting Zope 2.6's ZCatalog working](http://slarty.polito.it:8069/~sciasbat/wiki/moin.cgi/StandaloneZodbHowto).

The major feature that ZCatalog has over IndexedCatalog is a full-text search index.

I had originally packaged up the Zope 2.8 catalog. That was generally working, but I wasn’t completely comfortable with it because the code was fairly “tangled up”. The Zope bits were spread throughout the code. Zope 3 has a beautiful architecture, and extracting the catalog from there was far easier.

Note, however, that this means that current ZCatalog plugins ([Dieter Maurer's AdvancedQuery](http://www.dieter.handshake.de/pyprojects/zope/#AdvancedQuery), or [TextIndexNG](http://www.zopyx.com/OpenSource/TextIndexNG), for example) won’t work directly. Hopefully, it will not be difficult to get these sorts of things running. Generally speaking, that is left as an exercise to the reader (patches accepted :)

I’m calling this release 1.0 alpha 0, because the testing that I’ve done is approximately as extensive as what you see in the readme file. Which is to say that it passes the most basic of sanity checks, but I haven’t looked much beyond that. I’ll be exercising it a lot more this week, so I’ll probably have a bit more confidence later.

When it comes to developer tools, though, release early, release often is a good motto.

Seth Godin on being small

by Kevin Dangoor

Seth Godin has just written a couple of articles on being small. It’s great food for thought for anyone considering breaking away and going uncorporate.

One of the implications of the Long Tail is that you don’t know what’s going to work. That it’s easy to launch stuff, hard to figure out where it’s going to land. If you don’t have to bet the farm on every launch, you’re way more likely to launch more, and more randomly, which vastly increases your odds.