We came, we saw, we concurred
Loosely Typed in Ohio

General I Hate You, Apple Customer Service (Updated!)

Final Update!: A gentleman from Apple Executive Support (I think) just contacted me regarding the case. He was very courteous about the whole thing. I told him the honest truth: that I’m no longer completely enraged but that I just expected someone at the Apple Store to be able to help, or for my return to be given preferential treatment (since it’s a return), but he mentioned that it’s a custom order thing with new hardware. He said they were investigating whether or not they could get something expedited out for me, and I appreciate that. It’s a little weird that I had to go this far up the chain to get an expedite, but it looks like things are in good shape now.

Update!: It turns out that “a day or two at the factory and then overnight shipping” means 7-10 business days. When questioned, the official response from the “AppleCare Support Admin” was “well, it takes a while to build the unit, and we have to ship it from China.” Then why the hell did you say overnight? Also, see the comments for various people trying to defend Apple’s policy.

Like any good Mac tool, I ordered the new 15″ MacBook Pro the day they were announced. I could rationalize the purchase ’till next week, but the bottom line is I wanted a spiffy laptop and I ordered one. I even custom-configured it with a larger, faster hard drive!

That last bit’s important. For want of this hard drive in my defective unit, Apple Support completely shit all over me.

Continue Reading…

Software Database Models I Have Known And Endured

One thing you might have noticed that we do is SQL. We do a lot of SQL, so you’d think we would have figured out the best way of hooking up applications to databases.

To an extent, we have become so familiar with the requirements of database-driven development that we have come to accept the tools that we have as being adequate. Even ODBC.

Obviously we’ve long ago moved past PHP functions like mysql_fetch_row. We expect things like sanitizing and escaping, multiple vendor support, query abstraction, and so on. We look back fondly on the clumsy simplicity (and scope for injection) of things like this:

    PHP

    mysql_query( "SELECT * FROM T_Shirt WHERE color = '{$favorite_color}'" );

Nowadays we’re more likely to fetch records through a framework API, such as this use of Zend Framework’s Zend_Db:

    PHP / Zend Framework

    $db = Page::getDb();
    $select = $db->select();
    $select->from( 'T_Shirts' );
    $select->where( 'color = ?', $favorite_color );
    
    return $db->fetchAll( $select );

Because the query is broken down into a set of calls we can pass the select object around before we do the fetch. This is surprisingly handy.

But what else is out there that might be better than what we’re doing now? What would be the next step, the thing that would make Zend_Db look like mysql_query?

Continue Reading…

Productivity Basecamp: First Day Impressions

Innova has tried a few things in the past to keep our projects organized. We have an internal Wiki that we use for sharing data, fileservers every five feet for document sharing, an inter-office Jabber server that keeps our IMs going. We use FogBugz to track bugs, Harvest to track time, and emails and sporadic meetings to tie everything together.

On larger projects that span more than three people, this tends to break down a bit. The individual tools are awesome, but emails and occasional face-to-faces just weren’t getting the job done. We just couldn’t keep everything organized amongst everyone with such an ad-hoc system.

Enter Basecamp.

Continue Reading…

Close
E-mail It
Socialized through Gregarious 42