My Photos
This is a Flickr badge showing public photos and videos from coogle. Make your own badge here.


A call to Math Geeks

Thursday, July 2. 2009

To all of my fellow geeks who enjoy mathematics:

About a year ago, my father died of cancer. Before his death he was working on equations that apparently were the solution to calculating the exact arc length of an ellipse, and I believe he actually did it. I have put a page up that has all of his work and background information about this...

I'm really not a math geek, and I haven't solved a calculus equation since college. I am hoping someone can review my father's work and perhaps figure out if he really did solve what I understand to be considered an unsolvable equation by modern math.


My ZendCon 08' Slides are now available

Thursday, September 18. 2008

For those of you who are interested, I have uploaded my recent slides from ZendCon. Thanks everyone who attended!

OSCON 08 Slides Available

Sunday, July 27. 2008

For those of you who were waiting, I have posted my slides in the Resources section of my website for your viewing pleasure.


Interesting Developments at Zend

Wednesday, May 21. 2008

For those of you who haven't been following it, Zend on Monday went through a series of lay-offs which was picked up by the Washington Post. According to the brief article (which was a syndication from TechCrunch) Zend has laid off approximately 25% of their R&D staff in at attempt to become cash-flow positive and potentially line themselves up for an acquisition. I don't have any hard figures as to what that means but I'd estimate that Zend's recovered somewhere between $600-800k in revenues based on an educated guess of the average R&D salary for someone in Isreal (where R&D is based) of $60->$80k USD and the number of people estimated by TechCrunch as being laid off (about 10 people, which sounds right). If I'm anywhere in the ballpark there I think that's a significant recovery for Zend and very well could put them into the black.. Which is why Everyone I've spoken to who is familiar with the subject considers the lay-offs a positive thing (except of course those who lost their jobs -- sorry guys/girls -- I'd love to hire you but I can't open up an R&D shop in Isreal just yet..), but here are some things I've either heard from within the organization or read online which I think are worth commenting on:

  • R&D wasn't the only department to get hit, although it was clearly the primary focus. The IT department, Business Development, Sales, and Global Services were also affected to a much smaller degree

  • Despite speculation from Internet News that the most likely buyer is IBM, but I find that very unlikely. I think it is much more probable that Microsoft is the buyer if one exists

Why do I think I'd put my money behind Microsoft instead of IBM? Well, there are a lot of reasons.. Firstly, despite the impression given by the reporter at Internet News, IBM to me has shown more negativity in general toward Zend then it has positive in recent dates. For instance, Project Zero (cited as a positive reason IBM would buy Zend) in my mind is hardly such. If you haven't seen this before, Project Zero is a platform for dynamic languages implemented entirely in Java (one of which is a PHP implementation). The thing is, the PHP which exists in Project Zero is completely incompatible with all of Zend's product line -- hardly something I would say means IBM is trying to align itself with Zend. In reality, I think Project Zero is really a shot at Microsoft's .NET architecture and an answer to the recent moves from Microsoft to port implementations of popular dynamic languages to run in the .NET DLR and IBM's willing to step on Zend's toes to do so. Secondly, while it is true that QEDWiki is a PHP application and built on top of Zend Framework, in recent months I've heard more and more rumors from contacts inside of IBM that QED is going to be re-implemented entirely in Java long-term.. Again, I just don't see how IBM's recent behavior adds up to an acquisition.

That said, I do think Microsoft has a lot of good reasons to add Zend to their empire. Firstly, Zend has been a huge asset to Microsoft through their Technology Collaboration to make PHP a first-class citizen on the Windows platform and get it certified for Windows Server 2008. This partnership, to me, is huge for Microsoft -- to the point I expressed concern over Microsoft's ultimate intentions -- the same justifications for my paranoia could very well be reason enough for Microsoft to acquire Zend. Secondly, I think a Zend acquisition makes a lot of sense to a company like Microsoft if you believe they well ultimately prevail in purchasing all or part of a company like Yahoo! which is entirely based on PHP technologies (incidentally, I don't think Facebook is out of the picture either as a potential Microsoft acquisition target -- they already have an equity-interest there and the Facebook advertising engine could prove equally useful in the battle with Google). Bottom line to me is both of Microsoft's best options to compete with Google are PHP-based technology shops and Zend has been Microsoft's biggest ally in making these two very different technology platforms operate harmoniously -- that's got to be worth a few bucks. Oh, and did I mention that the rumor on the street is that Zend's co-founders Andi and Zeev have been making recent visits to Seattle? Not that it means anything, but it does make one wonder..

