Oklahoma State Question 743

Here is, verbatim, text I received from the local homebrew shop about Oklahoma State Question 743. I think it's important for people to be informed when they vote, so I'm passing this along ... obviously it's biased pro-wine-makers...

Fellow Oklahoma winemakers and homebrewers,
Tomorrow's election will have a state question that has a huge impact on the Oklahoma winemaking industry. In 2001, voters in Oklahoma voted over 70% in favor of allowing Oklahoma wineries to sell directly to liquor stores and restaurants without going through a distributor. That change allowed the wine industry to go from a few wineries to over 50 in just a few short years. Small wineries were able to sell to the local liquor stores and restaurants without being at the mercy of a wholesaler that had little interest in distributing for every little winery that opened here in Oklahoma.

Last year this law was challenged by the distributors as unconstitutional and was overturned by the state supreme court. The reasoning was that it created an unfair advantage for Oklahoma wineries over out of state wineries who were still required to go through a distributor. It was a huge blow. Out of state wineries that distribute in Oklahoma would more than likely use a distributor regardless.

In order to make the law "fair", a new question will be on tomorrows ballet. It rewrites the law to include any winery that produces under 10,000 gallons a year. Oklahoma wineries are dying on the vine right now. With out this change many will not succeed. Please pass this on to friends so that we can ensure that this law passes.

The following is the actual question appearing on the ballot:
State Question 743 - In Short: Wineries from Oklahoma and outside the state of Oklahoma will be able to sell their wine directly to retail stores and restaurants if SQ 743 is approved. Currently, they can only do so through a wholesaler or at fairs/festivals.

Actual Ballot Text:

This measure amends Section 3 of Article 28 of the Constitution. It requires a customer to be twenty-one and physically present to purchase wine at a winery, festival or trade show. The measure changes the law to allow certain winemakers to sell directly to retail package stores and restaurants in Oklahoma. The change applies to winemakers who produce up to ten thousand gallons of wine a year. It applies to winemakers in state and out of state. Those winemakers may not also use a licensed wholesale distributor. They must sell their wine to every retail package store and restaurant in Oklahoma that wants to buy the wine. The sales must be on the same price basis. The sales must be without discrimination. Those winemakers must use their own leased or owned vehicles to distribute their wine. They may not use common or private carriers. If any part of this measure is found to be unconstitutional, no winemaker could sell wine directly to retail package stores or restaurants in Oklahoma.

Designing Simplicity

Dang! I wish I had this quote when I was making my REST slides for Tulsa Tech Fest. It's perfect!

I think most people just make the mistake that it should be simple to design simple things. In reality, the effort required to design something is inversely proportional to the simplicity of the result.
-Roy Fielding

The man himself. Priceless. Goes along great with the one I did use:

A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.
-Antoine de Saint-Exupry

Framework Performance according to Rasmus

Alright, so invoking Rasmus in the title is a bit provocative, but I stumbled on an interesting talk of his; showing performance benchmarks for a number of popular php frameworks. The first portion of the talk is exactly what he presented @ OSCON, but the second half looks to be raw performance numbers. It looks like there are a couple specific, but easy, performance tweaks that he granted to certain frameworks, and I like seeing the data so much I thought I could try my hand at distilling it into Google Docs charts.

<img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 227px;" src="http://4.bp.blogspot.com/_Fa_U5q7fBBY/SQC4W_KKKEI/AAAAAAAAABI/YXgaNBS3iOY/s320/framework_performance_(higher_is_better).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5260407069819414594" />

<img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 227px;" src="http://3.bp.blogspot.com/_Fa_U5q7fBBY/SQC4jP7k-cI/AAAAAAAAABQ/BN53Z--Vp30/s320/framework_performance_(lower_is_better).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5260407280480090562" />

It's interesting that some tulsaphp guys and were recently talking about Zend had to be the slowest of all the frameworks, but apparently not so! That honor goes to CakePHP?

Tulsa Tech Fest 2008 Slides


As promised, I'm posting my slides from my Tulsa Tech Fest 2008 presentation - RESTful MVC in Zend Framework.

the binary canary testing pattern

<img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_Fa_U5q7fBBY/SOKz6Lj7UTI/AAAAAAAAABA/BOQGrVtVFic/s320/canary_coal_mine_0.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5251957927584682290" />

I think I just invented a new testing pattern - The Binary Canary.

Basically, I was grouping my PHPUnit tests into a test suite and I realized that my TestCase super-classes were "failing" because they had no tests in them. Obviously this is intentional - only the specific sub-classes would have tests.

I guess I could have made the TestCase super-classes abstract, but instead I added this to the highest-level TestCase class:


/*
* global test plumbing here
*/
class Sfx_TestCase extends PHPUnit_Framework_TestCase
{
public function setUp()
{
// more global test plumbing here
}
public function test_Binary_Canary()
{
$this->assertEquals(
"Binary Canary says test plumbing is working.",
"Binary Canary says test plumbing is working."
);
}
}

My little binary canary serves two purposes:

  1. It adds an "always-pass" test to each of my TestCase classes so they don't throw up any more PHPUnit warnings.
  2. Because my TestCase classes set up context-specific test plumbing, the binary canary test inherited by each of them now alerts me if I screw up any of my test plumbing - and tells me the specific area.
  3. </ol>

    For example:


    class Sfx_Db_TestCase extends Sfx_TestCase
    {
    public function setUp()
    {
    parent::setUp();
    // Db-specific test plumbing
    }
    }

    And:


    class Sfx_Controller_TestCase extends Sfx_TestCase
    {
    public function setUp()
    {
    parent::setUp();
    // Controller-specific test plumbing
    }
    }

    Just like the coal-miner canaries of old, this mechanism gives me a simple yes/no signal as to whether or not my test plumbing will soon kill me, and which plumbing code is the culprit.

Home / groovecoder by groovecoder is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA
Home / groovecoder by is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA