by Kevin Schroeder | 12:00 am

ZendCon 2010 Podcast – Dependency Injection

Speaker

Fabien Potencier

Abstract

This session introduced one of the less-known design patterns in the PHP world, but also one that can greatly improve the decoupling and the testability of your code: Dependency Injection. I will demonstrate how to use Dependency Injection in your projects, and I will take advantage of the PHP 5.3 new features to create a fully-featured DI container live.

Licensing:

  READ ARTICLE
178 words ()
by Kevin Schroeder | 12:00 am

Free Music Sample from Coronal Loop Safari

In case you didn’t know, I also write music. 🙂 I probably talk about it more than some of the readers of this blog wish. But, you know what? I just really enjoy writing music. I may not be particularly good at it, but it’s enjoyable… at least when it’s done.

Last year ( it is now 2011 ) I released an album called Coronal Loop Safari right prior to Zendcon and Zend was kind enough to let me play the songs from the album prior to each keynote. But, that’s really not enough to hear what the album is like. In fact, I really don’t know what the album sounds like. But here’s what I wrote about it on my CD Baby album page.

  READ ARTICLE
454 words ()
by Kevin Schroeder | 12:00 am

SimpleCloud Part 4 – Storage

Now that we’ve gotten some job processing code done, let’s get into the good stuff. The first thing we’re going to look at is the storage mechanism in SimpleCloud. The example we used was uploading an image to the server so it could be resized for viewing at multiple resolutions or junk. Now, you could simply attach the file contents to the job class, serialize it and unserialize it on the other side. But the Job Queue server is really not designed for that (nor are most other queueing applications). So what we’re going to do is use the Storage mechanism in SimpleCloud (in this case, S3) to store the files temporarily and then for the resized versions.

  READ ARTICLE
796 words ()
by Kevin Schroeder | 12:00 am

SimpleCloud Part 3 – The Abstract Job

We have so far looked at setting the stage and managing the job. How about executing the job itself? The job we will look at here will be relatively generic. I will get into more detail after I have talked about the SimpleCloud elements. This, here, is simply to show you the theory behind how jobs are executed.

The abstract class is pretty simple.

  READ ARTICLE
445 words ()
by Kevin Schroeder | 12:00 am

SimpleCloud Part 2 – The Job Manager

In the previous installment I talked a little about the cloud, what Zend is doing in the cloud and what the example application for my ZPCAP webinar did. One of the primary characteristics of scalability is the ability to process data as resources are available. To do that I implemented the Zend Server Job Queue with an abstraction layer that I’ve written about three different versions for. I think the fourth will be the charm :-).

  READ ARTICLE
1208 words ()
by Kevin Schroeder | 12:00 am

SimpleCloud Part 1 – Setting the stage

Earlier in December I did a webinar on the Zend PHP Cloud Application Platform. It’s not some new product or anything like that, but rather a view of how our software is going to fit together. It’s not something that will be “released” in the typical software fashion. Instead it is the mindset of our product development teams when they look at building new features. Cloud-based pricing for Zend Server, AWS/Cloud integration in Zend Studio, and, of course, SimpleCloud.

  READ ARTICLE
671 words ()
by Kevin Schroeder | 12:00 am

How to NOT sell an upgrade, @CakewalkInc

So, I work in software and so I know that sometimes a software vendor is not able to do things in as streamlined a manner as possible. However, Cakewalk has taken the cake (no pun intended) when it comes to doing whatever they can to piss off their customers. I have been using (and upgrading) Cakewalk software for almost 10 years. When their new X1 was announced I was all kinds of giddy. When it was released I was even more so… until I tried to upgrade.

  READ ARTICLE
286 words ()
by Kevin Schroeder | 12:00 am

Addressing Zend Studio’s cost, minimal though it is

On the ZF-general mailing list there was a discussion that was occuring about the cost of Zend Studio. I started writing a response but saw that it was getting kind of long so I decided to turn it into a blog posting.

The first question I’ll address is that of cost. When you look at what other similarly-featured IDE’s cost, we’re actually pretty good. Flash Builder 4 is $250 for the standard, $800 for the premium version. Visual Studio is $300. IntelliJ is $599. So, from an Apples-Oranges, throw everyone in the same bucket, IDE comparison, Studio is about where everyone else is, or better, from a pricing perspective.

  READ ARTICLE
723 words ()
by Kevin Schroeder | 12:00 am

Amazon SQS and Zend Framework

I’m doing some work for a webinar and I figured out that if you want use AWS SQS in your app you need to specify not just the queue name, but the full URL. What is the full URL? It is what createQueue() returns.

For example, I was doing this to store the queue name in a task that was stored in the session so I could get it at a later point in time:

$this->_queueName = sha1(‘fileProcess-‘ . $this->_sourceId);
$queue->createQueue($this->_queueName);

  READ ARTICLE
188 words ()
by Kevin Schroeder | 12:00 am

Building better PHP programmers, part 2

I have no “findings”, no “conclusions”, but I have some thoughts on my continuing goal to help bad/nominal PHP programmers become better PHP programmers.

The first question I asked is “Is there really a shortage of good PHP developers?” While I didn’t get a specific answer the general jist of it is that yes, there is a problem with finding good PHP developers. Now, some of that may that the people responding ARE the above-average PHP developers and so there can often frustrations in figuring out how to work with developers who don’t yet have the chops that they do.

  READ ARTICLE
549 words ()