Then again, I could be entirely wrong about the whole thing -- it sure is fun to speculate about it though.

On MicroHoo!

Sunday, May 4. 2008

If you don't read the Wall Street Journal Blog, this entry is particularly amusing for those of you who were interested in following the Microsoft-Yahoo! potential acquisition.

Fairwell, Zend!

Tuesday, April 1. 2008

After 3 1/2 years at Zend Technologies I am both excited and saddened to announce that I will be resigning from my role of Sr. Professional Services Architect in the Global Services group as of April 11th. While it saddens me to leave such a vibrant, exciting and cutting-edge company I am excited to accept a CTO position at Automotive Computer Services (ACS).

I can't share the details in a forum such as this as to why I have made such a change just yet, but needless to say despite the mid-90s look of the web site of my new employer I will be heavily involved in Web 2.0 technology, including Zend Framework/PHP and am quite excited at my new opportunity!

On that note, I am actively seeking out quality developers, graphics designers, and system administrators for a new Silicon Valley based development and production office with a start date of the next few weeks. If you are a solid PHP developer (Javascript a plus), Graphics wizard, or system admin who is interested in working on exciting Web 2.0 technologies for great pay and benefits in the Bay Area, please send me your resume john at coggeshall dot org! I am looking for 25 quality people for the new office, so please don't hesitate to apply!!

Finally, I'd like to give a huge thank you to Zend. It's been an amazing experience to spend the last three years in this environment and there is absolutely no measure to the amount of personal and professional growth I have been given the opportunity to realize through my time here. I wish all of my colleagues at Zend the best both as an organization and as individuals and know (not expect) that they will continue to achieve great things.

Clinton Campaign Checking Acc!

Thursday, February 14. 2008

In an amazing example of how a lack of security can lead to really bad things, has posted this article on their web site regarding a $500 check the Hilary Clinton campaign reimbursed someone for some rental space.. The thing is, they have a picture of the gentlemen holding the check -- with the Clinton campaign full routing and account number in plain view! I'm not a particularly experienced hacker, but it seems to me the full banking and routing information of my checking account would be a bad thing to post online -- oh well, it's not like there are millions upon millions of dollars to protect.

Sorry for the downtime

Friday, February 1. 2008

For those of you who visited my web-site recently and found my blog to have require_once errors -- sorry! Apparently my hosting provider, Media Temple decided to change something which resulted in my paths being broken. As I have recently relocated from Buffalo, NY to San Jose, CA I didn't notice the issue until recently.

There are so many things to talk about recently! I have been swept up in a wave of very interesting PHP and business things lately..

  • The purchase of MySQL by Sun Microsystems for 1 billion dollars

  • The offer to purchase Yahoo! by Microsoft for upwards of $45 billion dollars

There are a few others too.. I'm sure I'll find some time to blog about my thoughts this weekend..


West Coast recruiters wanted

Monday, January 28. 2008

Zend Technologies is looking for some more PHP rockstars.. If you are interested let me know (john at zend dot com). If you aren't interest but know some *good* recruiters in the SF Bay Area for this sort of thing I'd appreciate it as well!!

Compiling extensions for Zend Core

Monday, January 7. 2008

Over the past few months there has been an increasing amount of conversation about Zend Core, especially around how best to compile custom extensions for it. While Core does ship with a large list of extensions (which are all QA'd and supported by Zend) there are times when you would like to include non-official extensions from PECL for various reasons. Since there isn't a great deal of documentation out there about how to do this I thought I'd write a quick tutorial.

Basically, to compile an extension for Zend Core you need to go through the following steps:

1) Download the source of your desired extension
2) Create the ./configure script for the extension as a stand-alone shared lib ("PHPize" it)
3) Compile and install the extension
4) Add the extension to your php.ini file

Where most people get caught up is in step two of this process. So, how does one create the correct ./configure script? In a vanilla PHP from, you would do this by executing the phpize command in the extension's source directory:

$ cd /path/to/my/pecl/ext

When executed, this shell script will execute the necessary commands to prepare the extension for compilation and create a configure script in the extension's directory which you can then use to compile your extension. Think of this configure script as a mini-version of the standard PHP distribution version which only will work for the specific extension you are building:

$ ./configure --enable-my-ext
$ make
$ sudo make install

When building an extension for Zend Core, the process is almost identical. In fact, the only real difference is that you need to use the Zend Core version of phpize (and perhaps provide some paths to certain files)..for example:

$ cd /path/to/my/pecl/ext
$ /usr/local/Zend/Core/bin/phpize

