Dev Derby

This morning I accepted a postion as supreme overlord team leader for the PHP team in The Combine‘s Dev Derby.…

This morning I accepted a postion as supreme overlord team leader for the PHP team in The Combine‘s Dev Derby.

What is Dev Derby?

The Combine (http://thecombine.org) is a tech event in Bloomington, IN going on from Sept. 9th-12th. On Sept. 11 there will be a “Dev Derby”. This is a one-day programming event which challenges teams, representing different programming languages, to build a web-based application for use by non-profits. The code will be released as open source, giving it life after the day has ended. There will be 5 teams competing. My suspicions say that there will be a Rails team and a CF team in addition to the PHP team.

I’m not sure how finalized some of the information I have on the details are but here is what I do know:

tekx – my thoughts

A conference in which our intrepid hero learns that your brain can explode from too much awesome but that, in itself is awesome.

It’s been about a week or so since tekx ended and I figured that (since I didn’t do one last year) I should put my own personal thoughts down. This was my second year at tekx and I was looking forward to the conference and it did not disappoint my expectations. Oh yeah, I’m going to write like my live blogs were and do mostly stream of thought with as little editting as possible. Want the TLDR version? It was fucking awesome, you should berate yourself for not finding a way to go and resolve to be there next year.

tekx – cross platform php

Talk is by Elizabeth Marie Smith (@auroraeosrose). PHP is officially supported on: Unix Windows Linux Embedded Systems Risc NetWare I5…

Talk is by Elizabeth Marie Smith (@auroraeosrose).

PHP is officially supported on:

  • Unix
  • Windows
  • Linux
  • Embedded Systems
  • Risc
  • NetWare
  • I5 (or whatever it’s called this week)

PHP is starting to drop support for old systems. Like 5.3 won’t run on Windows 2000. So try to keep up to date. “If you’re running PHP 4, GTFO”

If you write your code right and you get a crazy manager that decides to move, you don’t have to deal with the headaches. For the most part, PHP takes care of the hard stuff. You just need to know the edge cases and know the key differences.

tekx – lig’s talk on scalability and mysql

@lig will be talking about mysql 5.5 and scalability this session She is Senior Technical Support Engineer for MySQL. We…

@lig will be talking about mysql 5.5 and scalability this session She is Senior Technical Support Engineer for MySQL.

We will be covering

  • semi-synchronous replication
  • performance schema
  • SIGNAL/RESIGNAL
  • more partitioning options
  • InnoDB – LOTS of InnoDB (performance and scalability improvements)

In 5.5 InnoDB will be the default!!! WOOT.

Default replication is asynchronous. Meaning master writes to binary log and the slave connects and “pulls” contents of the binary log. Bad thing is if the master crashes, there’s no guarantee that a slave has all committed transanction.

Simi-Synchronous Replication is an alternative to asynchronous replication. Midway point between asynchronous and fully syncronous. Master only waits for a slave to receive an event. Don’t have to wait for slaves to actually commit.

Performance schema tracks at an extremely low level. Just like Information schema, tables are views or temporary tables. Activation doesn’t cause any change in server behavior. This is designed for advanced users.

Think of SIGNAL as an exception, a way to “return” an error. You get exception-handling logic for stored procedures, stored functions, triggers,events and db apps.

RESIGNAL lets you pass error information up. Think of it as a catch. Requres an active handler to execute. Lets you program on your PHP side to catch that very specific handling.

tekx – streams, sockets and filters

Image of auroraeosrose @auroraeosrose‘s talk. Going over definitions so that everyone is on the same page. Everything uses streams include/require…

Image of auroraeosrose from Twitter
Image of auroraeosrose

@auroraeosrose‘s talk. Going over definitions so that everyone is on the same page.

Everything uses streams

  • include/require
  • stream functions
  • file system functions
  • many other extensions

What is a stream in php? They allow you access input and output very generically. You can read and write linearly and may or may not be seekable. Comes in chunks of data. Think of a 15GB file, would you want to read that into memory? Of course not, PHP will laugh at you for being stupid.

Thank Sara Goleman and Wez Furlong for the awesomeness of streams.

Edit: Originally didn’t get Wez’s name in the presentation, he thankfully provided me with his identity.

tekx – new spl features in php 5.3

Image of Matthew Turland Matthew Turland is presenting. If you haven’t heard of him, you’re a nub (k, not really…

Image of Matthew Turland from Twitter
Image of Matthew Turland

Matthew Turland is presenting. If you haven’t heard of him, you’re a nub (k, not really but I really wanted to put that in a post somewhere). He’s an auther for php|architect and author of Web Scrapign with PHP, a contributer to Zend Framework, lead developer of Phergie. So yeah, kind of a big deal. He currently works at Synacor which provides internet solutions to ISPs, media companies and advertisers.

The biggest change to SPL in 5.3 is the containers. Why containers? Arrays aren’t always great. The underlying hash table algorithm is not always ideal for the task at hand.

We’ll be looking at a lot of benchmarks. The code is available on github so you can compare the performance results for yourself.

tekx – xdebug

Image via Wikipedia Today’s session is given by derick rethans, the author of xdebug so he might know what he’s…

Xdebug
Image via Wikipedia

Today’s session is given by derick rethans, the author of xdebug so he might know what he’s talking about. 😉

Xdebug provides protections against things like stack overflow in PHP and infinite recursion. You can set this by setting the nesting level. It also provides a pretty formatted errors but not only is it pretty but it provides more information such as memory usage, time, function name and location on items in the call stack. It can also collect parameter information which shows the type with options to display the variable name (if possible) or values. It opts to minimal information to prevent crashing html displays with the browsers.

Another hot option is the ability to link to the files. The var_dump is overloaded to create a pretty, color-coded output. You can turn this off by setting the overload vardump option to 0.