Because Zend Core is installed it a directory under /usr/local/Zend, chances are when you attempt to execute the ./configure script it will complain that it can't find a program called 'php-config'. To get around this, you'll need to make sure you also include --with-php-config as part of any ./configure command you need to compile the extension:

$ ./configure --enable-my-ext --with-php-config=/usr/local/Zend/Core/bin/php-config
$ make
$ make install

For most cases that should be all you need to compile the extension for Zend Core!

If you need to compile a PDO Driver

One of the few exceptions to the directions above is when you attempt to compile a custom PDO extension. For example, many people are interested in compiling the pdo_sqlite drivers for PDO into Core. Unfortunately, currently such a process is not officially supported by Zend. However, if you feel that you are comfortable enough you can "tweak" Zend Core to allow you to do so by following these steps:

1) Determine the PHP version your version of Zend Core uses by viewing the phpinfo() page of Zend Core.

2) Download the same PHP version from (or check it out from the repository)

$ cvs co -r php_5_2_5 php-src

3) Copy all of the PDO header files into Zend Core

$ cd /path/to/php-src/ext/pdo
$ mkdir /usr/local/Zend/Core/includes/ext/pdo
$ cp *.h /usr/local/Zend/Core/includes/ext/pdo

4) Use the procedure outlined above for compiling a custom extension for Core to compile a custom version of the PDO base extension (in the ext/pdo directory of your PHP source install)

$ cd /path/to/php-src/ext/pdo
$ /usr/local/Zend/Core/bin/phpize
$ ./configure --enable-my-ext --with-php-config=/usr/local/Zend/Core/bin/php-config
$ make
$ make install

5) Compile your custom PDO drivers

$ cd /path/to/php-src/ext/pdo_sqlite
$ /usr/local/Zend/Core/bin/phpize
$ ./configure --with-pdo-sqlite --with-php-config=/usr/local/Zend/Core/bin/php-config
$ make
$ make install

Note, when doing this process chances are you will have to compile custom version of all PDO-related extensions for compatibility reasons. Once you have everything compiled you can enable the extensions in PHP by modifying the php.ini file (don't forget to restart the server afterwards!). Assuming everything worked as planned, you should be able to see the extension's information within phpinfo() and the Zend Core GUI will show the extension in the extension list (although you will not be able to control it, etc as you would a standard supported extension).

Hope this helps!

Merry Christmas!

Tuesday, December 25. 2007

Merry Christmas everyone! I hope all of you have an opportunity to relax, spend time with your loved ones, and enjoy the holiday!!

Lighten up your day

Tuesday, December 11. 2007

Here is a little video to lighten up your day. A co-worker of mine sent me the link, and I just had to share it some more!

Zend_Service_SlideShare approved

Monday, December 10. 2007

Today I received an e-mail informing me that my proposal for the Zend_Service_SlideShare component was accepted into the Zend Framework incubator. Woo hoo!

What's the component? If you haven't seen it before, is an excellent site for hosting various Powerpoint slide shows for public consumption (think YouTube for slide shows). I wrote the component during the my site redesign to host my various slide shows which can be found in the resources section.

While it is not quite complete (everything but uploading slide shows is there), you can check out the source code by pointing your SVN to the Zend Framework Repository. Please use the Zend Framework bug tracking system if you find bugs.

The Microsoft Trojan Horse?

Thursday, November 29. 2007

Recently I've had Microsoft on my radar a lot, mostly because I'm wrapping up development of the Zend_InfoCard component for Zend Framework, but also because everyone has been talking about the recent release of the FastCGI support in IIS.

Wonderful, now I can also run PHP in a reasonable fashion on IIS -- that's good for everyone right?

I'm not so sure, to be honest. I mean let's face it there is competition out there for the web. A company like Microsoft would be simply neglectful if they didn't do everything in their power to sway, control, and if at all possible dominate this space right? Over the years when it came to public-facing web development PHP has been without a doubt been the leader, but why? I think it has a lot more to do with the fact that Microsoft didn't have a reasonable platform for their web development technologies then it had to do with PHP just being better..

...Continue reading "The Microsoft Trojan Horse?"

Train at Zend!

Tuesday, November 27. 2007

Zend needs, pretty much immediately, a part-time trainer who can do online trainings periodically (generally in two hour blocks starting either at 11am or 2pm EST). Must be able to speak intelligently and authoratively on various PHP subjects you know and have the time to learn any subjects being taught you might be lacking in.

If you think you can fit the bill, e-mail me: john at zend dot com.

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 562

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 451

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 476

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 520

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 819

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 316

Deprecated: Assigning the return value of new by reference is deprecated in /nfs/c02/h04/mnt/28311/domains/ on line 360