Making Zend Framework Components Compatible With PHP 7.2 & Is It The End of Monolithic Framework at Zend | Hear It From The Mouth Of The Principal Engineer at Zend Technologies a.k.a Mr Matthew Weier O’Phinney

Making Zend Framework Components Compatible With PHP 7.2 & Is It The End of Monolithic Framework at Zend | Hear It From The Mouth Of The Principal Engineer at Zend Technologies a.k.a Mr Matthew Weier O’Phinney

Purpose Of This Interview

This is the #39th set of PHP Interview to help aspiring PHP developers & PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves, surfing better than ever to make themselves an awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community.

On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders“. I hope you will derive as much fun to read my interviews as I’m having by interviewing those #PHPantastic guys.

A Small Intro..

For those that are new to this blog, back in October 28, 2012 I hosted Mr Matthew Weier O’Phinney (MWOP) for the very first time on 7PHP, for a… wait for it.. PHP interview of course!

At that time, I also tagged him as the “Sir Alex Ferguson of the Zend Framework family“. And as of today July 2018, i.e 6yrs after, I still stand by this sentence. Why?

Just like Sir Alex, Mr Matthew, commonly known as the Supreme Allied Commander of Zend Framework (a special honorary title given to him by The Don of The PHP Community, Mr Cal Evans) has and is doing an outstanding work behind the scene for both Zend Framework and PHP.

I was lucky enough (and eternally thankful to the PHP Community) to have been in a room of PHP experts, at SunshinePHP Conference – in Miami Feb 2015, to hear his wisdom during a PHP-fig group discussion on HTTP message interfaces – for PSR-7, as well as while I attended one of his talks.

I cannot say it enough – MWOP is an awesome human being and a fantastic PHP developer.

And Now The Interview…

It all started when I saw the following tweet from MWOP:

 

NOTE:

Before we progress, I am using the following throughout the rest of this article interview:

KEY:
Read TASK as “making #zf components compatible with PHP 7.2
 

>> Hey Matthew! For those that might not know you, can you please briefly introduce yourself and your relationship with Zend/Rogue Wave?

I am a Principal Engineer at Zend Technologies, a RogueWave Company. I’ve worked with Zend since 2005, starting first in their (then nascent) eBiz division, and then transitioning full-time to the Zend Framework team in 2007, following several successful initiatives I led on the project while working in eBiz.

In 2008, I was promoted to Software Architect, in 2009 to Project Lead, and in 2013 was promoted to Principal Engineer.

I remain project lead for Zend Framework and its associated components and sub-projects (such as Apigility and Expressive) to this day, and the upkeep and development of them is my primary job responsibility.

I also am tasked with working on the development of standards with PHP-FIG, and reviewing incoming features for the PHP language to see how they might affect how we develop the projects.

I have a small team I work with directly at RogueWave; the majority of the work I do is with outside collaborators who volunteer their efforts to the project.

>> Just so we are all clear, what are we meaning by “components”? Are these independent PHP libraries, 100% decoupled from ZF, that can be used outside the scope of any ZF-based application?

Zend Framework is a suite of components that may be used at-will and independently, or together as part of a “framework” project. (More on that later.)
 
These include packages such as:
  • zend-filter
  • zend-validator
  • zend-paginator
  • zend-eventmanager
  • zend-servicemanager
and so on and on.
We currently have triple-digit numbers of components we maintain.
 

>> What was the latest version of PHP that these components supported, prior to the move to PHP v7.2?

>> I do not have the whole picture about all things happening at ZF – are you guys working directly into compatibility with PHP v7.2 without going through 7.0, 7.1 ?

I’ll answer these two questions together, because they are related. Existing components have supported PHP versions from either 5.5, 5.6, or 7.1 and up.
 
For the last 2-3 years, we’ve been gradually phasing out PHP 5.5 support (as it is no longer supported by the PHP project), and, as new versions are released, ensuring that the components work predictably on those versions.
 
The current initiative is to make sure that all of our projects work with PHP 7.2.
 
A longer term initiative is that all new components will only support PHP 7.1 and up (most of the latest Expressive packages fall in this category), and new MAJOR versions of components will adopt PHP 7.1 as their minimum version.
 

For the task of providing PHP 7.2 compatibility, most components already do; we just haven’t provided proof via our continuous integration.

In a few cases, though, we’ve discovered we were using deprecated functionality and/or were defining signatures in class extensions that are no longer allowed starting in 7.2 (e.g., you cannot add or remove by-reference binding to arguments or a method on an extension). This latter change, becoming more strict with regards to signatures, has been particularly problematic and revealing about what both we and projects we depend on do.

In particular, PHP 7.2 became more strict with regards to how it allows extending classes to define optional parameters in methods. Prior to 7.2, you could change the default value in an extending class.

For example, if you had defined:

    public function get($name, array $options = null)

Then an extending class could override the method and define it as follows:

    public function get($name, array $options = [])

Starting in PHP 7.2, the latter gets flagged as a fatal error, instead of being silently accepted. We ran into this issue both in our own code, as well as supporting libraries such as PHPUnit. As a result, we couldn’t just add PHP 7.2 to our testing matrix; we also had to upgrade PHPUnit so we could even run the tests in the first place.
 
This in turn caused additional problems: PHPUnit 6 and 7 only work on PHP 7.1 and up, which means that we need to have functionality in place in our Continuous Integration system (we use Travis-CI) to switch between versions based on PHP version being tested.
 

>> I want to understand the process involved with the team regarding this TASK?  How are compatibility issues discovered, are each component tested for it..etc And since Zend is an enterprise, I would guess there are formal internal processes involved for even a trivial update on a component? So tell us all about it 🙂

The process is the same one we’ve used successfully for a number of years: we test against each PHP version that Travis-CI supports.

Generally, as betas and/or RCs of a new version of PHP become available on Travis-CI (generally through nightly builds), we start adding them to our Travis-CI configuration in order to identify issues, and either update our code to make it compatible, or report issues to the PHP project when we identify BC breaks.

That process has evolved a ton for us in the last few years, due to changes in PHP 7.1/7.2 and PHPUnit. We have to have mechanisms in place to vary dependencies installed based on the PHP environment being tested.

We’ve come up with a predictable and reliable strategy, but it has only stabilized in the last six months.

First, we update our PHPUnit dependency to allow any of the 5.7, 6.0, and 7.0 versions: "phpunit/phpunit": "^5.7 || ^6.0 || ^7.0".

In some components, where we haven’t had many changes, we were still supporting PHPunit 4.8, which has meant further updates (more on that later).

Next, we ALWAYS commit our composer.lock file.
 
This allows us to do some neat things in Travis. Speaking of: here is a sample from one of our Travis-CI configuration files:

env:
global:
- COMPOSER_ARGS="--no-interaction"
- COVERAGE_DEPS="php-coveralls/php-coveralls"matrix:
include:
– php: 5.6
env:
– DEPS=lowest
– php: 5.6
env:
– DEPS=locked
– LEGACY_DEPS=”phpunit/phpunit”
– php: 5.6
env:
– DEPS=latest
– php: 7
env:
– DEPS=lowest
– php: 7
env:
– DEPS=locked
– LEGACY_DEPS=”phpunit/phpunit”
– php: 7
env:
– DEPS=latest
– php: 7.1
env:
– DEPS=lowest
– php: 7.1
env:
– DEPS=locked
– CS_CHECK=true
– TEST_COVERAGE=true
– php: 7.1
env:
– DEPS=latest
– php: 7.2
env:
– DEPS=lowest
– php: 7.2
env:
– DEPS=locked
– php: 7.2
env:
– DEPS=latestbefore_install:
– if [[ $TEST_COVERAGE != ‘true’ ]]; then phpenv config-rm xdebug.ini || return 0 ; fi

install:
– travis_retry composer install $COMPOSER_ARGS –ignore-platform-reqs
– if [[ $LEGACY_DEPS != ” ]]; then travis_retry composer update $COMPOSER_ARGS –with-dependencies $LEGACY_DEPS ; fi
– if [[ $DEPS == ‘latest’ ]]; then travis_retry composer update $COMPOSER_ARGS ; fi
– if [[ $DEPS == ‘lowest’ ]]; then travis_retry composer update –prefer-lowest –prefer-stable $COMPOSER_ARGS ; fi
– if [[ $TEST_COVERAGE == ‘true’ ]]; then travis_retry composer require –dev $COMPOSER_ARGS $COVERAGE_DEPS ; fi
– stty cols 120 && composer show

script:
– if [[ $TEST_COVERAGE == ‘true’ ]]; then composer test-coverage ; else composer test ; fi
– if [[ $CS_CHECK == ‘true’ ]]; then composer cs-check ; fi
after_script:
– if [[ $TEST_COVERAGE == ‘true’ ]]; then travis_retry php vendor/bin/php-coveralls -v ; fi

 

Let me decipher this for you.

We define some basic details that are not environment dependent: initial composer arguments, and the dependency we will use for pushing coverage reports to the CI job that analyzes those.

Next, we define our jobs. Each job is a combination of a PHP version, and what set of dependencies (DEPS) to use, which is one of either “lowest”, “locked”, or “latest”.

Some jobs define additional environment information, such as whether to run test coverage or CS checks, or additional “legacy” dependencies.

Before we install anything, we determine if we are running test coverage; if not, we disable XDebug, which helps boost both Composer performance as well as testing. We’d prefer jobs execute quickly!

The installation phase is where it all comes together. We first install dependencies from the lock file, ignoring any platform requirements.

This allows developers to update the lock file without worrying about whether a given dependency works on all PHP versions (some packages will remove support for a major version of PHP within a minor release!).

Next, we check to see if a LEGACY_DEPS environment variable was defined; if so, we run a composer update referencing the packages it lists — this is what allows us to install an earlier version of PHPUnit (and, occasionally, other packages) on PHP 5.6 and 7.0!

Next, if DEPS is latest, we run a composer update, and, if DEPS is lowest, composer update --prefer-lowest --prefer-stable to test against the latest and earliest versions of dependencies allowed, respectively.

Finally, we list the final set of packages installed for the job.

The script includes stty 120 to set the output width; if this is not set, composer does not detect a TTY is in use, and spits out only the package names, but not the versions; the latter is very important when analyzing jobs, as it allows us to identify a potential range of dependency versions that led to test failures. (As an example, just yesterday, I discovered jobs that always passed on “lowest”, but not on “locked” or “latest”, and only with PHP 7.1+; by examining the dependencies, I was able to isolate the problem to a change in behavior in PHPUnit that I was then able to provide a change in test setup to accommodate.)

As a maintainer, I can switch to a PHP binary mimicing the setup of a failed job, install the same dependencies using the same sequence of commands the job ran, and run tests myself in order to drill down into them better (e.g., with a debugger, running individual tests, etc.).

>> Is there a pre-defined roadmap with this TASK and hence a deadline?

We defined a GitHub project for the task, but set no deadline.

The reason we set no deadline is that this was also an opportunity for us to touch basically every single component and review any existing open patches.

This process takes time, and there’s no way to meaningfully estimate it.

Some patches you review take a moment or two to understand and merge. Others take hours.

Some components have only a few open patches, if any; others have a dozen or more.

As such, we left it open-ended, but chose to make this a focus of our attention until it was complete.

>> There are 166 repositories (components), handled by 21 people. Are all these people working officially for Zend or do these include voluntary contributors as well, chosen by Zend?

No; the vast majority of these people (the community review team) are volunteers. These maintainers are most often chosen by me based on past activity, but are in some cases recommended by others on the community review team. They provide code review, merge patches, and create releases.

>> What are the main challenges that came through, either for you or the team, during this TASK?

The biggest issue was PHPUnit compatibility with PHP 7.2, and ensuring we could install and run PHPUnit on each of the target environments.

The example Travis-CI configuration I outlined above was the result of a number of iterations, and we learned from each of them… but it took time. Additionally, there are differences in the various PHPUnit versions, which meant we had to adapt existing tests. Fortunately, the PHPUnit developers tend to think about forwards compatibility, and introduce features from one or two major versions down the line to allow you to begin migrating your test suites. Some examples:

  • PHPUnit 5.6 or 5.7 added class aliases for namespaced versions of their classes, allowing developers to reference them by the namespaced versions that were released in PHPUnit 6.
  • The PHPUnit 4 series allows creating mock objects via createMock() or a combination of getMockBuilder(...)->getMock(), allowing developers to migrate to those constructs from the original getMock() method (which was deprecated in PHPUnit 5 and removed in PHPUnit 6).
  • PHPUnit 5 added the expectException*() methods, which were removed in PHPUnit 6, allowing developers to migrate to those from the original setExpectedException() implementation.

While having these is great, we found we needed to adopt all the latest features at once if we also wanted to test against PHP 7.2.

The reason is that PHPUnit versions prior to version 6 did not work with PHP 7.2 due to language features PHPUnit used that were marked deprecated in PHP 7.2 (and thus resulted in triggering PHPUnit’s internal error handler).

Generally, we are able to simply add new job entries for a new PHP version, verify they run and pass, and move on. Adding support for PHP 7.2, however, meant updating all tests and our CI processes.

>> While creating a component, what’s the deciding factor – is it because the objectives of the main project requires it, is it because someone in the team identified that such a component would be useful or is also because another framework is offering a similar one and ZF need as well to have it? (I know I’m too curious at times :D)

Many of the components we have today have their roots in Zend Framework 1, where we created them to provide a full-featured framework. These included features such as filtering, validation, pagination, sending and receiving email, database access, etc. Around 3-4 years ago, we realized that we were having trouble evolving any of these individually because their lifecycles were dependent on the framework lifecycle, and started looking at ways we could split them out. This culminated in the 2.5 release three years ago: we split all the components into their own repositories, and made the framework package a “metapackage” (a package that ships no code, but instead requires other packages).

Since then, we’ve added quite a number of new packages. Some of these are features we develop to support the greater PHP ecosystem: Diactoros, our PSR-7 implementation, was developed alongside the specification, and Stratigility provides a general-purpose middleware dispatcher (and now implements and consumes PSR-15!). With Expressive, we have created a new micro-framework for developing middleware applications, and much of our new development is around middleware packages that we feel can benefit the PSR-15 and PSR-7 ecosystems. In many cases, these packages act as _bridge_ packages: zend-expressive-authentication-oauth2, for example, bridges between our general-purpose authentication middleware and the PHP League’s oauth2-server package. 

One other thing we are working towards is splitting existing packages into more discrete functionality. As an example, zend-cache provides around a dozen adapters, most of which have dependencies on specific extensions. Our plan is to split those adapters into their own packages, leaving the main zend-cache package to primarily define interfaces, common plugins, and non-extension-based adapters such as the Memory and Filesystem adapters. This will allow the individual adapter packages to explicitly require the extensions they use, and greatly simplify and speed up testing (the zend-cache CI builds often take upwards of 20 minutes to complete currently, most of which is due to enabling and configuring extensions, and running tests for every single adapter we ship!).

Finally, we create new packages targeting new functionality when we identify a need for them. As an example, we wanted a package for reporting Problem Details for HTTP APIs (IETF RFC 7807) for our PSR-15 middleware. There were a couple of packages that would create Problem Details value objects, but none that would create PSR-7 responses, nor any error handling middleware that would do so. As such, we created zend-problem-details for these purposes. Another example was providing Hypermedia Application Language (HAL) representations. Again, we found packages for creating the value objects, but none that would create PSR-7 responses, and none that would translate between pure-PHP value objects and HAL.

More and more, however, we are looking to see if good packages exist in the ecosystem already, and directing our users to those, and, when relevant, providing documentation on how to consume those within Expressive or zend-mvc.
 

>> One of the tickets created for this TASK, had the title “Add PHP 7.2 support, drop HHVM”. Can you tell more about that?

We decided a year ago that not only would we require that new components and new major versions of existing components use PHP 7.1 as a minimum, but that we would stop supporting HHVM. The reasons behind this were several:

  • PHP 5.6 and up introduce features not available in HHVM or not compatible with HHVM.
  • Usage rates of HHVM are very, very small.
  • PHP 7 is really, really fast, making the primary selling point of HHVM mostly moot.
We allow dropping HHVM and/or minor versions of PHP in minor releases of our packages, and felt that, if we were already making changes to our Travis-CI configuration, this would be a good time to remove testing on that platform.

>> Each time a new (major) version of PHP will be out, the components would necessitate another update regarding compatibility. So is there a specific way that the team codes those component to ease such related TASK? How are things done to address TASK in the best possible manner each time periodically?

The PHP team has a “release train” that they stick to, and it generally involves a number of months in alpha, as changes that require API/ABI breaks from approved RFCs are added, a few months in beta as new features that do not break API/ABI are added, and a couple months in RC status, as they polish the release and identify any new bugs based on the changes.

We generally start testing against nightly builds either during the beta or RC phase, and adapt our code to work, if we can do so in a backwards compatible way, and/or report issues to the PHP project when we identify breaking changes. We try to have support available before the release drops, but, in cases where larger changes are necessary (such as the migration to PHP 7.2 and compatible versions of PHPUnit), we take the time we need to get it right, and will release later.

Adopting PHP 7 was not terribly difficult. The PHP project tries very hard to keep BC breaks to a minimum, and, generally speaking, attempts to provide guidance in how to adapt existing code such that it will work in existing versions, and become forwards compatible with the new version. In my experience, any BC breaking changes in PHP typically address language level problems: fixing signatures to remove ambiguity, making syntax more predictable, etc. Testing against a new major version helps us identify when we are using language features incorrectly, and forces us to fix our code to use the language better.
 

The End of monolithic framework at Zend?

 

>> Is ZF really now 100%-ly made up of decoupled independent components?

YES!

Three years ago, we released version 2.5, which split the framework out from a single repository into a repository per-component. From that time forward, we have developed each component on its own lifecycle. At the same time, we marked the 2.4 series as a Long Term Support release, to address:

  • Users of PHP 5.3; we dropped support for PHP 5.3 and 5.4 when we released our own version 2.5, but, at the time, we had a lot of users who were still on PHP 5.3. Giving them an LTS gave them breathing room to upgrade.
  • Users of the monolithic framework liked having a single tarball or dependency to install, and this gave them opportunity to gradually learn Composer and adapt to workflows that use.
 
A year after the split, we released Zend Framework 3. What was interesting about this release is that it wasn’t a single package. Instead, we shipped a skeleton application with very minimal dependencies:

  • zend-skeleton-installer, which provides prompts for optional features you may want to install, and which removes itself after initial installation.
  • zend-component-installer, which is a Composer plugin that checks to see if a component exposes itself as a ZF module (or Expressive config provider)
  • zf-development-mode, which allows you to toggle development mode
  • zend-mvc, the MVC layer itself

 

What’s more interesting is zend-mvc: it has a small set of dependencies, too, and acts solely as a bridge layer between those components:
  • zend-eventmanager
  • zend-http
  • zend-modulemanager
  • zend-router
  • zend-servicemanager
  • zend-view
The bulk of the effort in the v3 series was to identify and minimize dependencies in each component, to allow them to be shipped standalone. You can use zend-router in middleware applications. You can use zend-view as a template engine for any application. You can use zend-eventmanager within a Laravel, Symfony, or CakePHP application. We provide some opt-in functionality in each component to provide autowiring within a zend-mvc application (or, in many cases, an Expressive application), but you can use them on their own.

The approach is working.

With the monolithic framework, at best we released bugfixes and/or feature releases up to 20 times a year (at one point, we had a bi-weekly schedule for bugfix releases). With the change to component releases, last year alone we published 260 releases across 85 repositories, and had over 100 million downloads of all packages! This approach gets bugfixes and features to users faster, and leads to more confidence in the project.

(I’ll note that not all repositories are treated equally. Having such a large number of packages to maintain can mean some slip through the cracks, and we’ve had a number where patches have lingered for 18 months or more. As such, we’re also trying to identify packages we no longer wish to maintain, and looking for alternatives to direct our users to.)
 
 

>> I guess it took a lot & a lot of hardwork, energy and time to reach this milestone. Do you want to briefly share your experience through this?

When I tweeted the end of the monolithic framework, what’s interesting is that we have been operating under that paradigm for two years now.

The tweet simply commemorates the fact that on 31 March 2018, the ZF 2.4 LTS ended. 2.4 was the last version shipping as a monolithic framework, and the end of its LTS means we will no longer be updating it.

This simplifies things for us greatly; the LTS releases were complicated to create, and quite error-prone (due to difficulties testing the monolithic framework, lack of automated processes around updating Zend\Version, etc.).

The end of the LTS means we can focus ONLY on the components going forward. Frankly, I’m quite pleased, as it’s the culmination of several years of effort!

>> Expressive 3 provides a middleware microframework approach.

>> Would you say that a middleware approach is better than going the traditional way (MVC approach for example) that most developers are used to?
>> Is there any disadvantage of that architectural approach?
I’ll answer these two together.

MVC frameworks are nice because there’s no guesswork: they typically install _everything_ you might need for a project, whether you will use it or not. So, if you don’t need forms right away, the form support is still installed for that moment when you _do_ need to create them.

However, MVC frameworks are also generally highly opinionated about the specific workflow an application will use, even down to the level of dictating exactly where to put files, register configuration, etc. If you try and do something even slightly different, you will often find yourself hacking around the framework.

Then there’s the “magic”. In order to make the common tasks easy, most frameworks have tools for rapid application development that hide complex implementation details. These allow you to prototype features quickly and easily initially. However, if you do not take the time to learn how the “magic” works, you may find later that they limit you, or that you cannot easily change their behavior to suit your specific application.

I’ve found middleware to be an interesting and refreshing approach to complexity. It allows me to create exactly the workflows my application needs, from the macroscopic, application level, down to individual HTTP method/path combinations. If I do not need authentication everywhere, I can add it to the specific areas of my application that need it. If I want API-specific error handling, I can add it at a path level, or to specific routes.

The pitfall of middleware is that it means that you often do more work up front, more explicitly. This means more typing, and more decision making, which is often the antithesis to rapid application development. That said, I tend to favor explicit over magic, as it helps me identify complexity, and determine if I can refactor it to be simpler.

Personally, I recommend:

  • If you know the ins and outs of an MVC framework, use it. But start learning middleware, and identifying where middleware may help you better implement functionality in your project.
  • If you don’t know an MVC framework well, use middleware. It will grow with your needs.

>>In Expressive 1.X, you used a “double pass middleware” approach, whereas going forward with Expressive 3, this is no longer the case, as it now uses lambda middleware. So there must be something that was noted for that change to occur. 

>> Could you share your insight about the why behind that change and why you believe the lambda is a better approach that the double pass?
The change was due to adoption of the PSR-15 specification.

When PSR-15 began, we all expected that it would simply ratify the prevalent double-pass style. But we identified a number of problems with it.

First, using a generic `callable` for the “$next” or “$handler” argument is a terrible contract. There’s no guarantee it will accept the values passed to it, or return what is expected.

Second, passing the response to middleware is quite problematic. If middleware alters that response, but ultimately delegates to another layer (via $next/$handler), there is no guarantee that the response returned by another layer will contain the alterations; it could return a new response entirely. What we discovered was that a lot of middleware was operating on the response _prior_ to calling $next/$handler, and we were seeing lots of bugs as a result.

As such, a “best practice” was arising whereby developers were only using the $response passed to the middleware as a _prototype_ for use when they were returning a response directly. However, this also has problems. While PSR-7 classes are modelled as immutable, there is one exception: the StreamInterface. This interface is composed in request and response bodies, and is _not_ immutable, due to a language level limitation: stream resources in PHP cannot be cloned. As such, one middleware could write to the response body, but still delegate to another layer, and now there’s a potential for multiple middleware writing content, which is almost never acceptable.

So, PSR-15 went with a lambda approach. By eliminating the response from the arguments to either middleware or the handler, we prevent common mis-uses of the response object. Further, by adopting PHP 7, we are able to provide _return type hints_ on both interfaces, ensuring a strong contract for consumers.
 

>> Can the microframework, Expressive, be used to create a complex applications that would normally be done by the full-fledged ZendFramework?

Absolutely! 

>> It’s been a very long time I have not kept myself updated with ZendFramework. Does the v3 still uses an MVC approach or has it been revamped to provide a middleware architecture approach first?

We provide both!

Zend Framework 3 was more of an _initiative_ than a single framework version. As noted earlier, the main thrust of the work was to minimize cross-component dependencies to allow standalone usage of components.

We then shipped two separate runtimes: zend-mvc, and Expressive. zend-mvc is identical to ZF2 (with a few changes and feature additions), while Expressive provides a middleware microframework. If you are familiar with ZF2, migrating to ZF3 will pose no problems for you. (The main changes are BC-breaking changes to zend-servicemanager and zend-eventmanager, and we provide a lot of tooling and documentation to make the transition as easy as possible.) 

One new feature of interest, however, is that zend-mvc now ships an optional MiddlewareListener, allowing you to route to middleware (and middleware pipelines!) within your zend-mvc application.

 

>> I know this would sound a bit like comparing apple to oranges, but what is Zend trying to achieve (differently) using either of Zendframework or Expressive, when compared to either of Symfony or Laravel? Why would someone choose ZF over its mentioned competitors?

Our primary mission is to provide general purpose components that you can use in any application.

We secondarily provide runtimes (zend-mvc and Expressive) that integrate these components (as well as those outside our ecosystem), and specifically recommend PSR-15 middleware architectures as a general-purpose approach to developing web-facing PHP applications.

We feel that you can and should choose Zend Framework components where they fit your development needs, regardless of the framework you use. It’s not a zero-sum game, particularly in a Composer-enabled ecosystem.
 

>> Matthew, I thank you enormously for your precious time with 7PHP. I know and understand you have a very busy schedule. I’m very thankful and grateful to you. A last word before we close up?

 
I’m very proud about the changes we’ve made in the Zend Framework ecosystem in the last few years.
 
We have gone to great lengths to make ZF relevant in a world where users can literally build their application out of any packages Composer can install, without regard for framework.
 
I think our switch towards middleware ecosystems is a forward-thinking step for the PHP ecosystem. Ultimately, I look forward to the day that developers choose middleware packages from anywhere that suit their needs, and push them into a middleware dispatcher they have selected or developed to address their specific application needs.
 
Frameworks are great; framework silos, not so much. We’re all PHP developers; let’s work together to build amazing and useful products for the world.
 
Ebook Review For Uncle Cal’s Career Advice To Developers

Ebook Review For Uncle Cal’s Career Advice To Developers

Review Of The Ebook Career Advice by Uncle Cal

A Small Intro | #1st Edition

This is the very first review that I’m doing on 7PHP. This is something that I’m going to implement as part of my new reload this year (2017). I have laid down a framework for myself to do all reviews and this is a work-in-progress till I find myself with the right formula to review and evaluate books.

I have a couple of books in my pipeline pending for review, so I will unveil them gradually. Anyhow, if you are an author and you are convinced I would be eager to read your book, send them my way! 🙂

Disclaimer

I have already laid forward my disclaimer here. Since I consider Cal as both my virtual omnipresent mentor (since the very time I came to know about him in year 2012) and now a good friend (we have met each other in real life a couple of times now), I want to be clear about this: Cal have not asked me to do a review nor to talk about his book.

Anyone in the community knows we are grateful (in our own self-consciousness) to our fellow community folks a.k.a family member in one way or the other. We will never ever be able to be thankful to each other enough for all that each other does for the community and for each other.

That said, let’s get back to the review.

The Review

Main Details Of The Book

This is a review of the ebook named “Uncle Cal’s Career Advice To Developers” – totalling only 16 pages. The pricing of the book is flexible: it starts as low as the suggested price of $4.99 with an option to pay more as a token of appreciation.

This ebook can be bought here: https://leanpub.com/uncle-cals-career-advice

The Table Of Content

    1. Introduction
    2. Plans are worthless planning is everything
    3. Your work will not speak for itself
    4. You are responsible for your career
        - Look for interesting and high-profile projects
        - Be a rainmaker
        - Keep a “Me File”
    5. The job will never love you back
        - Give Value
        - Get Value
    6. Do all for the glory of God
    7. Conclusion

My Opinion

What Is This Book About | The Aim Of This Book?

This ebook accomplishes one thing: “Create an awareness in the mind of a developer about himself with respect to his work environments and how to climb the ladder to leading an appropriate (and successful) career”.

What Audience Is It For?

While this book is best for freshers, that is, people that has just joined a workplace as a developer irrespective of the programming language he/she is using, it is also very much valid for anyone that is in the mid/senior level and for team leads. Because the mindset it creates, you won’t learn that in a workplace.

I would also challenge any manager to read this book once, just to evaluate their own thinking and mindset. I guarantee you, you will learn at least ONE thing that you did not implement in yourself.

Are Ideas Flowing?

When I read this book, there was clear coherence and flow of ideas. The author has been careful in choosing each title. Section after section, was unveiling new things that was related to the previous chapter.

The Author’s Style?

The author uses a clear language in the first person. The language I see has been kept very simple, with only one or two words that I will tag as “jargons”. Other than that, the author did a good job to help the reader stay focus on the subject matter without the need to hope onto google for added meanings.

Who’s The Author?

The author is Mr Cal Evans. I did an interview in the past with him which you can read here. He is very much the father of the PHP Community. Being in his 50s, there’s no denying he’s got lots of experience both as a professional PHP developer and as someone who manages both people and communities.

You can find more about Cal Evans:

What I Like About This Book?

  • The author has written this book based entirely on real life experience. It’s one of the few book in this niche that I actually saw every advice coming out because the author actually went through that pain and how he solved it.
  • Short length – this ebook is only 16 pages of size and I took less than 30mins to read this after my work hours, before I go home. I like when books are short, concise and to the point.
  • I have not been bored. Because in every paragraph I was exposed to “real scenarios”.
  • The advice and tips, made sense to me. Now that I’m in the shoe of ‘managing people/team’’, I can totally relate myself with those transitions and advice.
  • Humble & sincere – the author, despite his professional positions in real life, has not hesitated to show the real him and his mistakes straight to the reader. This is hard to do at times, but kudos for doing it.
  • Should change your mindset fast enough. If you have genuinely read the book with the mindset of receiving and staying focused, you should immediately see what you are currently doing wrong and how to change gears IMMEDIATELY. While it will not change your current status today or tomorrow, it will change your MINDSET immediately and that is powerful – you are going to change your career gears in the months to come if you apply it in diligently on a daily basis.

What Could Be Improvement?

  • The only thing that could have been improved is: formatting. May be making the quotes stand out a bit more conspicuously as well.
  • I would have probably added some pics to help captivate the reader’s mind a bit more.

One Thing That strikes Me About This Book?

  • The willingness & sincere intent of the author to help other people that are starting the job market. Like I said, he exposes himself and his mistakes, to help you understand what went wrong and what you should avoid.

The Aesthetic Side Of Things

Despite the book having a nice cover, some enhancement in the “look and feel”, would have been nice – but not a necessity as depending on the type of person, this is subjective.

My Recommendation

Would I Recommend This Book

Indeed, without doubt. I fully recommend this book to ANY developer (backend & frontend alike) irrespective of the language they are using. I just wished I had this book when I was starting my career.

What Type Of Person Would Like This Book?

Someone with a genuine intent of changing the gears of his/her career path. Rising up the ladder or performing effectively in your job, is not just about being able to code. It’s an 80/20 rule. You need to have the right mindset, the right attitude, the right decision for yourself. And in that sense, this book is a little gem. And for that low pricing, Cal is giving away his knowledge freely.

Would I Read More Books From This Author?

Definitely. Cal has always been one of the most consistent and inspiring person I know in the PHP World. His priceless experience and knowhow of the community, is always steps beyond.

That’s It Folks!

Tweet to @7php (or email me at blog@7php.com) to let me know how I did for this first book review and what I could improve. Till then, see you for my next post!

Before I end, let me quote something from the book that is worthwhile for you to think upon:

I take my debt to the community very seriously. I run a virtual user group named Nomad PHP and we give free tickets to anyone who runs a local PHP user group. Do you know why? Here is a hint, it’s not marketing. To the best of my knowledge the over 500 tickets we’ve given away in 3 years have not sold a single ticket. I do it because I know that for the most part, organizing a local user group is a thankless job and this is my personal way of saying thank you.

.@calevans take his debt to #phpc seriously – giving free tix to any1 who runs a #PHP UG to @NomadPHP DO U KNOW WHY? https://ctt.ec/h1UO1+

— Cal Evans

Tweet this!

CREDITS

Interview With Mihail Irintchev Team Leader At SiteGround Web hosting

Interview With Mihail Irintchev Team Leader At SiteGround Web hosting

Purpose Of This Interview | The 39th Edition

This is the #39th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community as their own way of giving back and contributing to a better society.

On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders“. I hope you will derive as much fun to read my interviews as I’m having by interviewing those Rockstar PHP guys.

Two New Changes

In this 7PHP Reload this year, I’m introducing two new things:

  1. Trying to ask my interviewees to do a short audio or video recording of themselves. I want my readers to get more connected with them.
  2. I’m also introducing a new section called as The Rapid Fire Section.

A Small Intro..

Today I have an immense happiness and great honor to host a fantastic human being & a passionate PHP Community fanboy who’s Mihail, on 7PHP. I was very lucky and humbled that he invited me for PHP Bulgaria back in 2016. There I also got to spend quite some time in the presence of Mihail ( @irintchev). As someone who is very attentive to details, I have been very impressed by the Bulgarian people. More on them when I’ll post my @bgphpconf review – yes I know I’m so late, but like Mihail always says: “it’s not over, till you blog about it”.

Mihail is in himself a class above in everything. He is so kind, sincere and cheerful. He really inspires me in that attitude that he maintains. It all appears so easy when you are around him, despite all the responsibilities on his shoulders. While many would say it takes great effort to achieve such a level in yourself and discipline, I would say that Mihail has it intuitively in himself. It’s always a great magical feeling when you meet such a fantastic and awesome human being.

During my stay in Sofia, Mihail has been exceptional with me. Careful in every single detail since DAY 1 to the last day. In Mihail, I have not just found another #PHPc friend, but I’m humbled to say that I have also found a brother. It was one of those moment when I nearly had tears in my eyes while leaving a country. That’s how awesomely he (and specially the magnificent Ramelina – @RallyBaklayan) more on that on my later blog posts) treated me. THANK YOU for ALL you did for me Mihail, Ramelina & team! Words will always fall short to thank you guys.

7PHP with Mihail at PHP Bulgaria Conf 2016
7PHP with Mihail at PHP Bulgaria Conf 2016

And Now The Interview..

» Hi Mihail, please introduce yourself to the 7PHP readers..

https://youtube.com/watch?v=9ZRXVKJz17c%3Fecver%3D1

My name is Mihail Irintchev. I am originally from Sofia, Bulgaria. I organize a PHP UG (Bulgaria PHP – @bgphp) there since 2014. I’ve been working as a software developer for the last 14 years, mostly writing PHP applications. My current job is being a dev team leader in a hosting company called SiteGround. I am fortunate to have a lovely wife and a wonderful 9-year old daughter. I love traveling with them and trying new things. I enjoy coding with my kid. Having too many hobbies, I’d say the most favorite of them involve brewing, cooking and riding a motorcycle.

» How you started with PHP – what’s your #elePHPant story

Back in 2003, just out of university, I was working as technical support when three friends from college had the idea of starting a hosting company. They needed a web site plus all the stuff related with taking orders, and had chosen to do it in PHP. They needed a developer, I hadn’t done anything in PHP at that time but they trusted me because they knew how much I love programming in general. That’s how I got my first programming job. Funny thing is, I am still working for the same company which happened to grow quite a lot 🙂

» Your L(A)MP stack comprises.. ?

  • Ubuntu distribution
  • Apache 2.2
  • MySQL/Percona
  • PHP 7.1

(although I sometimes use containers to run other setups)

» The relationship between You and The PHP Community comprises..

I enjoy greatly being a part of the PHP community. I believe it is an open-minded and fun bunch of well-intended people. I do my share for enlarging it by organizing UG meetings in my hometown of Sofia, Bulgaria.

» How do you find PHP now as compared to when you first started?

Amazingly mature 🙂

It’s quite fun when you grow up as a developer and your main language of choice grows with you. I have to be honest to admit that from my current point of view PHP then was pretty much a set of tools to get some job done quickly for the web.

Nevertheless, due to amazing people involved in the project and the community it grew to a truly multi-functional modern object-oriented language, yet retaining a lot of the ease and flexibility that helped it become so popular.

The now-and-then comparison pretty much resembles the way we look at our code written 5 or 10 years ago – it evolves from the ‘just-solve-the-problem’ kind of very practical approach to the more elegant ‘think-about-the-future’ and ‘be-nice-to-the-next-developer’ kind of approach.

It’s quite fun when you grow up as a developer and your main language of choice (PHP) grows with you.

— Mihail Irintchev

Tweet this!

» Based on your experience, what are the good and bad parts of PHP

PHP is very easy to pick up. It’d say can be a very good starting language in case you have a good teacher or good books to follow.

On the other hand, its flexibility in terms of free typing and not strictly enforcing OOP (like Java for example) allows for writing a lot of crappy code (as in many other scripting languages, for that matter) if good practices are not known or not followed.

» What would be the Top advice to a PHP beginner

If you haven’t done that yet, learn about software architecture in general, SOLID principles, design patterns – all the important programming concepts (some of them back from the 70s and 80s). Learning a programming language in terms of syntax and basic libraries is easy and usually is a matter of weeks or months. Writing good code, on the other hand, is something different. It takes longer to get used to.

My advice to PHP Beginners: learn about software architecture in general (incl. the 70s & 80s)

— Mihail Irintchev

Tweet this!

» To someone who wants to become a better PHP developer..?

Go to conferences, participate in user groups, talk to your fellow developers. Being active in the community is the best fuel for getting passionate about learning and trying new things. Try new stuff, even if it turns out it sometimes does not work for you.

Being active in the community is the best fuel for getting passionate about learning and trying new things.

— Mihail Irintchev

Tweet this!

» What are some common PHP mistakes you often see beginners make?

Depends on the person, I’d guess.

What I often see these days in developers who have been doing PHP for couple of years or so is the desire to try to solve everything with the same set of tools. Say, you love a framework, it’s very popular and a good one in the general case. This does not mean it is the best solution for every problem. Sometimes, if you want to swing, all you need is a rope tied to a tree, not a whole playground 🙂

» The best PHP book you’ve read

The Zend PHP ZCE Official Guide

» A PHP blog or resource you highly recommend

Adam Wathan’s: https://adamwathan.me/

» The IDE that you use

Not really an IDE, but I use sublime text (I am actually typing this text in Sublime) with a set of useful plugins.

» How do you debug your PHP code?

Usually xDebug for the really tangled situations and var_dump() for the simple cases 🙂

» How does your typical project workflow look like from start to deployment phase (including toolset you use to achieve your goals).

When I work on a project on my own (being the only developer on the project), I would usually start with some form of a sketch/wireframe of the application. For the last two months I’ve been using codeception a lot, so (tests first) that would be my second step – getting the acceptance, functional and unit tests prepared.

Then I would get into the iterations cycle of writing code and getting the tests to pass. Finally, I’d get a code review from a fellow developer (and possibly iterate some more) before the code reaches QA phase and production. I use phing as a build tool and phinx for DB migrations.

» The one feature(s) of PHP 7 that you like and dislike?

I like all of the new features, and cannot really think of something to dislike.

» What’s the best way for people to jump onto PHP 7 if they are from a PHP 5.x background

Show them the performance benchmarks 🙂

» A PHP framework you use and would recommend

I like to play with a lot of frameworks, but I’d say my sympathies are with Laravel and Slim.

» A unit test framework you recommend using?

Definitely PHPUnit.

It was around in OOP style before I knew PHP can be written in OOP style 😉 Plus, Sebastian Bergmann ( @s_bergmann) is a great person and very dedicated professional.

» A CMS that you think is worthwhile

It’s been a while since I’ve done anything major with a CMS, but obviously WordPress is still around. A lot of tasks are easiest and fastest to accomplish with it, like it or not, mostly due to its community.

» An E-Commerce cms you recommend

Cannot really express a personal opinion on this one, but I’d say I’ve heard some good feedback from people using Magento.

» Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

Abstracting your DB operations is definitely a good thing in most of the cases, and any modern ORM would do, be it Doctrine, Eloquent or something else.

» One PHP library/Project you really appreciate

To paraphrase Isaac Newton, I’d say that we stand on the shoulders of giants every day while we do our day-to-day work.

It’s very hard to list all the wonderful tools that make my life easier. But, then, just to start with: phpunit, composer, xdebug, phpcs, phing, codeception, so many others…

» One function that you like (or which you tend to use frequently)

isset(); // That’s why I like the null coalescing operator (??) in PHP7 so much!

» One PHP person that you admire and what strikes you about him/her

This is a very hard question, because I admire a lot of people in the PHP community.

If I can bend this question just a little bit and name two of them, I’d go with Sebastian Bergmann ( @s_bergmann) and Derick Rethans ( @derickr).

They both share two qualities that I admire a lot:

  • real passion about what they do
  • and shyness about the impact that their creations have upon our world.

TWO TWO #PHP persons that Mihail admires are: Sebastian Bergmann & Derick Rethans!

— Mihail Irintchev

Tweet this!

» What is the one thing or quote or advice that someone said, which made an impact on you – and who was that someone.

Mihail Irintchev
Mihail Irintchev

That would be my late father – Dimitar Irintchev. He always told me: “Winning is easy, it’s hard to learn how to loose!”

Taking defeat with dignity and most importantly, extracting the best lessons out of it is what makes you progress in life.

— Mihail Irintchev

Tweet this!

» Which was the worst programming mistake you did?

I’ve done thousands, and I’m proud of each single one of them. I love them all! The worst usually involve money 😉

» Things that you’ve learned from being part of The PHP Community

There is always someone out there willing to help you. You just have to reach out!

» If you could change one thing with PHP, that would be…?

The definition of the acronym. This current recursive definition is giving me the feeling that my memory is about to run out soon 🙂

» How do you foresee the next 4yrs for the PHP ecosystem

Dynamic as ever, and as productive as ever 🙂

» Do you believe a PHP dev is better or less paid than any other dev? Why do you think it’s rising or declining?

I’d say a good dev is well paid, regardless of the programming language.

» Do you believe it’s still not too late for someone to make a career as a PHP Dev?

It’s never too late, as long as they are breathing and still have pulse 🙂

» How do you time manage all the stuffs that you do, coupled with your personal life?

It’s not easy, but I hope I’m doing well.

» The day you realised “You’ve made it to the Advanced and/or the Expert level” with the way you code PHP ?

This day has not come for me yet. I hope it never does, because this would be the first day of the end of my career as a developer.

» Why do you think you are successful and what others could learn from you to lead either a better life or a successful PHP career?

I believe I am relatively successful in having a balanced life between my career and personal life.

Never forget there are much more important things than work in life (like family and loved ones). Also, use every opportunity to travel! This enriches your life greatly.

» Do you do freelancing or consultancy?

Rarely, usually just to help friends.

» Is there any pet project that you are working on (or is live) and would like to share a bit with us?

Several. Two of them might be worth mentioning:

  1. I’m working on a WordPress plugin about beer blogging: https://github.com/madasha/beerlog (it’s been a while) and
  2. A script for drawing random attendees for raffles on PHP UG meetings and conferences: https://github.com/madasha/PhpRaffle

Both are work in progress and completion date cannot be estimated 🙂

» Your hobbies when you are not coding

Well, I’ve got too many of them: Brewing, motorcycles, cooking, photography, collecting military scale models (1:72 usually), reading books (mostly history), PC gaming, playing the guitar.

» Aside from the wider global one PHP Community, is there any specific user group(s) community that strikes you and would want to give a shoutout to?

The open-source community in general. The people who believe that through giving they would receive more.

» Are you part of any PHP User group? 😀

I love being part of Bulgaria PHP, it’s something that I cherish a lot.

NOTE: Mihail is organizer of @bgphp & also @bgphpconf

» A PHP Usergroup that you appreciate and would highly recommend

I admire a lot of PHP UGs that I’ve had the pleasure of being in contact with. Out of my home usergroup, I’ve had most interaction with people from PHP Serbia ( @PHPSrbija), which is an amazing community. Good job, guys! Special acknowledgements to Milan, Dusan, Aco.

» The best conference you attended would be..

It’s a long list… I’ve had the pleasure of attending many wonderful conferences (I’m truly blessed!). It’s very hard to choose one, so I hope you accept my extended answer including three of the best: SunshinePHP, PHPSerbia, PHPBenelux

» Can you please share the good, and may be not so good moments, of being part of all the conferences you attended

It’s always exciting to meet new people and learn new things. Right after a conference I feel fueled up with ideas and usually get at least some of them done.

» What are the main aspects of conferences that can really help a PHP guy to get better in his progression

Mostly meeting and talking with fellow developers. Never miss the hallway session, as Cal Evans calls it.

» If you have to suggest or improve one thing with conferences, it would be..?

Try to keep the party at the same venue right after the sessions end. This way you don’t loose the momentum.

The Rapid Fire Section

This is a new idea that I’m bringing forward and Mihail is the first to taste it 🙂 I hope you find it fun to read along the quick responses. (As rapid fire as the names suggest, should be quick)

» Symfony or Zendframework

None

» PSR-2 or your own coding style?

PSR-2

» Use a framework or build yours from scratch (reusing components)?

Depends

» Zend Studio or PHPstorm?

None

» To attend a conference: Europe or US?

Both

» Mac or PC (either linux or windows)?

PC

» Tea or Coffee

Beer 🙂

» PHP 7 or PHP 5.x (if you forget about the performance for a minute)

PHP 7

» Early Riser or Late Sleeper

Early Riser

» Coding or Managing people

Coding

» Podcast or video recording – which you like better?

Podcast

» Photography or Paintings (art)

Photography

Closing Out

That’s it folks. Hope you’ve enjoyed reading through, learned some new stuffs, got some inspiration and above all met a another motivational #phpc member that is doing all he can on his side of the world, from beautiful Bulgaria, to help sustain and make The PHP Community better and brighter.

Till then, help me spread the word about this interview. Share it with your network – I have some handy social buttons right below – USE THEM PLEASE 🙂

I’M THANKFUL TO ALL YOU DO TO HELP SPREAD THE WORD & SUPPORT 7PHP!

CREDITS

  • The main featured pic on top of page credit to BG PHP Conf photography
  • Pictures that had only Mihail in it (without me 7PHP), are the copyright of Mihail pictures.

Your Comments + Feedback + Contribution

Please checkout BRANCH posts AND send your PRs for this content on GIT here: https://github.com/7php/7php-website/blob/posts/_posts/2017/2017-07-16-mihail.md

What Tools Does The PHPrince Of Persia Use In His Daily Adventures?!

What Tools Does The PHPrince Of Persia Use In His Daily Adventures?!

Purpose Of This Interview | The 3rd One

This is the 3rd edition in a series of “It’s The Tools Talking”. Something which I kickstarted right on the 1st of Jan to start off the year 2016. I am continuing with it, breaking my 1yr Hiatus as I announced last week.

For this episode #3, I’m honored and much delighted to host tonight The PHPrince of Persia a.k.a Michael Bodnarchuk (also known as @Davert online). I have had the priviledge to meet Davert in person and enjoying the bgphp trip in the special PHP Bus during our stay with The Amazing @bgphpconf 2016 in Sofia. I must say Davert is an incredible human being, full of creativity, very friendly, always willing to help and above all very very very passionate about what he does, specially testing with @codeception – a php testing tool which he created and gaining so much traction during the recent years.

I will not say more about this (PHP)Prince of Persia, as I will be introducing him again in another #7PHP PHP Interview soon enough. So let’s dive straight into what tools he tames for his daily coding adventures.

And Now The Interview | It’s The Tools Talking With Davert

» Hi Michael, Please tell us a bit about yourself and your involvement with The PHP Community

My name is Mykhailo Bodnarchuk (that’s how the Michael is spelled in Ukraine) or just Davert.

I’m working on Codeception testing framework, which is a framework that simplifies testing of complex applications.

I started Codeception in 2011 because I wanted to write tests effectively without spending time on configuring, and writing bolierplate code for my tests. PHPUnit was the most popular tool. But it was not efficient for something bigger than a unit: there was no effective way to write a single test for an application with controllers, database, and all the inner pieces. However, such tests seem to be the most efficient, because one test can indicate the visibility of the application.

Also, I wanted my tests to be readable so my CTO could read them, so I asked him for a week to work on a testing framework on my own. After I built the prototype I started to think how to scale this solution for browser tests, framework tests, to make it usable for others. That’s how I started to work on Codeception. I hope PHP developers enjoy using it, lots of good developers help to develop it and make it better. I must say I’m so thankful for our core team, without them, I’d probably lost in all the issues and pull requests 🙂

I really like building stuff and PHP helps me with that. Unfortunately, I’m not so lucky to sell my products, so I do it for free 🙂

» How does your workstation look like

The workstation of Davert
The workstation of Davert

Right now I’m using Lenovo S440 as my primary notebook. And this big one laptop for music, TV series and Unreal Tournament. You know, I discovered that playing 20 minutes in UT before working makes me more productive. Fast deathmatch makes me concentrated, focused, and I can work better without procrastinating.

Also, I need to say I prefer portable workstation so I can work from any place. Sometimes I move from my room to kitchen to get faster connection to the teapot 🙂

» The OS that you have used & which one you prefer to work with

I worked with Windows but now completely switched to Ubuntu. Making PHP, Ruby, MySQL, and other stuff work on Windows make you so god damn cool hacker that MacOS and Linux users can’t even imagine. However, being a Windows hacker is not so profitably nor cool. In this case, Ubuntu is much better (esp for last 5 years) for development. Linux is cool because you develop in the same environment as your server will be. No need to learn about virtualization or “brew” magic. Everything you need can be installed by apt-get, what can’t be done with apt-get is easily retrieved with docker pull. And yes, having native Docker containers is a killer feature of Linux.

Also, I really like the UI of Ubuntu, the software is also pretty good. Everything I’d probably need for development is already there. I think with the rise of Electron apps we will get more and more cross-platform apps targeting Linux platform as well. For example, I’m really happy with Nylas Mail app. I use Vivaldi browser which I recommend to everyone, it is constantly improving and highly customizable because it is a browser built inside a browser.

» What VM software you use or have used.

VM is a pain. I used Vagrant but I hate it. For most setups, I can get it running on Linux natively. If not – in Docker container.

Right now I’m using Android Emulators to test the mobile testing of my side-project CodeceptJS.

» Your database management tool

Emma (simple stuff on Ubuntu)

» Your Testing Tool (Unit testing & functional testing)

Codeception 🙂

But I work not only with PHP so I’d extend this to: Mocha in JavaScript and Minitest in Ruby.

» Your Debugger / Debugging Tools arsenal

var_dump, console.log, puts, WTF, screaming, hitting walls, voodoo dolls with a curse to all software developers, and If nothing of those helps I configure PhpStorm debugger.

» Your deployment tools

Capistrano (for Rails), Ansistrano (with Ansible) and Robo for my opensource projects.

» Version Control Systems you use & which you tend to prefer

S… V.. GIT! Does it sound unexpectedly?

» Frameworks that you use & which you tend to prefer the most

Rails (that sounded unexpectedly, right?). I prefer Rails because it has stable ecosystem and API, its concepts didn’t change dramatically since Rails 3 released 7 years ago. Most of the solutions for common problems are already solved and packed into gems. Big opensource projects like GitLab or Discourse provide a solid knowledge base of current good practices. For startups, SaaS application I’d definitely choose Rails.

For a current project (in which I work with a team of PHP developers) we’ve chosen Laravel Spark. I need to say Laravel is highly inspired by Rails, so it’s pretty easy to get in with it. We also had experience working with Symfony but no one knew how to start fast with Symfony. Yes, Laravel is much better for startups.

I had to learn a bit of Symfony, Zend, Yii, Phalcon and other frameworks because Codeception supports them all. They are all pretty good, but they are just translating HTTP requests into the business code. So I prefer framework-agnostic business code. That’s what makes PHP different from Ruby. PHP by itself, its frameworks, tools are constantly changing so it is better not to rely on current framework realization.

» IDEs that you have used or Your “Programmer’s IDE” of choice

PhpStorm (for PHP), SublimeText (for Ruby), Visual Studio Code (for JavaScript). Yes, I prefer to have an editor per language.

» Your Documentation Tool?

I use GenerateMarkdown task from Robo. It translates all docblocks into markdown files. This is used by Codeception, AspectMock, and Robo project itself.

» PHP Code Beautifier?

I don’t really bother about it. I just run robo code:fix from time to time.

» In-Browser Tools (Firefox or Chrome add-ons)

I use Voblet to save interesting GitHub projects. I started to use Grammarly to quick-fix my writing.

» Web Hosting service you have used and which one you recommend/prefer

@DigitalOcean is the best.

» Do you use any software you use for the following:

»> time management
»> todo list management
»> managing your calender & events

I’m so irrational person so nothing helps me to manage time and tasks. I keep everything that is important in my head, as well as important events. However, I work only on things I feel passionate about. Whenever I try to start using ToDos I’m putting into it the most boring tasks, and as a result, I never open that todo app again. I can’t plan my time as well because my life is not my work: I like spending time with friends, I like hiking, and If someone calls me to some strange adventure, I’d probably drop everything and go for it. Luckily I always return because I like PHP and its community.

» Your tools for communicating / handling communication?

Skype is my primary tool for business communication, for some projects I use Slack. But to be honest I don’t like Slack as it is pretty hard to keep up with lots of chat windows. I’d really like to participate more in community chats (like in those on Gitter or in IRC), but I always feel like they drain my time and energy.

» Two community tools that stood out for you & why.

I really like the WebDriver implementation by Facebook. Once Facebook published it I was so happy to discover its API. It was so nice and fully compatible with Java clients. Finally, PHP becomes a first-class player for writing browser tests with it. I really hope more and more people would discover that PHP is not just about WordPress or web sites. PHP can be used for acceptance testing, for scripting, for deploying… You name it!

And I cannot not mention Composer. That’s impressive and well-made solution. Thanks to Jordi and Nils for making it. Thanks for making it stable and cheap, without vendor locking. I really hope they will turn their Private Packagist into a profitable business, as they truly deserve this.

» The tool that has given you the worse experience

VIM 🙂 I could manage to quit it but I couldn’t live with it 🙂

» The tool that has given you the best experience or been your life-savior / has impacted your DEV life.

PhpStorm (thanks, JetBrains), Visual Studio Code, Docker, Ansible, Capistrano. So much of those!

» Any other tools you use that you want to share with us?

I’d really like to recommend Robo task runner. It can easily replace bash scripts, deploy scenarios and some basic asset management. Robo helps me to run all my projects. Look how this code is better than common bash-scripts! Yes, this is true PHP!

public function publishFrontend()
{
  $this->taskExec('ember build')
    ->dir('frontend')
    ->printed(false)
    ->run();

  $this->_copy('frontend/dist/assets/frontend.js', 'backend/app/assets/javascripts/frontend.js');
  $this->_copy('frontend/dist/assets/vendor.js', 'backend/app/assets/javascripts/vendor.js');

  $this->taskGitStack()
    ->add('backend/app/assets/javascripts')
    ->commit('updated frontend scripts')
    ->push()
    ->run();      
}

Your Questions On Twitter

That’s it folks. Hope you’ve learned some new stuffs today. If you have any question, direct them on Twitter by mentioning @7php & @davert

Credits

  • Main featured pic credit goes to @bgphpconf
  • All other pics in this posts are from Michael aka @davert
What Secret Tools Does The Grumpy Programmer ‘Chris Hartjes’ Harness, To Be So grumpy?! It’s The Tools Talking! Aye!

What Secret Tools Does The Grumpy Programmer ‘Chris Hartjes’ Harness, To Be So grumpy?! It’s The Tools Talking! Aye!

A Small Intro..

It’s The Tools Talking!“ Aye! We are back after the first awesome one back on the 1st Jan 2016 to kick-off the New Year with Michelangelo van Dam in a rocking way!

In this #2nd edition, I’m overwhelmed but also quite ‘on my guard‘ as I talk with The Grumpy PHP Programmer  aka Chris Hartjes – the #unitTesting rockstar of our beloved PHP Community. If you don’t know Chris, I’ll tell you in one line: “He’s The Eric Cantona of Manchester United” (full stop). Never heard of Cantona as well? Tough luck you’ve been too much focused on Go Pokémon GO (huh?), have a read about The Rockstar Unit Testing Evangelist Chris in this interview which I did with him back on the 19th Jan 2012 – yup that long time ago, but equally evergreen in everything! 😉

Chris Hartjes at #phpcruise (18th July 2016) talking about Time Management (Pic credit to Kevin Bruce)
Chris Hartjes at #phpcruise (18th July 2016) talking about Time Management (Pic credit to Kevin Bruce)

 

FYI, the pic above is at the time of this writing caught LIVE as #phpcruise (an awesome PHP conference running on a real cruise leaving Bahamas out of Baltimore – read more on their website). So the pic credit goes without saying to my awesome #phpc friend Kevin Bruce for this “Kodak Moment“.

 

Rumour has it..

7PHP been lurking around phpcruise to steal Mr Grumpy for a while… and how we did that? HINT: See the tweet below.. (ssshhh don’t tell anyone)

 

Let’s Do This! It’s The Tools Talking With Chris Hartjes!

>> Please tell us a bit about yourself & your involvement with The PHP Community

I’ve been using PHP since 1998 and spent a good chunk of the last 5 years promoting the use of automated tests for PHP code. I’ve written books about how to write testable code and how to use PHPUnit. I am currently working on another book about what I feel is the minimum you need to learn to write tests. It’s due out some time in the spring of 2016. I help run a PHP-centric developer conference called TrueNorthPHP and co-host a podcast about programming and all sorts of other weird things called /dev/hell

I currently work for Mozilla as a Senior QA Engineer on their Cloud Services team, working with Python and JS to test various web-accessible services.

I can be found doing performance art on Twitter as @grmpyprogrammer

Chris Hartjes - The Grumpy Programmer
Chris Hartjes – The Grumpy Programmer

>> How does your workstation look like?

I use a Mid 2012 Mac Book Air with 8 GB of RAM and a 256GB SSD. Normally it’s run with the lid closed and plugged into an external monitor. I use an Apple bluetooth keyboard and a Magic Trackpad.

Right now I am using a Samsung SyncMaster B2330 monitor but I think it’s time to upgrade to something nicer.

>> The OS you use

OS-X (currently running El Capitan 10.11.2)

>> What VM software you use

Vagrant and Docker

>> Your database management tool

I tend to use command-line tools for database management.

>> Your Testing Tool (Unit testing & functional testing)

In PHP I use PHPUnit for pretty much all my testing. I’ve also used Behat in the past. I like using Mockery instead of PHPUnit’s built-in tools to create test doubles.

In Python I like using PyUnit and running it with py.test. I haven’t delved too deeply into test doubles in Python yet but I suspect py.test will help me out there too

In JavaScript I haven’t done any testing recently but I have used QUnit and Sinon for my test double needs

>> Your Debugger / Debugging Tools

After all these years I still don’t use them. If I was an IDE user I think I’d rely on them a lot more but setting up step-through debugging in my editor-of-choice is still not easy.

>> Version Control System you use

Currently use Git but have used CVS, Subversion and Mercurial in the past.

>> Framework you use

Not really a framework-specific programmer. I’ve built stuff using Cake, Zend Framework 1, Zend Framework 2, Symfony, and Silex. This year my plan is to try out Slim 3 and implement some of the ideas I see in Trailblazer, an alternate architecture for Rails.

>> Your IDE or Your “Programmer’s Editors” of choice

Long-long-long time Vim user who currently dabbles in Atom

>> Your Documentation Tool?

PHPDoc when I use PHP, inline comments for other languages.

>> PHP Code Beautifier

I do use PHPCBF and other PHP Codesniffer tools to keep my PHP code looking nice and tight to PSR-2 standards.

For Python they have a standard called PEP8 and have tools that can automatically fix up your code to meet it.

>> In-Browser Tools (Firefox or Chrome add-ons)

LastPass and Privacy Badger are the two I use in both browsers (of course I use Firefox most of the time now).

For many years I have used the built-in developer tools for both those browsers when doing JavaScript work.

>> Web Hosting space you use

Linode VPS

>> What software you use for the following:
– time management
– todo list management
– your calender & events

I use Apple Calendar for all this stuff. Since I use an iPhone + iPad + MacBook Air it’s the only way to keep my own schedule sane. I am going to be giving a talk about all my time management stuff this year at PHPCruise and hope to give it in some other places.

I don’t think I could’ve built the career I currently have without learning time management skills.

>> Two community tools that stood out for you & why.

Composer literally changed how PHP developers build applications. No other tool has had a bigger impact. Donate money to Jordi so he can continue to make Composer and it’s ecosystem awesome and useful. I donated $100 and challenge the readers to match it.

Twitter is probably not thought of as a “PHP community tool” but I think it’s one of the best ways to find other developers who are sharing what they are doing and are willing to talk about it.

Over To You!

Impressed? Not at all? Or may be you are wanting to be next on my list for this series? I hear you, get in touch! 🙂
If you have any question, shoot them in the comment form below, we would love to hear from you! At the least, you’ll have a grumpy reply – NO, not from me but from Chris!

PHPeace!
– 7PHP –
PS: LIVE Your PASSION Like There’s NO Tomorrow, without caring what PEOPLE say – Just Keep At It!

Let’s #phpGreen – With 7PHP At National Park Mauritius

Let’s #phpGreen – With 7PHP At National Park Mauritius

What Is This All About..

This early morning, while going for a walk at National Park (Mauritius) to relax and regenerating myself, I constantly have a thinking mind. And this time, I was “with” nature and also thinking about php/#PHPc (as always) – and thus came the idea for #phpGreen. To know more, watch the small video below.

Do this as often, so that we can mention every #PHP folks out there, one video at a time 🙂

Hopefully, this will also encourage you to have a walk more often inside nature’s amazing environment – being surrounded by only fauna and flora is totally relaxing.

What’s Next?

If you are game in, please post your video (post) on twitter with hashtag #phpGreen.

Optionally you can also:

  1. link back to the first edition which is this one – http://7php.com/phpgreen-7php-nationalpark/
  2. List of all #phpGreen done by others

 

Let’s do this! 🙂

 

Some Pics From National Park

national park - wasseem

thumb_IMG_5052_1024

thumb_IMG_4944_1024

thumb_IMG_4942_1024

thumb_IMG_5053_1024

thumb_IMG_5054_1024

thumb_IMG_5060_1024

thumb_IMG_5061_1024

thumb_IMG_5073_1024

thumb_IMG_5074_1024

Happy New Year 2016 Message From Phil Sturgeon To The PHP Community

Happy New Year 2016 Message From Phil Sturgeon To The PHP Community

A Small Intro..

A little more than over 2 years ago (in June 2013), I did my 34th 7PHP interview with a young dynamic (can very much say as explosive as a dynamite as well – explosive in the good sense) named as Phil Sturgeon. I still remember at that time while I hit the “publish” button and tweeted above that interview, I unconsciously wrote Phil Surgeon instead of Sturgeon. We had a good twitter moment. Time flies and in Feb 2015, I was even able to meet Phil in person at SunshinePHP Conference in Miami.

7PHP and Phil Sturgeon At SunhinePHP 2015 in Miami
7PHP and Phil Sturgeon At SunhinePHP 2015 in Miami

I want to say 2 things here:
1) The PHP Community is amazing – your first interaction that you have is like a magnet to staying close to the “magical” PHPers – they are ALL unique and more than just awesome – brilliant, supercool and above all – human beings in themselves.

2) Phil is one of those PHPers who started his PHP & Community journey at a very tender age and he is still young as compared to most of the others. While at his young age, it could have been very tempting for him (just like most young people) to spend his time partying (with no purpose) and forgetting about the World. But instead, Phil decided to Party like a Rockstar by being deeply involved with PHP & The Community. No wonder he is one of the most respected Community guy and to meet him in person was an honor for me. Dear Phil, you are simply amazing – keep being The Cool Phil ever! Wish you lots of awesome things for 2016!

Let’s Hear The New Year Message From Phil Sturgeon

>> Who Is Phil?

Phil Sturgeon
Phil Sturgeon

Like I mentioned, I previously (in 2013) did a long interview with him, so have a look here if you want to refresh your mind.

>> Hi Phil, How Has 2015 Been For You?

2015 has been a remarkable year. In 2014 I had a garbage fire combination of a visa, job and tax troubles that lead to all sorts of other problems, but in 2015 those problems were all resolved one by one.

Actually, the PHP community helped me out a lot during this time. A few donations, a few people buying my book just to give me beer money when I needed it, etc. People were so kind to me I didn’t know how to deal with it, and it feels incredibly good to be back on my feet now.

>> How Was 2015 For The PHP Community From Your Perspective?

This year has been absolutely brilliant for PHP. As a language, PHP 7 is definitively better beyond all measurement:

  • It’s 50%-100% faster thanks to PHPNG.
  • It’s more consistent thanks to the lexer, abstract syntax tree and uniform syntax changes.
  • It’s more robust now that we can catch errors for things that used to just die as fatal errors.
  • It’s less verbose now that `$foo ?? false` replaces `isset($foo) ? $foo : false`.

And that’s not even mentioning the cracking new functionality of scalar type hints and return type hints. I’ve been using those a bunch in other languages and they are an absolute lifesaver if you ever try programming tired.

PHP 7.0 is a big deal for PHP, and I cannot wait to see what comes in the rest of the 7.x branch.

Now, if only the standard library could be straightened out we’ll all be over the moon. 😀

>> One Thing That Stood Out For You In 2015?

I’ve noticed people are getting increasingly fed up with the PHP-FIG. This is unfortunate, as they’ve mostly been doing an absolutely wonderful job. There is tension between some people who think they are “over-reaching and forcing standards down people’s throats” at one end, then the other end of the spectrum is a bunch of folks complaining “they are just building stuff for them and they need to become a real standards group to make standards for everyone“.

Those goals and complains are mutually exclusive, so the FIG is going to get a bunch of stick whatever they do. I hope however they proceed, they keep leading to positive ripple effects throughout the community as all of their previous efforts have.

>> How Do Your Foresee Things For PHPc in 2016?

2016 is going to be the first time where folks upgrade to a major version of PHP, or any programming language quickly. PHP 4 -> 5 was a mess, PHP 5.2 -> 5.3 took forever, but minor updates since then have started to speed up. Hosts are getting used to upgrading quickly and luckily we’ve seen a lot of hosting companies run with PHP 7.0 through the betas and RC versions.

A lot of influential people have been suggesting that hosts wouldn’t even support PHP 7.0 until a long time from now, but PHPVersions.info received the first final update the day PHP 7.0 was tagged in Git.

I think this comes down to a lot of factors:

  1. PHPs respect for backwards compatibility
  2. A genuinely interesting set of features
  3. Being incredibly fast

>> Your New Year 2016 Message To The PHP Community?

Keep striving for greatness. There’s a lot of junk code out there, junk advice and junk attitudes being thrown towards PHP developers, but the progress this community and language has made in the last few years is incredibly impressive. It’s hockey spiking, and we just have to keep making cool new packages, embracing testing, exiling poisonous people and helping people who are having a rough time.

>> One of your New Year Resolution?

My New Year’s Resolution is to get back to helping people. Ten years ago I started helping people on the CodeIgniter support forums, and 6 years ago I started answering questions on StackOverflow. Helping people is what got me my reputation as somebody who knows stuff about things, and at some point over the last two years that trailed off.

Instead of answering questions on StackOverflow, I was arguing on Reddit.

Instead of writing FIG bylaws, I was arguing with people on the FIG mailing list.

I’ve decided to get back to helping people, and I’ve opened up a Slack Channel on APIs You Won’t Hate.

Sure there’s a book on there, and that’ll probably get me some sales, but really I want to turn this website into a community, and a series of resources, with the book just being one of those resources.

You asked for one, but to sneakily mention a second; I’m also gonna get back to doing PHP Town Hall episodes more often, and improve the quality of them substantially. 🙂

What Tools Does PHP Superstar Michelangelo Use In His Daily PHP Routine!

What Tools Does PHP Superstar Michelangelo Use In His Daily PHP Routine!

A Small Intro..

Hey! First of all I would like to wish you all an amazing 2016 full of every good thing coming your way! And thank you so much for being and sticking with 7PHP, I’m really thankful to all of you.

Kickstarting this very first day of  this fresh New Year 2016, 7PHP is delighted to bring to your PHP home a new interview series, named “It’s The Tools Talking!“. And for this episode #1, I’m honored to host our 7PHP Superstar Mr Michelangelo van Dam!

I hope you’ll enjoy reading about – what the PHP rockstars are using as their ‘personal secret sauce‘ in crafting their masterpieces – as much as  I am while reading all about them.

Before we proceed further, just a little piece of info. This new series’ concept is inspired by, our Icon Of The PHP Community, Mr Cal Evans’ podcast & and one of his blog post:

  1. It’s the booze talking podcast – hence my title.
  2. his blog post on 5 Tools Every PHP Developer Should Master – hence the birth of an inspiration for the content of my title.

So dear Cal, while you were offline enjoying your well deserved boat cruise for this end-of-year festivities, I got inspired by your “online” activities – so just to say that I cannot “say-enough about” how cool you are even when you are not around!

 

PS: Please if you like what I do here on 7PHP, spread the word and help me get more followers either on Twitter, Facebook or Google+.

PPS: Share this article on your social network – there are handy social buttons before and after this post to help you with this.

– I’m thankful to you!

 

Ok dear #phpc folks and aspiring #PHP rockstars, let’s do this! Let’s Rock it!

 

What Are The Tools That Michelangelo van Dam (aka DragonBE) Use!

 

>> Who Is Michelangelo van Dam

Michelangelo van Dam The PHP Ninja Turtle & PHP Community Evangelist
Michelangelo van Dam The PHP Ninja Turtle & PHP Community Evangelist

DragonBE has been featured countless times on 7PHP. To know more about him, have a look here at this link dedicated to him.

 

>> Hi Michelangelo, before we actually discover your toolset and secret weapons, How Much Of Importance Do You Think Tools Can Play In The Life Of A Developer.

As a developer your work is to ensure that you can do your job to the best of your ability. The right tool for the job is a requirement to make sure that you don’t waste time while writing beautiful applications.

 

>> How Does Your Workstation Look Like

I always work on my 13″ MacBook Air because it gives me enough power to do my job without too many distractions. My iPad serves as communication dashboard to see what’s happening in the rooms.

The Workstation Of Michelangelo van Dam
The Workstation Of Michelangelo van Dam

I have always PHPStorm, Phabricator, Itunes and Outlook open on my MacBook Air and Slack on my iPad. Of course, my coffee mug (thanks Gary!!!) stands firmly besides my laptop.

Instead of a real standing desk, I’ve claimed a “party table” as my working space. Besides having me standing up while coding, it also serves as an ideal meeting spot as you can now have multiple people standing around your desk. And for some bizarre reason the height of this table is perfect for me to stand on.

DragonBE's Standing Desk & Party Table
DragonBE’s Standing Desk & Party Table

In order to understand what I’m doing, I like to talk with my elephpant and explain him the steps like a chef-cook does on TV. Rubber Ducking as people call it, but for me I call it “Fluffy elePHPanting“. Most of the time it helps me solve a bug or find a logical error I made. I can truly recommend it to everyone.

Michelangelo's Fluffy elePHPanting
Michelangelo’s Fluffy elePHPanting

 

>> The OS That You Use

My workstation is a MacBook Air running OS X and has the latest, greatest PHP running on it just in case I need it (I recently blogged about it). But I also run several virtual machines like Windows XP, Windows 7, Ubuntu, Debian, OpenSuSE and CentOS as these are the common server configurations my customers use for running PHP applications.

The reason I had chosen Apple for my devices is because their backup and recovering system just works! I had already gone through a couple of hard-disk crashes or other issues, after replacing the broken part the recovery system kicked in and after a short while the system was restored as though nothing happened. This is in the consulting service industry a “must-have” feature I wasn’t able to find with other platforms.

 

>> What VM software you use

Virtualization comes in many flavors and I use whatever my customers are using. VMWare is still the most common virtualization software I come across, followed by VirtualBox for those development teams that work with Vagrant. Occasionally I bump into Xen Virtualization and recently Docker. I guess the image below says it all: I love automation!

DragonBE's VM toolset
DragonBE’s VM toolset

 

>> Your Database Management Tool

For the majority of the time I use the CLI clients as they are fast, gives me a whole bunch of features right out the box and can run even on remote systems in a terminal.

I also use phpMyAdmin and MySQL WorkBench for MySQL databases, MongoHub for mongo storages, Microsoft SQLServer Client for MS SQL Server and the Oracle Client software.

But more and more I’m using the build-in database client of PHPStorm as it supports a wide variety of vendors and is easy because I don’t have to leave my development environment to run queries.

That said, I use the DB clients only for trying out complex queries or checking some structures. The provisioning of the databases I leave to DBDeploy (Yeay, automation FTW!!!) as it allows me to version my data migrations easily and repeatedly. I have posted a nice article about DBDeploy as well on our company website.

 

>> Your Testing Tool (Unit Testing & Functional Testing)

I guess the whole world knows by now I am a huge fan of PHPUnit (with kudos to Sebastian Bergmann). PHPUnit will be my first stop writing tests before writing code. Yes, I’m an old fart still believing in TDD but for me it gets the job done.

For acceptance testing I rely on Selenium as it allows me to use PHPUnit to trigger Selenium tests in a variety of web browsers on different platforms, approaching the application as a real user would.

For stress testing I look at Apache Benchmark, Siege and JMeter.

For penetration testing I use a variety of tools, but I think OWASP ZAP will be the most known penetration test suite.

 

>> Your Debugger / Debugging Tools

Nice, a trick question! I use PHPUnit for debugging most of the time, and XDebug for step-by-step debugging. We also hook up our PHP error handler onto Sentry so it gives us an overview of bugs that occured on our systems as it aggregates and referentiates our errors.

 

>> An ERD Tool

Any UML design tool will do, I use Omnigraffle or MySQL Workbench most of the time for that.

 

>> Version Control System You Use

Mainly Subversion and GIT, but sometimes I end up with a customer using Mercurial, Team Foundation or Bazaar.

DragonBE's Version Control System Toolset
DragonBE’s Version Control System Toolset

 

>> The Framework(s) You Use

Zend Framework, Apigility, Slim, Silex and Laravel. Of all frameworks, I still love Zend Framework the most. I don’t know why, but for some reason it’s behaviour makes more sense to me than any of the other frameworks.

Leaving out the debate if the following are considered frameworks, I have gotten closely involved with WordPress, Magento, PrestaShop and Typo3. Working with these “frameworks” is a bit awkward, but once you understand the logic behind it, the whole thing makes sense.

I cannot deny that PHP itself is a very powerful technology and in start-up face of a project it’s more than enough to work with to get a first proof of concept. The nice thing is, that you can easily move native PHP towards any of the above mentioned frameworks as long you apply the SOLID principles and adhere to KISS.

 

>> Your IDE or Your “Programmer’s Editors” of choice

Well, I already mentioned PHPStorm. That’s something I use 95% of my time developing PHP. The rest of my time I spend using XCode, Zend Studio, Netbeans or Visual Studio.

I’m also using “vi” on the command line for editing work, but I’m not using it as an IDE like the “Supreme Allied Commander“, mister Matthew Weier O’Phinney does.

 

>> Your Documentation Tool?

Code documentation are first and foremost the unit tests, but we also provide code documentation using PHPDocumentor.

User documentation I used to write in O’Reilly’s DocBook format, but nowadays it’s all Markdown. I use the build-in editor in PHPStorm or I use Mou. It’s so much easier then in DocBook XML format.

 

>> PHP Code “Beautifier

Huh, wait… what? I use PHP_CodeSniffer in my pre-commit hook so I cannot commit if my code doesn’t adhere to the coding standards.

If I need compact PHP code, I simply use $ php -w to minimize my PHP files before deployment.

 

>> In-Browser Tools (Firefox or Chrome add-ons)

Haha, this is the point where I will make myself very unpopular with the majority of developers.

In development I use Lynx as my main browser. It’s only text based, no JavaScript or CSS is supported and is super fast for validating web applications. With Lynx I see what search index spiders see, but also what screen readers capture for the visual impaired users of the web application.

In my other browsers I use NoScript (of course), AdBlocker (to test our client’s advertisement strategies), Proxy Switcher (for geo-targeted web applications), Postman REST client, YSlow, LiveHeaders, Selenium IDE, FireBug and the XDebug plugin.

 

>> Web Hosting space you use

My personal stuff ends up on Microsoft Azure as this is the easiest way to run your PHP apps, period. I have a dedicated hosting for our company websites, I use Google for hosting my personal blog, I’ve got some stuff on Heroku, Digital Ocean, Amazon and Azure and some stuff at local Belgian hosting service companies.

Our customers have the full spectrum: cloud, dedicated hosting and on-prem.

 

>> What Software You Use For The Following:

 

>>> Time Management

FreshBooks

>>> TODO List Management

Things, Phabricator, MantisBT

>>> Your Calender & Events

Google Calendar

 

>> Any Other Tools You Use That You Want To Share With Us?

One of the most important tools you missed out on: communication!

We use Slack all over the place, but Skype is still running strong on 2nd place. GotoMeeting and IRC are also heavily used with our customers. Lync and HipChat are less used communication tools. Google Hangouts/Chat, WhatsApp and Facebook chat are almost never used in professional environments.

I do see an uptake in the more “secure” forms of communication. Tools like OpenPGP, CryptoCat, Chat Secure and Signal are becoming more popular since recently. I do think that we will see a lot more encrypted communication tools coming in 2016.

 

>> Michelangelo ALL That Were Awesome! Before We Wrap Up, What Are The Two COMMUNITY Tools That Stood Out For You & Why.

 

  1. The Netflix Chaos Monkey or Simbian Army: Netflix, famous for its streaming film offering, serves a global audience with a very high uptime demand. In order to stress-test their infrastructure, Netflix has created the Simbian Army to perform resilience tests on their live systems and services. This is in my opinion the only valid way to put your infrastructure under pressure by having key elements being ripped out, shut down or closed off to see if the remaining parts are capable of handling the enormous usage of your systems.
  2. Composer: I think that this is not a surprise. Composer has shaken the PHP world and has given developers the ability to build SOLID micro tools that can be combined with others and create a powerful system.

 

Over To You!

That’s it folks! Hope you like and enjoy what you’ve read. And that you now have more awareness of new tools and where & how people “out there” are using and benefiting from them.


Do you use any of these tools?

Do you use something different?

Either Way, Leave a Comment Below! Cheers!


PS: Don’t forget to Ask Michelangelo ANY question you may have regarding the above by also making a comment below, we’ll follow up!

Wrongly Positioning a ‘Return’ Statement Inside An Inner ‘Finally’ Block Can Be Lethal

This is a quick post on a “simple” thing which took me like like 40mins (too long) to figure out why. All the issue was revolving between how I was using Try-Catch with Finally and a return statement.

Let’s consider this block of code:

NOTE: The code indentation is not rendering great below, so I have also put a copy on a gist – click here!

[lang=php]
/**
* To demonstrate the effect of a return in a finally
*
* @author Khayrattee Wasseem <wasseem@khayrattee.com>
* @link http://7php.com (blog)
* @link http://Khayrattee.com (website)
* @copyright 2007-2015 Khayrattee.com
*/

class ClassA
{
public function hey()
{
try {
echo ‘
try from ClassA’;
throw new Exception(‘Exception from ClassA‘);
} catch (Exception $error) {
echo ‘
catch from ClassA’;
throw new Exception($error->getMessage());
} finally {
echo ‘
Finally from ClassA’;
}
}
}

class ClassB
{
public static function hello()
{
$obj = new ClassA();
try {
echo ‘
try from ClassB’;
$obj->hey();
} catch(Exception $error) {
echo ‘
catch from ClassB’;
throw new Exception($error->getMessage());
} finally {
}
return ‘
finally from ClassB’;
}
}

try {
echo ‘
try from calling file’;
ClassB::hello();
} catch (Exception $error){
echo ‘
catch from calling file with error: ‘ . $error->getMessage();
} finally {
echo ‘
finally from calling file’;
}
[/lang]

OUTPUT: (as you would have guessed is OK)

try from calling file
try from ClassB
try from ClassA
catch from ClassA
Finally from ClassA
catch from ClassB
catch from calling file with error: Exception from ClassA
finally from calling file

 

NOTE:

We did not see the message “finally from ClassB”, which is as expected.

The Expectation

In the calling block of code, we should get the exception’s message “Exception from ClassA” – which was the case above, all good!

 

But I was wrongly using the return statement..

But the thing is, I was not initially getting the message “Exception from ClassA” because of me putting the return statement inside the Finally-block. See wrong code example below:

 

[lang=php]
/**
* To demonstrate the effect of a return in a finally
*
* @author Khayrattee Wasseem <wasseem@khayrattee.com>
* @link http://7php.com (blog)
* @link http://Khayrattee.com (website)
* @copyright 2007-2015 Khayrattee.com
*/

class ClassA
{
public function hey()
{
try {
echo ‘
try from ClassA’;
throw new Exception(‘Exception from ClassA‘);
} catch (Exception $error) {
echo ‘
catch from ClassA’;
throw new Exception($error->getMessage());
} finally {
echo ‘
Finally from ClassA’;
}
}
}

class ClassB
{
public static function hello()
{
$obj = new ClassA();
try {
echo ‘
try from ClassB’;
$obj->hey();
} catch(Exception $error) {
echo ‘
catch from ClassB’;
throw new Exception($error->getMessage());
} finally {
return ‘
finally from ClassB’;
}
}
}

try {
echo ‘
try from calling file’;
ClassB::hello();
} catch (Exception $error){
echo ‘
catch from calling file with error: ‘ . $error->getMessage();
} finally {
echo ‘
finally from calling file’;
}
[/lang]

OUTPUT:

try from calling file
try from ClassB
try from ClassA
catch from ClassA
Finally from ClassA
catch from ClassB
finally from calling file

 

Conclusion:

Be careful of how I put my return statement, as when wrongly positioned it can halt execution and not behaving as you would normally expect in the outter most Try-Catch-Finally block. (this stupid mistake might have been because of me coding at 4a.m when my focus was going down as I was coding since the previous night – but it was a nice moment to learn something and refresh that mind!)

Over To You

Anything you want to share with me or other readers concerning Try-Catch-Finally – drop a comment below..

The #ZendCon Interview | The Unique 2015 Edition of ZendCon

The #ZendCon Interview | The Unique 2015 Edition of ZendCon

Aerial View Of The Las Vegas Strip At Night
Aerial View Of The Las Vegas Strip At Night

ZendCon is said to be The Global PHP Conference and every year is an amazement in itself. But this year, 2015, will be one of those “once in a blue moon” type of event with the arrival of PHP 7. So Zend Inc., The PHP Company, promises to deliver one of the most unique and exciting ZendCon till date. Most of the PHP Rockstars and leaders will be there. I’m really sad I can’t be there. But if you are nearby, you should not miss it!

This 7PHP interview focuses entirely on ZendCon. I was honored to have this interview through The Community Father, Mr Cal Evans who is one of the key person behind the event and also the amazing Adam Culp being the main organizer. I hope you enjoy it! #ZendCon folks have an AWESOME time this Oct 2015!

And Now The ZendCon Interview

>> When was ZendCon first launched?

The first ZendCon was 2004 2005 (date confirmed by @Zeev). I checked the Wayback Machine and the first ZendCon website they show is the 2007 one. (Which took place in Burlingame CA.) So some of it’s history have been lost to the ether.

>> What is ZendCon all about – the objectives?

ZendCon – or as it was first known as – The Zend PHP Conference and Expo – was originally designed to showcase PHP and Zend’s toolchain and services built around it. It quickly however became the defacto PHP conference. Other great conferences have sprung up around the world, and any time the PHP community gets together it’s gonna be great, but there is only one ZendCon.

>> Have these objectives changed down the years?

Yes. Slowly over the years the focus have move from Zend’s tools and services, to general PHP, and now this year, we are focusing on PHP and all the sub communities. I can remember working on ZendCon where it would never ever be considered to have someone from the symfony framework talk. Now we’ve got frameworks and projects all gathering together to talk about the one thing that unites us, PHP. The PHP community has a lot of great projects and sub-communities. Some of these communities are farther down the road than others. All of them have learned unique sets of lessons. This year at ZendCon, we are giving them a place to share those lessons outside of their communities. A chance to share them with everyone.

>> Who first came up with the idea of ZendCon?

I have no idea. So let’s say Andi and Zeev. 🙂

>> ZendCon is a major Global Conf in the PHP World, how massive is this compared to other php conf and is it very different from an operational point of view as compared to the others?

ZendCon has changed over the years. At one point it was the largest gathering of the PHP community. These days however, we’ve slimmed back a bit. There are other conferences that will eclipse ZendCon in total registrants. Still, ZendCon is the Grandaddy of them all. Operationally, no, it’s very similar to other conferences, we’ve got seats, speakers, and sponsors. 🙂

>> Place(s) it is(was) held (including country)

  • 2005 – Santa Clara DoubleTree, Santa Clara CA – US – Andi Gutmans, MC
  • 2006 – Santa Clara DoubleTree, Santa Clara CA – US – Cal Evans, MC
  • 2007 -Burlingame Hilton, Burlingame, CA – US – Cal Evans, MC
  • 2008 – Santa Clara Convention Center, Santa Clara, CA – US – Cal Evans, MC
  • 2009 – San Jose Convention Center, San Jose, CA – US – Eli White, MC
  • 2010 – Santa Clara Convention Center, Santa Clara, CA – US – Kevin Schroeder, MC
  • 2011 – Santa Clara Convention Center, Santa Clara, CA – US – Kevin Schroeder, MC
  • 2012 – Santa Clara Convention Center, Santa Clara, CA – US – Kevin Schroeder, MC
  • 2013 – Santa Clara Convention Center, Santa Clara, CA – US – Adam Culp, MC
  • 2014 – Santa Clara Convention Center, Santa Clara, CA – US – Adam Culp, MC
  • 2015 – Hard Rock Casino, Las Vegas, NV – US – Adam Culp, MC

>> How many editions of this conf have been organised till now?

This will be ZendCon #11.

>> Adam Culp is the main Organizer is this correct? Can you also tell us a bit about the whole crew behind ZendCon, how things are planned, who does what, how the task are dispatched among the team..etc

Adam is the front man and driving force behind ZendCon ‘15. However he couldn’t get it done without the help of people like Maurice Kherlakian, and Ido Moshe. Plus there are many others at Zend that pitch in to help get tasks done. It’s really a group effort to put on something this large.

7PHP With Adam Culp At SunshinePHP 2015 Miami
7PHP With Adam Culp At SunshinePHP 2015 Miami

>> The average number of attendees?

It varies from year to year. I’ve seen it as high as 800. This year we are shooting for 500.

>> The highest number of attendees?

In the 800s

>> Attendees tend to be of what background mostly?

PHP 🙂

Seriously, they are all over the place. At ZendCon we tend to get more Enterprise developers. We also get a good number of Managers and Directors. But there will be a good number of PHP Core developers. The PHP/IBM i community is always well represented, and this year we will have an unprecedented 10 talks in that track alone.

This year, given our focus on popular PHP projects and their communities, I expect we will get a wider variety of developers. I hope we get junior devs attending their first ZendCon, all the way to architect level programmers. Of course we welcome anyone from the PHP community. Sometimes the best use of your time is just sitting and talking to sages like Michelangelo van Dam or Matthew Weier O’Phinney.

ZendCon has something for every PHP developer.

from left to right: Michelangelo with 7PHP aka Khayrattee
from left to right: Michelangelo van Dam with 7PHP aka Khayrattee

>> Is there any specific criteria for the ZendCon team to select speakers? Any chance you can share who are involved in choosing the speakers as well?

I cannot share the names of the team. I can say that I was blessed to be on it again this year. Obviously Adam Culp heads up the process.

There are no formal rules. I can tell you how *I* select. This should not be considered as an endorsement of Zend for my practice. But in the absence of rules, this is what I use.

1: Is the topic interesting?
I don’t care who you are, if the topic is not interesting to the PHP community, I’m not going to vote for you.

2: Is the speaker experienced?
This is not the #1 criteria but it is something that I weigh. Most of the time, all things being equal, I will choose an experienced speaker over a non-experienced speaker on the same topic.

Experienced!==has spoken at a conference before. I give extra points to people who give their talk at a PHP User Group first. People who are applying to speak at a conference but have NEVER spoken at a UG that I can see, actually lose points with me.

L to R: Rafael Dohms - Khayrattee - Michelangelo at Miami 2015 for SunshinePHP
L to R: Rafael Dohms – Khayrattee – Michelangelo at Miami 2015 for SunshinePHP

3: Is the speaker well known?
Now we are getting to things that don’t count much, but they do count. I don’t participate in blind CfPs because WHO is speaking is important to me when selecting. I never select based solely on the person. (Regardless of what Rafael Dohms and Stefan Koopmanschap tell you, I don’t blindly reject based on who you are either) 🙂

Stefan Koopmanschap and Me (7PHP)
Stefan Koopmanschap and Me (7PHP)

Again, if the topic is strong and unique, I’ll pick an unknown speaker. However, if an unknown speaker has pitched a beginning PHPUnit talk, and Sebastian Bergman has pitched a beginning PHPUnit talk, I’ll pick Sebastian. Sebastian WROTE PHPUnit, he can bring insight to the talk that no one else can.

I know I’ll get hate mail for this and I am sorry if you don’t agree with me. However, when there is a charge for the ticket – any charge – then it is the duty of the selection committee to select the best talks available, and put together the strongest possible lineup. The duty is to the ticket holders and them alone. Everything else is secondary in my book.

This does not mean that if Sebastian is pitching a CfP that no one else should pitch PHPUnit. Come up with a unique angle. Pitch a talk on how *your team* used PHPUnit to solve a specific problem. THAT is an interesting talk. That goes back to point #1 and will short-circuit all the rest of them.

Remember this, INTERESTING. TRUMPS. EVERYTHING. ELSE.

* Sorry Sebastian for picking on you. 🙂

>> From your amazing Conf Experience so far, how do you see ZendCon different from other PHP Conferences?

Back when there were 3 major PHP conferences in the US & Europe, I used to say:

  • php[tek] is the community conference
  • ZendCon is the management conference
  • The Dutch PHP Conference (DPC) is the advanced conference

These days there are PHP conferences around the world and that is no longer true. However ZendCon has always made a place for team leads, Managers, and Directors. We love it when managers come learn with their developers and we are committed to give them a place to do it.

I love it when I see a team sitting around in the bar after day 1 of a conference comparing notes, sharing, figuring out who goes to what on day 2. That is a team that loves working together! If you are a manager, do yourself and your company a favor, bring your entire team to ZendCon. They will go home energized, educated, and much more tight knit.

>> Lessons learned from previous editions

You need more IP addresses than you think. 🙂

Back in 2007 I was in charge of ZendCon. (Using the term “in charge” here VERY LOOSELY) 🙂 We had hired a company to run it for us. They ordered the wifi and only ordered a single Class C address block (192.168.0.0/255) Now that is 255 IP addresses. 255 to be shared among 600 attendees. that’s not even 1 per attendee. I instructed the vendor to get all of 192.168.0.0 because there are 600 developers at this conference, each with a phone, a laptop, and usually one other device that are trying to connect to the conference network!

>> It’s being said This ZendCon 2015 promises to be Unique and Special – your comments on that? 🙂

2 words. “Vegas Baby!”

>> Could you tell us a few words about Zeev and Andi – the two pillars of Zend Inc ?

I owe my current career arc to these two men. We all owe so much to all of the PHP Core developers. I take nothing away from them. That notwithstanding, Zend gave me a platform to build on when I started there back in 2006. Andi and Zeev founded Zend. I owe them more than I can repay. I also owe Mr. Mark de Visser. Thanks Mark for giving me a chance. 🙂

>> Cal, since you are already our undeniable Special PHP Icon (The PHP Godfather as @DragonBE says), how has been all your ZendCon so far, is there one of them that has been special or are they all equally same in your heart?

Honest to God, I wish you and Michelangelo would stop calling me that. 🙂

Yes, one stands out, 2008. 2008 stands out, but for personal reasons. That was the last one where I was the Master of Ceremonies. I had already accepted a job offer with Ibuildings, but it had not been made public. As I did the closing goodbye, I actually teared up a little, I hope nobody noticed. I loved working on ZendCon. Great people have come after me and crafted it into the conference that it is today, but I am very proud that I got to put my stamp on it as well.

7PHP with Cal Evans - The PHP Icon
7PHP with Cal Evans – The PHP Icon

>> Would you recommend anyone to work at Zend Inc. or Should I say how can someone be eligible to have a role at Zend Technologies, Inc. ?

7PHP With Matthew Weier O’Phinney
7PHP With Matthew Weier O’Phinney

I have had a lot of jobs. (no seriously, a lot of them!) There are three companies I have truly loved working for, one of them is Zend. Like any company, there are challenges working here. I don’t want to insinuate that it’s all roses and poptarts, there are people here who challenge my positive attitude daily. But I get to work with people likeAdam Culp, Matthew Weier O’Phinney, Clark Everetts, Axel Schinke, Susie Pollock. Even since I’ve been back I’ve made new friends that I can say will be with me for a long time. Zend is an awesome place to work and I am blessed to be here.

7PHP With Clark Everetts
7PHP With Clark Everetts

>> Your message to the people who are going to attend it

Work it. you will get out of ZendCon exactly as much as you put into it. If you just show up and sit in sessions, you’ll get talked at. If you ask questions, you’ll get answers. If you network, you’ll get friends. If you get drunk and spew White Russians all over your friends at the bar, you’ll get laughed at for years to come. So work it. Plan the sessions you want to attend. Plan the times you want to skip a session and just sit around and talk to people. Visit the expo hall and talk with the vendors. If you enjoy an adult beverage, do so in moderation. Don’t just show up, be a part of the conference.

>> A special word of Inspiration & Motivation for both me and also for all readers

You are part of the largest team in the world, the PHP community. There are 5 million women and men out there ready to help you solve your problems. Of course, some of them have problems too, so make sure that you give back when you can in honor of those who have given to you.

>> Any other things you want to mention/share with The PHP World?

Yes, If you have not yet donated to Ed (@funkatron) Finkler’s Open Source Mental Health campaign, please do. Ed uses the money to cover travel expenses so that he can go talk to developers all around North America about Mental Health. If all of us chipped in $5 (a coffee at Starbucks for those of us in North America) Ed wouldn’t need to ever ask again. Do it, donate now.

Ed can’t change the world by himself, he needs the PHP community to help him.

 

>> Cal, thank you very much for all you do, for all you do for me as well and for all the consistent things you do FOR The PHP Community – either be it consistency in your PHP endeavours like NomadPHP / DayCamp4Developers, inspiration in the form of Wisdom of The ElePHPant and for all your daily motivating PHP stuffs on twitter – THANK YOU very much, Sir!

You are welcome. Thank you for helping make the PHP community so awesome!

 

#DC4D Brings You Debugging Beyond The var_dump() Approach

#DC4D Brings You Debugging Beyond The var_dump() Approach

‘A Lil bit’ About #DC4D, And May Be ‘A Lil bit’ more..

Oh wait, what’s #DC4D you ask? Let me tell you that you are doing it wrong if you don’t know about it! Aye elePHPant!!
Day Camp 4 Developers is a virtual ‘mini’ PHP conference. Meaning you can watch in realtime 5 awesome speakers, talking about some cool quality stuffs, while you are comfortably seated on your sofa with your snacks and beverages.

Gaining PHP knowledge, getting to know the speakers, chatting with everyone else attending on our virtual hallway track which is the #DC4D IRC channel on freenode, teasing Cal Evans, seeing Michelangelo brewing his next set of coffee while deploying something quickly and giving some cool feedback (I don’t know how he does all that, after all he’s one of the Green PHP Ninja Turtles), seeing the fun geeky conversation going on between the PHP rockstars, helping someone fixing their audio issue, meeting new friends, (and so much more fun times)…etc THAT’S what’s #DC4D!

If you are not part of it, if you are not part of us, you should be questioning about your PHPc-fanboi-ism! 🙂

It’s a new week on our PHP Calendar, specially in our Virtual PHP calendar – it’s THE week for DC4D which will be held on this upcoming Friday 18th Sept 2015 – see it all here, click!

One very important thing to know, DC4D is heartily brought forward by our PHP Icon – the one and only Mr Cal Evans, together with his wife, The Lovely & Talented Kathy.

Cal & Kathy - The Emblematic #PHPc Couple
Cal & Kathy – The Emblematic #PHPc Couple

This pic above, is a pic I hold dear to my heart – I was honored to have been able to meet them in person in Miami 2015 and taking a picture. Cal/Kathy THANK YOU for ALL you do for us, #PHPc!

DC4D – The Interview With The Organizer Cal Evans

>> Hi Cal, DayCamp 4 Developers has been very consistent in its events down the recent years with another one ahead of us this week. Can you tell us how it all started?

Heh, Day Camp 4 Developers started as a one-off event. I had an idea for another project and I needed funding. So I decided to get a few friends together and do a virtual conference. It didn’t even have a title other than Day Camp 4 Developers. The other project never did get off the ground, but Day Camp 4 Developers now runs 3-4 events a year. 🙂

>> How do you go out to find speakers & how do you plan the ‘theming’ of each events?

I usually have an idea (e.g. Debugging) or I see someone do a talk at a conference and really like it, so I build a Camp around it. For this one, I watched social media for a while and realized a lot of people were talking about debugging. I did some research and found that there were some pretty cool talks out there on the topic. So I reached out to the speakers.

>> The Year, the first one started?

2009 was the first one.

>> What are the challenges involved in hosting an “online mini conference” like DayCamp 4Developers?

TIMEZONES! I suck at TimeZone math. Also, technology. The Internet is not exactly what you call a stable medium. So many things could go wrong. In the early days I would have a MiFi hooked up and running in case my Internet went out. These days it’s more a matter of making sure the speakers have a good quality connection.

>> Is there any similar online PHP events so far?

I used to do something like Day Camp 4 Developers when I was at php architect. However, since I left, I think they have discontinued their series. So in the PHP space, I THINK we are it. (Not that I am complaining) 🙂 Oh, while php[architect] does not run their series anymore, they are our partner in this one and we hope they will continue to be for a long time to come.

>> As an organizer of this event, one specific thing you have observed?

We get a much more geographically diverse group at Day Camp 4 Developers than you usually see at a PHP conference. It is one way that the community can get together world-wide and share.

Cal Evans at Miami 2015 - pic by 7php
Cal Evans at Miami for SunshinePHP 2015 – pic by 7php

Overview Of The Talks

  1. PHP Profiling, an Introduction by Fabien Potencier (creator of Symfony)
  2. Debugging: Past, Present and Future by Derick Rethans (creator of Xdebug)
  3. Characterization Testing for Legacy Applications by Paul M. Jones (creator of AuraPHP)
  4. Modern Tools for API Debugging and Testing by Neil Mansilla
  5. Don’t Reboot, Debug! by Joshua Thijssen

A Quick Chat With Joshua Thijssen | One Of The Speakers

>> Your motivation behind this talk

The days of a programmer doing “simple” programming is long gone. There is no such thing as a simple PHP application and even generic LAMP stacks are getting rare.

And because things are getting more complex, we need to know more on how to fix things when they go wrong. Simply shutting down a virtual machine, or “upping” your development vagrant image might seem to “fix” the problem, but in the end, the problem is still there: you just silenced it for a while.

And this is something I see over and over again in small but also larger projects. Instead of figuring out what exactly goes wrong, we just reboot the server or development machine in the hope that it will work properly again. And since we are moving away to third party components (solr, redis, message queues etc), the problem isn’t always to be found
in your code.

So this talk is about trying apply some “medic first aid” to your (linux) environment for when things don’t work the way it should. What can we check? What are the (most likely) problem area’s, and how can we resolve them easily.

>> Any prerequisite before attending your talk?

The talk is based on a talk I occasionally present on conferences, but this time it will be more focussed on the developer who already works (a bit) with Linux. I will assume you will know a thing or two about the command line, but still I will try and keep it interesting for all levels.

>> One key thing that people will learn exceptionally from this talk

I hope people will discover some new tools, rediscover some already known tools, and find ways to quickly troubleshoot their systems if needed.

>> How can people reach out to you if they have questions later on as and when they practice what you will teach them?

I’m available on twitter (@jaytaph), email (jthijssen@noxlogic.nl), and most likely on a (PHP) conference nearby 🙂

>> Benefits of listening and participating LIVE VS Someone just reading the slides or just watching the video offline

It’s so much nicer when people actually participate in live events. I always like to think that a presentation should not be about a speaker telling a story to an audience (we have books for that), but about interacting with the audience on a storyline in order to discuss issues and solutions they want to know and hear about.

How To Communicate With #DC4D Fellow Members

  1. Using facebook, DC4D FB Page –  Join it, and say a hi!
  2. On the day of the online talks, Tweet with the #Hash tag: #dc4d
  3. Get on irc.freenode.net, using the channel #dc4d
  4. Tweeting to @daycamp4devs

That’s All Folks – Btw Win A Free Ticket

If you can buy a ticket, by any means do it as it’s a way to keep sustaining the efforts by DC4D initiatives.

But you can also participate in winning a FREE ticket.

How To Participate?

Reply to the following question on Twitter and include the hashtag #DC4D in your tweet.

Question: “Who is the emblematic PHP couple?”
Go tweet your answer! A random tweet will be drawn for the winner – All the best!

 

Pacific Northwest PHP Conference | Sneak Glance At The Pre-Event!

Pacific Northwest PHP Conference | Sneak Glance At The Pre-Event!

Purpose Of This ‘PHP Conference Interview’ Concept

This is the #4th set of Know Thy PHP Conference in an attempt to create more awareness of:

  • what is $this PHP Conference about + get to know the people behind it
  • what is a PHP Conference in general
  • what is involved in organizing a PHP Conference
  • what is a PHP UnConference (I will try to fit that in wherever possible)
  • to personally know all the PHP Conference Around The World – that excites me and I hope you too!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP Conference” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Note:

Welcome To The Pacific Northwest PHP Conference

Pacific Northwest PHP Conf Team

>> Could you, the leader(s), tell us a bit about yourself

I’m Jeremy, or @jeremeamia on Twitter, and I’m currently the president of the Seattle PHP User Group (@SeaPHP). Until very recently, I was working at Amazon Web Services on their PHP SDK, but now I’ve joined the Engrade team at McGraw-Hill Education and am learning all about the “ed-tech” industry. I am also known to sing a rhyme or two as the @phpbard.

from L to R: Jeremy & 7PHP in Miami for SunshinePHP 2015
from L to R: Jeremy & 7PHP in Miami for SunshinePHP 2015

>> What is this conference about?

Primarily, it is about PHP, but we will be talking about related technologies and themes, as well. We’re putting particular emphasis on cloud computing, career progression, and “the community” for this event. Check out our website for more information: http://pnwphp.com

>> When was it first launched?

We ran a Kickstarter earlier this year in January. It was funded January 24th, 2015. That’s when everything became official.

>> The place it is going to be held at (including country)

The conference is taking place in Seattle, Washington, in the United States.

>> How many editions of this conf have been organised till now?

This is the first one! 🙂

>> How did the idea and motivation come from?

During the last few years, it’s been my honor to be invited to speak at several PHP conference across the U.S. The conferences that I’ve been to have been really great experiences. Most people in my user group in Seattle have never been to events like these, and I really wanted to bring that experience to them. There are also so many people I want them to meet.

>> What are the objectives and aim of this conference?

I’m hoping it will help the PHP community flourish in the Pacific Northwest, and that the attendees will learn things. More importantly, I hope they get to meet new people that enjoy their same craft and make friends and contacts that will last far beyond the event.

>> You are also making Live Streams & recording of videos available to people who can’t physically make the move. Questions in this regards:

(You can Register for the LIVE Streaming here!)

>>>> how you dealing with this as it’s no easy thing to do – how is the setup of the live telecasting, software/services you use..etc

We are paying local company to help us with this. It’s not cheap. They are already wired into the venue and have done this kind of thing before though, so we hope it goes smoothly and ends up being very high quality.

>>>> are you the first entity to do this kind of thing?

I’m not sure. I personally have not been to any community-run conference that has attempted to do this. It’s expensive and logistically difficult. We’ll see how it goes.

>>>> how has the feedback about this amazing initiative been so far?

Good! I wish we would have announced it earlier, but getting the details worked out was tough.

>>>> any particular objectives for you guys to push forward with this as well?

We just want to provide a PHP conference experience to as many people as possible. Along with the love stream we will also be running a live blog, with bloggers in every session.

>> Any predictable numbers in terms of attendees?

We’re expecting about 180 people in person. We also hope for many to join us online too.

>> Those attendees tend to be of what background mostly?

I’m expecting it to be about varied as our user group: developers of all sorts of skill levels.

>> Could you briefly tell us about the key people behind this conference and their respective roles

I have some excellent people helping me. First and foremost is Tessa Mero (@TessaMero). She is an amazing person and has done so much to make this event possible and keep things organized and progressing. Andrew Woods (@awoods), Cory Fowler (@cfowlerMSFT), Ian Maddox (@IanAMaddox), and John Kelly (@postalservice14) have all helped with various parts of the organizing. Maks Surguy (@msurguy) designed the website and Beau Simensen (@beausimensen) helped get it online. Kate Heesun Lee created our logo. Others in our SeaPHP group have helped and are planning on helping with other tasks as well. Eli White, Cal Evans, and Adam Culp have all helped with advice.

>> How is the task dispatched among the team?

We use Glip to communicate. It’s very similar to Slack as far as the basic group chat and integrations work, but they have a built-in tasks system that has been paramount to us keeping things organized and driving things to completion.

>> How do you go about finding sponsors, what are the key aspects to successfully find sponsors?

Emails. Emails. Emails. So many emails.

The more personal contacts you have, the better. Start with people in evangelist or leadership positions that you know. Ask other conference organizers for contacts. Tell your user group members to ask their employers. Talk to sponsors at other conferences. Our first platinum sponsor, Nexcess came about when I had a chat with their representative at the Midwest PHP conference. Our second platinum sponsor, Tableau, is local to Seattle. Getting local sponsors is critical, because they will be your biggest supporters. We have a few really awesome local sponsors like: Tableau, AWS, TUNE, Alegion, iSpot.tv, Mercutio, GoSolid, and coolblueweb. You can find out more about them on our sponsors page of the PNWPHP website.

>> Challenges involved in finding sponsors?

We have over 40 sponsors listed on our website. We contacted at least 3 times that many. Getting told no is never fun, but being completely ignored is worse. First year events are especially hard since you cannot make any guarantees on audience size and other things that sponsors are interested in knowing before they make the investment. All I can say is that we are grateful to our sponsors, and we’re trying hard to make a sponsorship of our event as valuable as possible.

>> What unique opportunity does organizing a PHP Conference present?

It’s nice because you can make all the creative decisions about how things are going to happen. Of course, when you realize how expensive some of those decisions can be you have to compromise with yourself.

>> Your ‘call for paper’ and how is it scheduled?

We did a call for papers (CfP) in order to collect proposals from speakers for sessions. We used a service called BusyConf.com to run the CfP. We received over 270 submissions.

>> On what criteria does the team select speakers, what are the key areas that you seek to select a speaker

Session content, topic relevancy, and speaker skills were all taken into account. We also tried to get a good mix of local and remote speakers. We limited it to U.S. and Canadian speakers only this year in order to save money. There were some speakers I already had in mind ahead of time based on my interactions with them and also a survey I sent out to the SeaPHP group. There were 4 others that helped me rate and choose talks.

>> Rejection emails, how do you handle them? (softly or ‘to the point’ styles)

Politely to the point, I would say. It’s still hard to turn people away though, especially ones that you know.

>> How is it different from other PHP Conferences?

Well, it’s local to the Pacific Northwest area in the U.S. 🙂 I’ve borrowed my favorite aspects of other conferences and tried to emulate those things. One thing I can say about PNWPHP is that there will be a lot more singing involved than your typical PHP conference.

>> How is organizing and running a conference different from organizing a user group

There are hundreds of thousands more things to do. Ha ha ha.

>> Your message to the people who are going to attend it

I honestly believe that everyone who attends, both in person and online is going to have a good experience, learn new things, and make new friends. My hope is that you will feel the strength of the PHP community and have a desire to contribute back to it afterwards.

>> Any other things you want to mention/share?

Follow us on Twitter (@PNWPHP), and keep an eye on the #PNWPHP hashtag and our live blog when it comes time for the event.

[2] #20YearsOfPHP – 20 ans Déjà Pour PHP, Écoutons Ben Ramsey

Quel est le but de ceci?

Ceci est la 2ème série de notre #20YearsOfPHP! OUI $this->year[‘2015’] doit être inonder avec beaucoup, beaucoup d’amour et de bonheur pour célébrer ce moment unique et incroyable. Tout ce que PHP a réalisé aujourd’hui, est le travail acharné de myriades de ‘PHP rockstar’ de partout dans le monde. C’est aussi dû à un groupe de personnes ‘super-fantastique’ (ils savent qui ils sont!) dévouées qui font de leur mieux pour garder la mise en forme, en donnant consistance et surtout à la sauvegarde de la communauté magique qu’est La Communauté PHP! Pour chacune et chacun d’entre vous #phpc fans / amateurs / admirateurs / sympathisants, merci pour tout ce que vous faites pour donner à cette communauté le goût sucré qu’elle a. UN GRAND MERCI aussi pour tous le noyau interne de PHP qui passent d’innombrables heures de leur vie pour la langue PHP en la poussant à la prochaine étape importante pour chaque nouvelle version (btw GoPHP7 !!!). Vous êtes tous vraiment et magiquement génial!

Vie! Ma vie sans #phpc, est … comme une tasse de thé sans sucre! Comme un Michelangelo van Dam privé de café pour une journée! ~ @7php

20 Years Of PHP
20 Years Of PHP

Pour Rappel..

Comme la plupart d’entre vous le savent, PHP a célébré son 20e anniversaire le 8 Juin 2015. Chris Cornutt a fait déjà une tâche impressionnante de maintenir une liste de toutes les histoires de personnes PHP qui font partie intégrante de #PHPc – see the whole list here (click)!Ici chez 7PHP, je vais un peu plus loin en interrogeant certains des rockstars PHP sur ce qu’ils ont à dire à propos de #20YearsOfPHP

Précédemment:

Et à présent écoutons Ben Ramsey

>> Salut Ben, présentez-vous à mes lecteurs de 7PHP ..

Ben Ramsey (photo by Rob Allen)
Ben Ramsey (photo by Rob Allen)

Je développe des applications PHP depuis déjà une quinzaine d’années et j’ai été impliqué dans la communauté PHP pour environ douze ans. J’ai commencé le groupe d’utilisateurs de PHP à Atlanta en 2004 et j’ai donné mon premier discours à une conférence de PHP en 2005. Depuis, je suis passé à Nashville et redémarré le groupe d’utilisateurs ici; j’ai écrit de nombreux articles pour _php[architect]_ et j’ai contribué à un couple de livres; j’ai organisé quelques conférences; j’ai donné environ 100 exposés au cours des dix dernières années; et j’ai trouvé des façons de faire différentes petites contributions à des projets open source au fil des années, y compris le projet PHP. Je pense qu’il est important pour les développeurs web à comprendre et à utiliser efficacement HTTP, donc j’ai passé pas mal de mon temps de carrièreà enseigner aux développeurs comment HTTP fonctionne.

>> La première personne PHP que vous avez rencontré et qui a probablement joué un rôle essentiel dans votre vie de PHP

Je crois que la première personne PHP que je rencontrai dans la vraie vie était [Andrei Zmievski](http://zmievski.org/). Nous nous sommes rencontrés lors de la vérification dans l’hôtel pour la Conférence internationale PHP édition du printemps en 2005.

>> Si vous regardez les 20ans précédentes, quelle est l’une des leçons que vous avez appris:

– en utilisant PHP comme langage

Le manuel PHP est l’une des meilleures ressources jamais compilées par une équipe de documentation du langage de programmation. Utilisez-le généreusement.

– en vous rapprochant à PHP en tant que communauté

Je l’ai rencontré quelques-uns de mes meilleurs amis à travers mon implication dans la communauté PHP. Il est l’une des communautés de langue de programmation les plus accueillants que je connais. Bien sûr, je suis partial, après avoir été dans cette communauté pendant si longtemps. La communauté a beaucoup changé au fil des années, mais cet aspect accueillante demeure centrale à elle.

>> Une raison pour laquelle PHP a survécu et même se surpasser en succès depuis les dernières 20ans

La communauté.

>> Votre message aux nouveaux PHPers qui se joindront à nous maintenant et en regardant les prochaines 20ans à venir

Impliquez-vous dans la communauté. Joignez-vous à votre groupe d’utilisateurs de PHP local. Branchez-vous sur Freenode IRC et discutez avec des gens dans #phpc. Assister à une conférence de PHP.

[2] #20YearsOfPHP – Let’s Hear It From Ben Ramsey

What Is This About?

This is the 2nd serie of our #20YearsOfPHP ! YES $this->year[‘2015’] needs to be over-brimmed with lots and lots of love and happiness to celebrate this amazing unique moment. All that PHP has achieved today, is the hard work of myriads of PHP rockstar from all over the world. It’s also because of a super-fantastic group (they know who they are!) of dedicated people who are doing their utmost best to keep shaping, giving consistence to and above all safeguarding the magical community that is The PHP Community! To each and everyone of YOU #phpc fans / lovers / admirers /well-wishers, THANK YOU for everything you are doing to give this community the sweet taste it is having. A BIG THANK YOU also for ALL the internal PHP core who are spending countless hours of their life in pushing PHP the language to the next milestone in each new release (btw GoPHP7 !!!). You are all truly and magically awesome!

Life! My life without #phpc, is… like a cup of tea without sugar! Like a Michelangelo van Dam without Coffee for a day! ~ @7php

20 Years Of PHP
20 Years Of PHP

Refreshing Your Mind quickly..

As most of you know, PHP celebrated it’s 20th birthday on the 8th June 2015.
Chris Cornutt did an awesome task of maintaining a list of all the PHP stories of people who are part and parcel of PHPc – see the whole list here (click)!
Here over 7PHP, I’m taking this a step further by interviewing some of the PHP rockstars about what they have to say about #20YearsOfPHP

Previously:

Aand Now Let’s Hear From Ben Ramsey

>> Hi Ben, please introduce yourself to my 7PHP readers..

Ben Ramsey (photo by Rob Allen)
Ben Ramsey (photo by Rob Allen)

I’ve been developing PHP applications for about fifteen years and have been involved in the PHP community for about twelve. I started the PHP user group in Atlanta in 2004 and gave my first talk at a PHP conference in 2005. Since then, I’ve moved on to Nashville and rebooted the user group here; I’ve written numerous articles for _php[architect]_ and have contributed to a couple of books; I’ve organized a couple of conferences; I’ve given about 100 talks over the last ten years; and I’ve found ways to make various small contributions to open source projects over the years, including the PHP project. I feel it’s important for web developers to understand and use effectively HTTP, so I’ve spent a fair amount of my speaking and writing career teaching developers how HTTP works.

>> The first PHP Person that you met & that probably played a vital part in your PHP life

I believe the very first PHP person I met in real life was [Andrei Zmievski](http://zmievski.org/). We met while checking into the hotel for the International PHP Conference Spring Edition in 2005.

>> If you look back at the previous 20yrs, what is the one lesson that you’ve learned:

– by using PHP as a language

The PHP manual is one of the best resources ever compiled by a programming language documentation team. Use it liberally.

– by sticking to PHP as a community

I’ve met some of my best friends through my involvement in the PHP community. It’s one of the most welcoming programming language communities I know. Of course, I’m biased, having been in this community for so long. The community has changed a lot over the years, but that welcoming aspect remains central to it.

>> One reason why PHP has survived and even transcend itself into success since the last 20yrs

The community.

>> Your message to New PHPers who will join us now looking forward for the next 20yrs

Get involved in the community. Join your local PHP user group. Get on Freenode IRC and chat with people in #phpc. Attend a PHP conference.

#20YearsOfPHP – 20 ans Déjà Pour PHP, Écoutons Cal Evans

#20YearsOfPHP – 20 ans Déjà Pour PHP, Écoutons Cal Evans

Quel est le but de ceci?

Comme la plupart d’entre vous le savent, PHP a célébré son 20e anniversaire le 8 Juin 2015.
Chris Cornutt fait déjà une tâche impressionnante de maintenir une liste de toutes les histoires de personnes PHP qui font partie intégrante de #PHPc – voyez toute la liste ici (cliquez svp)!
Ici chez 7PHP, je vais un peu plus loin en interrogeant certains des rockstars PHP sur ce qu’ils ont à dire à propos de #20YearsOfPHP

20 Years Of PHP
20 Years Of PHP

Eet à présent écoutons Cal Evans

>> La première personne PHP que vous avez rencontré et qui a probablement joué un rôle essentiel dans votre vie de PHP

Matthew Weier O’Phinney

(L to R): 7PHP with Matthew Weier O'Phinney
(L to R): 7PHP with Matthew Weier O’Phinney

>> Si vous regardez les 20ans précédentes, quelle est l’une des leçons que vous avez appris:
i) en utilisant PHP comme langage

Vous ne devez pas mémoriser le manuel, il suffit de savoir quels sont les outils disponibles. Vous pouvez toujours regarder les soucis de botte de ‘haystack/needle’.

ii) en vous rapprochant à PHP en tant que communauté

La Communauté est **la choses la plus importante** pour tout développeur.

>> Une raison pour laquelle PHP a survécu et même se surpasser en succès depuis les dernières 20ans

Il est facile à maîtriser, mais peut être utilisé pour construire des solutions complexes. Il est partout.

>> Votre message aux nouveaux PHPers qui se joindront à nous maintenant et en regardant les prochaines 20ans à venir

Impliquez-vous. Ne soyez pas timide, venez de l’avant. Portez vous comme volontaire pour aider dans votre groupe d’utilisateurs PHP local. Bloggez sur quelque chose que vous avez appris récemment. (Rappelez-vous, vous ne le saviez pas, quelqu’un d’autre ne le sait probablement pas encore. Aidez les à s’en sortir) Si vous êtes assez courageux, portez vous bénévole à parler pour votre groupe d’utilisateurs local. Peux import que cela necessite, impliquez vous dans la communauté et commencez à aider les gens.

>> Dernier point, mais non le moindre, qui est Cal Evans

S’il vous plaît jeter un oeil sur:

7PHP with Cal Evans - The PHP Icon
7PHP with Cal Evans – The PHP Icon
#20YearsOfPHP – Let’s Hear It From Cal Evans

#20YearsOfPHP – Let’s Hear It From Cal Evans

What Is This About?

As most of you know, PHP celebrated it’s 20th birthday on the 8th June 2015.
Chris Cornutt is already doing an awesome task of maintaining a list of all the PHP stories of people who are part and parcel of PHPc – see the whole list here (click)!
Here over 7PHP, I’m taking this a step further by interviewing some of the PHP rockstars about what they have to say about #20YearsOfPHP

20 Years Of PHP
20 Years Of PHP

Aand Now Let’s Hear From Cal Evans

>> The first PHP Person that you met & that probably played a vital part in your PHP life

Matthew Weier O’Phinney

(L to R): 7PHP with Matthew Weier O'Phinney
(L to R): 7PHP with Matthew Weier O’Phinney

>> If you look back at the previous 20yrs, what is the one lesson that you’ve learned:
i) by using PHP as a language

You don’t have to memorize the manual, just know what tools are available. You can always look up haystack/needle issues.

ii) by sticking to PHP as a community

Community is **THE MOST IMPORTANT** thing for any developer.

>> One reason why PHP has survived and even transcend itself into success since the last 20yrs

It is easy to master but can be used to build complex solutions. That and it’s everywhere.

>> Your message to New PHPers who will join us now and looking forward for the next 20yrs

Get involved. Don’t be shy, step up. Volunteer to help in your local User Group. Blog about something you learned recently. (Remember, you didn’t know it, someone else probably doesn’t know it yet. help them out) If you are brave enough volunteer to speak at your local User Group. Whatever it takes, get involved in the community and start helping people.

>> Last but not the least, who’s Cal Evans

Please have a look here:

7PHP with Cal Evans - The PHP Icon
7PHP with Cal Evans – The PHP Icon
Installing Magento version 2 on an AWS (Amazon) Free Tier EC2 Instance On LEMP – Everything Command Line Way!

Installing Magento version 2 on an AWS (Amazon) Free Tier EC2 Instance On LEMP – Everything Command Line Way!

 

Small Intro

MDI-Text-Editor-icon

This article tries to demonstrate how to setup an AWS (EC2) instance, installing a LEMP stack, preparing the server environment to meet Magento’s requirements and then to finally install Magento v2 using commandline approach.
While, I completely agree that:
– you can use any other VPS
– you can git clone using https and hence no need for github ssh key binding
– you can install magento simply via using it’s web interface by pointing your browser to your http://yourdomain.com/setup

I’m presenting in this article something which might otherwise seem to be a daunting approach – but I also see it as an approach which you can later automate by using Docker/Dockerfile for example or even using a Vagrant appliance. (Btw my buddy and colleague Max Bucknell (@maxbucknell) made short and effective screencast on using vagrant for installing Magentov2 – click)

 

A Word About Magento’s Devdocs website

Magento is doing an good job with the new spirit that is in the form of the magentov2 devdocs – click. This knowledge-base is my main reference for magento 2. But please help in anyway you can to keep it updated and also improve it, you can easily submit pull request via github as devdocs is hosted in there.

 

Assumptions

  • You do have some basic knowledge with DevOps or Linux Server stuffs
  • You know how to use Composer
  • You have knowledge of SSH Keys / Key Pairs usage
  • You have a github account – create one if no, it’s free
  • I’m using Nginx as server, but you can easily adapt for Apache

Note: Since this article is quite lengthy in its aim, I’ll be a bit straight forward with things that you can figure out by googling / your intuition.

 

Objectives With This Article

  1. Create a Free AWS account
  2. Preparing & Configuring your AWS EC2 Instance
  3. Binding SSH key with Github
  4. Installing Magento v2 via Command Line

Let’s do this!

 

Creating a Free Tier AWS Account

AWS (An Amazon service), I believe is the only high calibre VPS in this ecosystem to provide a top notch VPS Instance for Free for One full year with the following specs (of interest to me):

  • 750 hours per month of Linux
  • 1 GiB of memory (RAM)
  • 32-bit and 64-bit platform support
  • 30 GB of Amazon Elastic Block Storage in any combination of General Purpose (SSD) or Magnetic, plus 2 million I/Os
  • 1 GB of snapshot storage
  • 15 GB of bandwidth out aggregated across all AWS services

I don’t know about you, but this is largely (and insanely) sufficient for my DEV server needs and to test out anything I would like. But wait, there’s even more – see the full specs and all related Services here – click! (No, there’s no referral here)

NOTE:
For the faint-heart, creating a free account with AWS Free Tier package, is not a quick process. It took around 4 days for me. Why?
When you create your account, AWS is kinda strict so that you will need to provide accurate infos about:
1) Yourself – name, physical address, phone..etc
2) a valid working credit card – they will deduce a random (small) amount to verify your card & hence confirming your identity

The credit card is also there for AWS to bill you in case you want to go overboard of what they are currently offering for the Free package – AWS is flexible and elastic in almost all their products – each of them are really decoupled.

AWS Dashboard Preview
AWS Dashboard Preview

 

 

Preparing & Configuring your AWS EC2 Instance

The partial screenshot above show how the AWS dashboard looks like. Of interest to us, is the EC2 sub-menu highlighted by the red rectangular box.

When using an AWS Instance, you will need to go through the following most important steps:

  1. Create a security group
  2. Create a PEM file – Key Pairs
  3. Create Your Instance
  4. Create an Elastic IP & assign to the created instance
  5. Assign a custom domain or subdomain to that (elastic) IP (optional, since you can just use the IP)
The EC2 LEft-Menu Options
The EC2 LEft-Menu Options

 

 

Creating A Security Group For Our AWS EC2 Instance

In the menu above, click on Security Groups under Network sub-menu. A popup like the screenshot below will be shown to you. Here, I’ll add only two rules for our EC2 instance to be accessible over SSH and over normal HTTP. And note that for both, I have also set the rule so that it is accessible by anyone anywhere – but if you want your instance to remain private, just put some IP restriction in there.

AWS Security Group Config
AWS Security Group Config

After you click the Create button, you will be asked to download the generated PEM file. Please save it somewhere safe & handy as this is your central Key to accessing your instance.

 

 

Creating a PEM file – Key Pairs

Select Key Pairs on the left-menu, you will be presented with a popup similar to the below and simply provide a name for it:

AWS - Create PEM File
AWS – Create PEM File

 

What’s a PEM File?

Normally when you access a remote server over SSH using a terminal, you would access it by using a combination of login/password, e.g:

$ ssh user@the-ip-address -p [PORT]

But with AWS, this is not possible when you first create an instance. I said first, because after you use a PEM file, you can setup your box to be SSH-accessible using login/password.

AWS adds an extra security layer by requiring you to create and use a PEM file – about AWS PEM files! In essence, if you know about ‘SSH-Keys private/public‘ usage, you are fine with pem files.

For info, when connecting with a PEM file you would do something like:

$ ssh -i /path/to/your_aws_pem_file.pem user@the-ip-address-of-your-instance

 

Creating our AWS EC2 Instance

Select Instances on the left-menu. Then once on the Instances page, select the big blue button saying “Launch Instance“. You will be presented with a list of linux flavors to choose from. And you will be taken to the following STEPS:

STEP 1 – Choose an Amazon Machine Image (AMI)

I have chosen “Ubuntu Server 14.04 LTS (HVM), SSD Volume Type“.

STEP 2 – Choose an Instance Type

I selected the first one, that is, general purpose/t2.micro

STEP 3 – Configure Instance Details

I selected all the default ones, nothing special at this step

STEP 4 – Add Storage

I have chosen 12 GB / General Purpose SSD. You stick with the default 8 GB, that’s fine. You do have 30 GB a free-tier though.

STEP 5 – Tag Instance

This is just for your own use. I usually tag it with the following three tags:

Name => Magento Instance

Author => Wasseem

Purpose => DEV

STEP 6 – Configure Security Group

This sounds familiar, aye! Yes we already created this above. But now at this step we will use it! So please choose “existing security group” for the section ‘Assign a security group‘. See screenshot below:

step-6-security-config

STEP 7 – Review Instance Launch

This is the final step, please review all your configuration. Once satisfied, click launch and let’s rock!

 

 

Creating an Elastic IP & Assigning to our EC2 Instance

Assuming everything went fine, you will see your instance listed as a Running instance, with a random public IP on the Instances Page. Now we need to create and assign an Elastic IP to it.

So on the left-menu, select Elastic IP. Once there, create one and associate with your Running Instance.

Elastic_IP_Association

Why Elastic IP?

When you create an elastic IP, the generated IP is reserved for you each time. If you don’t use it and rely on dynamic public IP generation/association, each time when you stop your instance and restart it, you lose the previous IP – this proved to be a downside to our use-case:

i) since we will configure our Magento installation to use an IP

ii) in case we are using a custom domain or subdomain, we will need to re-update them and wait for DNS propagation delays…etc
So in brief, an elastic IP is really helpful.

 

 

Preparing & Configuring our AWS EC2 Instance

Accessing Our Instance First Time

Ok, now time for the 2nd dive, let’s SSH into our created instance. Before we proceed, note that I have assigned a subdomain to my elastic IP. This is done at your Domain Registrar’s dashboard. I have set an A-record for the following:

m2.7php.com => [the_elastic_IP]

Let’s SSH, see my terminal’s screenshot below:

ssh-into-instance-terminal

Some points:

  1. I change directory to the place where my PEM file resides
  2. I then try to SSH into my instance
  3. You will note the prompt: “Are you sure you want to continue connecting (yes/no)?” –> type yes.
  4. You will note a 1st issue: “permissions 0640 for ‘7php_aws_wak.pem’ are too open” –> Well just put it at 600

 

 

Installing Our LEMP Stack

Before installing your LEMP (or LAMP) stack, it’s good upfront to know what server requirements Magento adheres to! See Magento 2 Devdocs Server Requirements for additional info.

STEP 1 – Installing MariaDB for our DB needs

Note:
i) I use MariaDB as a substitute for MySQL, but you can use MySQL or even Percona which is an excellent dropin replacement for MySQL.
ii) Magento 2 has as prerequisite of MySQL version 5.6, NOT 5.5!! So the equivalent 5.6 for MariaDB is version 10.

Here’s the commands I used:
[code=bash]
$ sudo apt-get install software-properties-common
$ sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
$ sudo add-apt-repository ‘deb http://mirror.zol.co.zw/mariadb/repo/10.0/ubuntu trusty main’

$ sudo apt-get update

$ sudo apt-get install mariadb-server -y
[/code]

Note, for Lines 1-3, you will need to get yours from MariaDB’s site: https://downloads.mariadb.org/mariadb/repositories/#mirror=zol

THOUGHT:

To have a more secure installation, run: $ mysql_secure_installation

STEP 2 – Installing Nginx

Pretty simple:
[code=bash]
$ sudo apt-get install nginx -y
[/code]

STEP 3 – Installing PHP

We will Need to use PHP-FPM because we are using Nginx.
For info, Magento needs the following PHP extensions to be installed:

  • gd
  • mcrypt
  • mhash
  • mbstring
  • intl
  • xsl
  • simplexml
  • soap
  • curl
  • pdo / mysql

So my installation statements look like this:

[code=bash]
$ sudo apt-get install libcurl3 curl -y
$ sudo apt-get install php5-fpm php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd php5-xsl php5-json php5-intl php-pear php5-dev php5-common php-soap –fix-missing -y
[/code]

 

Solving The ‘mcrypt’ Issue

I have installed PHP-FPM like the above on several AWS instance, DigitalOcean box and even locally on my machine, but each time mcrypt extension is not enabled by default. (If you know why, please shoot me a comment)

To do this, we need to enable mcrypt for both server php and cli php:
[code=bash]
$ cd /etc/php5/fpm/conf.d
$ sudo ln -s ../../mods-available/mcrypt.ini

$ cd /etc/php5/cli/conf.d
$ sudo ln -s ../../mods-available/mcrypt.ini
[/code]

 

Configuring PHP.ini Settings

Ok, now time to update some php.ini settings to handle magento.
You will need to update the php.ini for both server & cli:

– /etc/php5/cli/php.ini
– /etc/php5/fpm/php.ini

Update for the following:

memory_limit = 512M
max_execution_time = 18000
flag session.auto_start = off
zlib.output_compression = on

And since we are installing for a DEV environment, make sure to enable ‘showing us any error happening‘:

display_errors = on
error_reporting = E_ALL

 

 

Aand finally, don’t forget to restart PHP FPM:

[code=bash]
$ sudo service php5-fpm restart
[/code]

 

 

Installing Some More Utilities/Tools

Installing GIT

[code=bash]
$ sudo apt-get install git -y
[/code]

 

Installing Composer

Install composer and place in your ENV Path.

I change directory to /tmp because it’s a folder that has read/write permissions and I use it as a place where I do all quick dirty stuffs. So I first download composer which is the quick dirty task, dirty because the downloaded composer file will ultimately be placed somewhere else.

[code=bash]

$ cd /tmp
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin
[/code]

Test if composer has been correctly setup: $ composer.phar –help

 

 

The Magento 2 Project Installation Walkthrough

Now high time for our deep dive, installing Magento 2.

Things to do at this point now:

  1. Fetching the Magento 2 repo from github
  2. Configuring an nginx conf file to handle our magento site/shop installation
  3. Creating a database
  4. Running & installing the magento setup

 

 

Fetching the Magento 2 repo from github

Create /var/www

Let’s change directory to /var/www/
You will note that the directory www inside /var/ does not exist, so create it. See screenshot:

terminal-mkdir-www

 

 

 

Use SSH for GIT clone, instead of normal https

1) Create an SSH key locally on the instance, see screenshot:

ssh-keygen

If you have no clue of what I did in the screenshot above, ssh key/pair gen.

If for any reason you messed up a file in the project, just do a GIT reset: $ git reset –hard HEAD

Pitfall

Something worthwhile to note here, when you are generating and binding the ssh key, you are doing it as the user ubuntu on the server. So when later below you will sudo git, you will get a permission issue. This is because as the user root (sudoer), your root ssh key is not running in the ssh-agent. So I would recommend you ‘sudo -s‘ and then do the step above – this will be your homework 😀

2) Bind our public SSH key with our github account.

– Obtain the public ssh-key using the command:
[code=bash]
$ cat ~/.ssh/id_rsa.pub
[/code]

– Then copy and paste the output from the above and save it on our github’s SSH (Settings > SSH Keys > Add SSH Keys)

3) GIT Clone magento from github:
[code=bash]
$ cd /var/www
$ sudo git clone git@github.com:magento/magento2.git
[/code]

 

 

Installing Magento Dependencies via Composer

Ok, now that we have the magento 2 project locally, let’s use composer to install all it’s dependencies.
We’ll run composer install since magento also committed their lock file.

[code=bash]
$ cd magento2
$ sudo composer.phar install -v
[/code]

 

Suggested reading: http://devdocs.magento.com/guides/v1.0/install-gde/install/composer-clone.html

 

 

File/Folder Permissions & Owner

Some server business is still unfinished, we need to know what user the server is running with: $ ps -ef | grep nginx

[code=bash]
# file/folder permissions
$ sudo find . -type d -exec chmod 700 {} \; && find . -type f -exec chmod 600 {} \;

# set the correct owner
$ sudo chown -R www-data .
[/code]

If you don’t do this, you end up with an errored page: “The page isn’t redirecting properly

 

Configuring nginx conf file to serve our magento site

First thing first: Magento puts in a nice sample conf file in its project directory, named as nginx.conf.sample.
I will use that file. I see no point in renaming it into nginx.conf in a DEV environment. So I’ll keep it ‘as-is’ and ‘where-it-is’.

The idea is to create a conf file (let’s name it as m2.7php.conf) in /etc/nginx/sites-available and then reference the nginx.conf.sample

[code=bash]
## FILE m2.7php.conf ##

upstream fastcgi_backend {
server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
server_name m2.7php.com;
set $MAGE_ROOT /var/www/magento2;
set $MAGE_MODE developer;
include /var/www/magento2/nginx.conf.sample;
}
[/code]

Note:
– Obtain the full path to the magento project folder, mine was at: /var/www/magento2

Let’s see this into action:

[code=bash]
$ cd /etc/nginx/sites-available/

#I assume you have pasted the content for m2.7php.conf
$ nano m2.7php.conf

#we need to symlink to enable the new conf file for m2.7php.conf
$ cd ../sites-enabled/
$ ln -s ../sites-available/m2.7php.conf

#here we are making sure the conf files are all fine
$ service nginx configtest
* Testing nginx configuration [ OK ]

$ service nginx restart
[/code]

So far, things should be fine..

 

 

Creating a Database For Our Magento Installation

We will need to create one and let’s name it as magento2. Here’s the script:

[code=bash]
$ mysql -u[user] -p[password]
$ create database magento2;
$ exit;
[/code]

Of course you will need to put your user instead of [user].
THOUGHT:
Consider creating a user and assign that user with rights to only the database magento2. Don’t use the default root user.

 

Running The Magento Setup From Commandline

Ok, here’s the script to run:

[code=bash]
$ sudo -s

$ bin/magento setup:install –backend-frontname=”admin” \
–key=”R9uzZ8p62369PI4maG4iApWlwUNSzbBL” \
–db-host=”localhost” \
–db-name=”magento2″ \
–db-user=”user” \
–db-password=”somepassword” \
–language=”en_US” \
–currency=”USD” \
–timezone=”America/Chicago” \
–use-rewrites=1 \
–use-secure=0 \
–base-url=”http://m2.7php.com” \
–base-url-secure=”https://m2.7php.com” \
–admin-user=adminuser \
–admin-password=somepassword \
–admin-email=youremail@domain.com \
–admin-firstname=Wasseem \
–admin-lastname=Khayrattee \
–cleanup-database
[/code]

Note:
– Run the command as root user
– For the hashed key, use an online generator to get one, example: http://randomkeygen.com/

 

 

[SUCCESS]: Magento installation complete.

VOILA! If everything went fine, you should have seen the above green message on your terminal.

The Frontend node looks like this:

Magentov2 Frontend
Magentov2 Frontend

 

And the Backend node looks like:

Magento v2 Backend - Login Page
Magento v2 Backend – Login Page
Magento v2 Backend - Dashboard
Magento v2 Backend – Dashboard

For your curiosity. here’s part of the output, I say part because the first block was eaten by my terminal 😉

[code=bash]
[Progress: 59 / 272]
Module ‘Magento_Centinel’:
[Progress: 60 / 272]
Module ‘Magento_Persistent’:
Installing schema..
[Progress: 61 / 272]
Module ‘Magento_ProductAlert’:
Installing schema..
[Progress: 62 / 272]
Module ‘Magento_Captcha’:
Installing schema..
[Progress: 63 / 272]
Module ‘Magento_Reports’:
Installing schema..
[Progress: 64 / 272]
Module ‘Magento_RequireJs’:
[Progress: 65 / 272]
Module ‘Magento_Review’:
Installing schema..
[Progress: 66 / 272]
Module ‘Magento_Rss’:
[Progress: 67 / 272]
Module ‘Magento_CatalogWidget’:
[Progress: 68 / 272]
Module ‘Magento_GoogleAdwords’:
[Progress: 69 / 272]
Module ‘Magento_OfflineShipping’:
Installing schema..
[Progress: 70 / 272]
Module ‘Magento_GiftMessage’:
Installing schema..
[Progress: 71 / 272]
Module ‘Magento_CatalogSearch’:
Installing schema..
[Progress: 72 / 272]
Module ‘Magento_Sendfriend’:
Installing schema..
[Progress: 73 / 272]
Module ‘Magento_Shipping’:
[Progress: 74 / 272]
Module ‘Magento_Sitemap’:
Installing schema..
[Progress: 75 / 272]
Module ‘Magento_AdminNotification’:
Installing schema..
[Progress: 76 / 272]
Module ‘Magento_Tax’:
Installing schema..
[Progress: 77 / 272]
Module ‘Magento_TaxImportExport’:
[Progress: 78 / 272]
Module ‘Magento_CatalogUrlRewrite’:
Installing schema..
[Progress: 79 / 272]
Module ‘Magento_Translation’:
Installing schema..
[Progress: 80 / 272]
Module ‘Magento_Ui’:
[Progress: 81 / 272]
Module ‘Magento_Ups’:
[Progress: 82 / 272]
Module ‘Magento_UrlRewrite’:
Installing schema..
[Progress: 83 / 272]
Module ‘Magento_Integration’:
Installing schema..
[Progress: 84 / 272]
Module ‘Magento_Usps’:
[Progress: 85 / 272]
Module ‘Magento_Variable’:
Installing schema..
[Progress: 86 / 272]
Module ‘Magento_Version’:
[Progress: 87 / 272]
Module ‘Magento_Webapi’:
[Progress: 88 / 272]
Module ‘Magento_Weee’:
Installing schema..
[Progress: 89 / 272]
Module ‘Magento_CurrencySymbol’:
[Progress: 90 / 272]
Module ‘Magento_Wishlist’:
Installing schema..
[Progress: 91 / 272]
Schema post-updates:
Module ‘Magento_Store’:
[Progress: 92 / 272]
Module ‘Magento_Directory’:
[Progress: 93 / 272]
Module ‘Magento_Backend’:
[Progress: 94 / 272]
Module ‘Magento_Backup’:
[Progress: 95 / 272]
Module ‘Magento_Theme’:
[Progress: 96 / 272]
Module ‘Magento_CacheInvalidate’:
[Progress: 97 / 272]
Module ‘Magento_Eav’:
[Progress: 98 / 272]
Module ‘Magento_Customer’:
[Progress: 99 / 272]
Module ‘Magento_CatalogImportExport’:
[Progress: 100 / 272]
Module ‘Magento_Indexer’:
[Progress: 101 / 272]
Module ‘Magento_Cms’:
[Progress: 102 / 272]
Module ‘Magento_Search’:
[Progress: 103 / 272]
Module ‘Magento_Catalog’:
[Progress: 104 / 272]
Module ‘Magento_Rule’:
[Progress: 105 / 272]
Module ‘Magento_CatalogInventory’:
[Progress: 106 / 272]
Module ‘Magento_Payment’:
[Progress: 107 / 272]
Module ‘Magento_CheckoutAgreements’:
[Progress: 108 / 272]
Module ‘Magento_Quote’:
[Progress: 109 / 272]
Module ‘Magento_CmsUrlRewrite’:
[Progress: 110 / 272]
Module ‘Magento_Config’:
[Progress: 111 / 272]
Module ‘Magento_ConfigurableImportExport’:
[Progress: 112 / 272]
Module ‘Magento_Msrp’:
[Progress: 113 / 272]
Module ‘Magento_Contact’:
[Progress: 114 / 272]
Module ‘Magento_Cookie’:
[Progress: 115 / 272]
Module ‘Magento_Cron’:
[Progress: 116 / 272]
Module ‘Magento_Widget’:
[Progress: 117 / 272]
Module ‘Magento_Bundle’:
[Progress: 118 / 272]
Module ‘Magento_CustomerImportExport’:
[Progress: 119 / 272]
Module ‘Magento_DesignEditor’:
[Progress: 120 / 272]
Module ‘Magento_Developer’:
[Progress: 121 / 272]
Module ‘Magento_Dhl’:
[Progress: 122 / 272]
Module ‘Magento_Authorization’:
[Progress: 123 / 272]
Module ‘Magento_Downloadable’:
[Progress: 124 / 272]
Module ‘Magento_SalesSequence’:
[Progress: 125 / 272]
Module ‘Magento_Email’:
[Progress: 126 / 272]
Module ‘Magento_Fedex’:
[Progress: 127 / 272]
Module ‘Magento_Sales’:
[Progress: 128 / 272]
Module ‘Magento_Checkout’:
[Progress: 129 / 272]
Module ‘Magento_GoogleAnalytics’:
[Progress: 130 / 272]
Module ‘Magento_GoogleOptimizer’:
[Progress: 131 / 272]
Module ‘Magento_GoogleShopping’:
[Progress: 132 / 272]
Module ‘Magento_GroupedImportExport’:
[Progress: 133 / 272]
Module ‘Magento_GroupedProduct’:
[Progress: 134 / 272]
Module ‘Magento_ImportExport’:
[Progress: 135 / 272]
Module ‘Magento_CatalogRule’:
[Progress: 136 / 272]
Module ‘Magento_User’:
[Progress: 137 / 272]
Module ‘Magento_LayeredNavigation’:
[Progress: 138 / 272]
Module ‘Magento_Log’:
[Progress: 139 / 272]
Module ‘Magento_MediaStorage’:
[Progress: 140 / 272]
Module ‘Magento_ConfigurableProduct’:
[Progress: 141 / 272]
Module ‘Magento_Multishipping’:
[Progress: 142 / 272]
Module ‘Magento_Newsletter’:
[Progress: 143 / 272]
Module ‘Magento_OfflinePayments’:
[Progress: 144 / 272]
Module ‘Magento_SalesRule’:
[Progress: 145 / 272]
Module ‘Magento_PageCache’:
[Progress: 146 / 272]
Module ‘Magento_Centinel’:
[Progress: 147 / 272]
Module ‘Magento_Persistent’:
[Progress: 148 / 272]
Module ‘Magento_ProductAlert’:
[Progress: 149 / 272]
Module ‘Magento_Captcha’:
[Progress: 150 / 272]
Module ‘Magento_Reports’:
[Progress: 151 / 272]
Module ‘Magento_RequireJs’:
[Progress: 152 / 272]
Module ‘Magento_Review’:
[Progress: 153 / 272]
Module ‘Magento_Rss’:
[Progress: 154 / 272]
Module ‘Magento_CatalogWidget’:
[Progress: 155 / 272]
Module ‘Magento_GoogleAdwords’:
[Progress: 156 / 272]
Module ‘Magento_OfflineShipping’:
[Progress: 157 / 272]
Module ‘Magento_GiftMessage’:
[Progress: 158 / 272]
Module ‘Magento_CatalogSearch’:
[Progress: 159 / 272]
Module ‘Magento_Sendfriend’:
[Progress: 160 / 272]
Module ‘Magento_Shipping’:
[Progress: 161 / 272]
Module ‘Magento_Sitemap’:
[Progress: 162 / 272]
Module ‘Magento_AdminNotification’:
[Progress: 163 / 272]
Module ‘Magento_Tax’:
[Progress: 164 / 272]
Module ‘Magento_TaxImportExport’:
[Progress: 165 / 272]
Module ‘Magento_CatalogUrlRewrite’:
[Progress: 166 / 272]
Module ‘Magento_Translation’:
[Progress: 167 / 272]
Module ‘Magento_Ui’:
[Progress: 168 / 272]
Module ‘Magento_Ups’:
[Progress: 169 / 272]
Module ‘Magento_UrlRewrite’:
[Progress: 170 / 272]
Module ‘Magento_Integration’:
[Progress: 171 / 272]
Module ‘Magento_Usps’:
[Progress: 172 / 272]
Module ‘Magento_Variable’:
[Progress: 173 / 272]
Module ‘Magento_Version’:
[Progress: 174 / 272]
Module ‘Magento_Webapi’:
[Progress: 175 / 272]
Module ‘Magento_Weee’:
[Progress: 176 / 272]
Module ‘Magento_CurrencySymbol’:
[Progress: 177 / 272]
Module ‘Magento_Wishlist’:
[Progress: 178 / 272]
[Progress: 179 / 272]
Installing user configuration…
[Progress: 180 / 272]
Installing data…
Data install/update:
Module ‘Magento_Store’:
[Progress: 181 / 272]
Module ‘Magento_Directory’:
Installing data..
[Progress: 182 / 272]
Module ‘Magento_Backend’:
[Progress: 183 / 272]
Module ‘Magento_Backup’:
[Progress: 184 / 272]
Module ‘Magento_Theme’:
Installing data..
[Progress: 185 / 272]
Module ‘Magento_CacheInvalidate’:
[Progress: 186 / 272]
Module ‘Magento_Eav’:
Installing data..
[Progress: 187 / 272]
Module ‘Magento_Customer’:
Installing data..
[Progress: 188 / 272]
Module ‘Magento_CatalogImportExport’:
[Progress: 189 / 272]
Module ‘Magento_Indexer’:
[Progress: 190 / 272]
Module ‘Magento_Cms’:
Installing data..
[Progress: 191 / 272]
Module ‘Magento_Search’:
[Progress: 192 / 272]
Module ‘Magento_Catalog’:
Installing data..
[Progress: 193 / 272]
Module ‘Magento_Rule’:
[Progress: 194 / 272]
Module ‘Magento_CatalogInventory’:
Installing data..
[Progress: 195 / 272]
Module ‘Magento_Payment’:
[Progress: 196 / 272]
Module ‘Magento_CheckoutAgreements’:
[Progress: 197 / 272]
Module ‘Magento_Quote’:
Installing data..
[Progress: 198 / 272]
Module ‘Magento_CmsUrlRewrite’:
[Progress: 199 / 272]
Module ‘Magento_Config’:
Installing data..
[Progress: 200 / 272]
Module ‘Magento_ConfigurableImportExport’:
[Progress: 201 / 272]
Module ‘Magento_Msrp’:
Installing data..
[Progress: 202 / 272]
Module ‘Magento_Contact’:
[Progress: 203 / 272]
Module ‘Magento_Cookie’:
[Progress: 204 / 272]
Module ‘Magento_Cron’:
[Progress: 205 / 272]
Module ‘Magento_Widget’:
Installing data..
[Progress: 206 / 272]
Module ‘Magento_Bundle’:
Installing data..
[Progress: 207 / 272]
Module ‘Magento_CustomerImportExport’:
[Progress: 208 / 272]
Module ‘Magento_DesignEditor’:
[Progress: 209 / 272]
Module ‘Magento_Developer’:
[Progress: 210 / 272]
Module ‘Magento_Dhl’:
Installing data..
[Progress: 211 / 272]
Module ‘Magento_Authorization’:
Installing data..
[Progress: 212 / 272]
Module ‘Magento_Downloadable’:
Installing data..
[Progress: 213 / 272]
Module ‘Magento_SalesSequence’:
Installing data..
[Progress: 214 / 272]
Module ‘Magento_Email’:
[Progress: 215 / 272]
Module ‘Magento_Fedex’:
Installing data..
[Progress: 216 / 272]
Module ‘Magento_Sales’:
Installing data..
[Progress: 217 / 272]
Module ‘Magento_Checkout’:
Installing data..
[Progress: 218 / 272]
Module ‘Magento_GoogleAnalytics’:
[Progress: 219 / 272]
Module ‘Magento_GoogleOptimizer’:
[Progress: 220 / 272]
Module ‘Magento_GoogleShopping’:
Installing data..
[Progress: 221 / 272]
Module ‘Magento_GroupedImportExport’:
[Progress: 222 / 272]
Module ‘Magento_GroupedProduct’:
Installing data..
[Progress: 223 / 272]
Module ‘Magento_ImportExport’:
[Progress: 224 / 272]
Module ‘Magento_CatalogRule’:
Installing data..
[Progress: 225 / 272]
Module ‘Magento_User’:
[Progress: 226 / 272]
Module ‘Magento_LayeredNavigation’:
[Progress: 227 / 272]
Module ‘Magento_Log’:
Installing data..
[Progress: 228 / 272]
Module ‘Magento_MediaStorage’:
[Progress: 229 / 272]
Module ‘Magento_ConfigurableProduct’:
Installing data..
[Progress: 230 / 272]
Module ‘Magento_Multishipping’:
[Progress: 231 / 272]
Module ‘Magento_Newsletter’:
[Progress: 232 / 272]
Module ‘Magento_OfflinePayments’:
[Progress: 233 / 272]
Module ‘Magento_SalesRule’:
Installing data..
[Progress: 234 / 272]
Module ‘Magento_PageCache’:
[Progress: 235 / 272]
Module ‘Magento_Centinel’:
[Progress: 236 / 272]
Module ‘Magento_Persistent’:
[Progress: 237 / 272]
Module ‘Magento_ProductAlert’:
[Progress: 238 / 272]
Module ‘Magento_Captcha’:
[Progress: 239 / 272]
Module ‘Magento_Reports’:
Installing data..
[Progress: 240 / 272]
Module ‘Magento_RequireJs’:
[Progress: 241 / 272]
Module ‘Magento_Review’:
Installing data..
[Progress: 242 / 272]
Module ‘Magento_Rss’:
[Progress: 243 / 272]
Module ‘Magento_CatalogWidget’:
[Progress: 244 / 272]
Module ‘Magento_GoogleAdwords’:
[Progress: 245 / 272]
Module ‘Magento_OfflineShipping’:
[Progress: 246 / 272]
Module ‘Magento_GiftMessage’:
Installing data..
[Progress: 247 / 272]
Module ‘Magento_CatalogSearch’:
[Progress: 248 / 272]
Module ‘Magento_Sendfriend’:
[Progress: 249 / 272]
Module ‘Magento_Shipping’:
[Progress: 250 / 272]
Module ‘Magento_Sitemap’:
[Progress: 251 / 272]
Module ‘Magento_AdminNotification’:
[Progress: 252 / 272]
Module ‘Magento_Tax’:
Installing data..
[Progress: 253 / 272]
Module ‘Magento_TaxImportExport’:
[Progress: 254 / 272]
Module ‘Magento_CatalogUrlRewrite’:
Installing data..
[Progress: 255 / 272]
Module ‘Magento_Translation’:
[Progress: 256 / 272]
Module ‘Magento_Ui’:
[Progress: 257 / 272]
Module ‘Magento_Ups’:
[Progress: 258 / 272]
Module ‘Magento_UrlRewrite’:
[Progress: 259 / 272]
Module ‘Magento_Integration’:
[Progress: 260 / 272]
Module ‘Magento_Usps’:
Installing data..
[Progress: 261 / 272]
Module ‘Magento_Variable’:
[Progress: 262 / 272]
Module ‘Magento_Version’:
[Progress: 263 / 272]
Module ‘Magento_Webapi’:
[Progress: 264 / 272]
Module ‘Magento_Weee’:
Installing data..
[Progress: 265 / 272]
Module ‘Magento_CurrencySymbol’:
[Progress: 266 / 272]
Module ‘Magento_Wishlist’:
[Progress: 267 / 272]
[Progress: 268 / 272]
Installing admin user…
[Progress: 269 / 272]
Enabling caches:
Current status:
Array
(
[config] => 1
[layout] => 1
[block_html] => 1
[view_files_fallback] => 1
[view_files_preprocessing] => 1
[collections] => 1
[db_ddl] => 1
[eav] => 1
[full_page] => 1
[translate] => 1
[config_integration] => 1
[config_integration_api] => 1
[config_webservice] => 1
)

[Progress: 270 / 272]
Disabling Maintenance Mode:
[Progress: 271 / 272]
Post installation file permissions check…
For security, remove write permissions from these directories: ‘/var/www/magento2/app/etc’
[Progress: 272 / 272]
[SUCCESS]: Magento installation complete.

[/code]

 

THANK YOU

If you made it till here, I’m thankful. If you find any kind of improvement or optimisation on what I demonstrated above, feel free to drop a comment below!
Cheers!

2015 Message & 2014 Retro of Michelangelo To The PHP Community

2015 Message & 2014 Retro of Michelangelo To The PHP Community

What Is This All About?

In January 2015, I reach out to some of the members and rockstars of The PHP Community. The objectives being about how these PHPers see 2015 and also about how year 2014 has been community-wise, PHP-wise and their own self.

So Let’s Hear From Michelangelo van Dam

from left to right: Michelangelo with 7PHP aka Khayrattee
from left to right: Michelangelo with 7PHP aka Khayrattee

Michelangelo needs no introduction as he has been featured on 7PHP more than anyone, you can have a look here: Michelangelo van Dam The 7PHP Rockstar.

>> How was 2014 for you?

2014 was an amazing year. We first started with our 5th anniversary of PHPBenelux Conference where we combined the perfect mix of content and social activities. Further throughout the year I was able to attend many conferences. A few local community conferences like SunshinePHP, LoneStarPHP, PHPWorld and PHP-T Serbia I attended for the first time and experiencing their enormous value they add to the local PHP development scene. I also attended other main-stream conferences like DPC, PHPTek, ZendCon and local conferences like PHPNW, PHPPoland and TrueNorthPHP where I got to meet new friends (like you Khayrattee) and new businesses. All in all a great conference year!

2014 is also the year of change: change in business, change in work and change in lifestyle. This change had a great impact on my professional and family life. Even though I was away a lot attending conferences around the world and traveling for work, I was able to make lots of time for my wife and kids and enjoyed every single moment with them to the fullest.

Work also brought me closer to new communities, like the PHP community in Frankfurt (Germany) and Pune (India). And this is where you see the power and the need for a local PHP community. It’s right there, in the mids of nothing that a local PHP community can make the difference. By bringing the trends and best practices to the locals, it extends the global PHP community scene and offers ways for local developers to reach out to each other.

>> How was 2014 for The PHP Community from your perspective?

Speakers of SunshinePHP Conference 2015
Speakers of SunshinePHP Conference 2015

The PHP Community is an awesome community and what I got to see this past year is that more people got involved either with contributing to PHP projects or advocating these projects. It felt as though a new spark ignigted the whole community and it felt great. The participation of companies, individuals and students in events was amazing and with new conferences popping up it makes it even more accessible than ever.

>> One thing that stood out for you in 2014?

I would love to say that meeting you Khayrattee was the highlight in 2014, but unfortunately something topped it the whole year. The enormous amount of security breaches and data leaks were the continuous headlines throughout 2014. Seeing companies cutting corners to save money and deal with personal data in a bad way gave the whole internet industry a bad name.

Being a web application developer means you continuously have to invest in best practices, security, design patterns and so on. This is hard, because a day only has 24 hours with about 8 to 10 hours you can spend on work. Even without the extra knowledge you need to have, it already is hard completing your assignments. But you need to invest in that knowledge if you want to ensure your work is safe, secure and maintainable for the future.

For years I’ve been advocating to write unit tests to ensure your work is doing what it needs to do and handles the rest in a good way. With these tests you can actually ensure and test the security of your applications as well, if you just know how it all works. Therefor it’s important to listen to people like Chris “Enigma” Cornutt and Anthony “Ircmaxell” Ferrara when they talk about security and encryption. Learn and understand the risks so you can protect yourself against the dangers.

>> How do you foresee things for PHPc in 2015?

L to R: Rafael Dohms - Khayrattee - Michelangelo at Miami 2015 for SunshinePHP
L to R: Rafael Dohms – Khayrattee – Michelangelo at Miami 2015 for SunshinePHP

2015 will be the extension of 2014 where more people will participate in what the PHP Community has to offer on a global scale. I also believe that more focus will be brought to kids and young adults to assist them getting passionate about web application development (or development in general).

>> Your New Year 2015 Message To The PHP Community?

I would love to thank everyone who have made PHP Community the most awesome tech community ever. It’s because of your big and small contributions that PHP is a fun technology that is changing the world and brings people together. It’s PHP that looks beyond gender, sexual preferences, religion or color of skin. They often say PHP is a glue language, and I firmly believe it’s not just true for technological perspectives but also for humanitarian perspectives. With PHP we can unite the world!

>> One of your New Year Resolution?

Michelangelo Opening His 7PHP Gift at Miami 2015 for SunshinePHP
Michelangelo Opening His 7PHP Gift at Miami 2015 for SunshinePHP

I want to invest more time in the future and become more active in organisations like code.org and coderdojo.org that help kids get familiar with coding and technology. Nothing is more rewarding than seeing kids eyes shine bright when they complete a technology puzzle, build their first robot or have a bunch of lights flicker. I hope this small contribution will be my part to make this world a better place.

This leaves me to the end of this interview. All I have to say is thank you Khayrattee for all that you have done for the PHP community! And to all of you reading this: thank you for being part of the greatest community ever!

The PHP Community Is Also About Promoting Lifestyle Changes & Nurturing Healthy Habits – Get OnBoard #BiggestLoserPHP15 With Coderabbi! #CommunityWorks

The PHP Community Is Also About Promoting Lifestyle Changes & Nurturing Healthy Habits – Get OnBoard #BiggestLoserPHP15 With Coderabbi! #CommunityWorks

The PHPorce, In You It Resides!

Community Is Family
Community Is Family

Three days back (that is last Friday 20th March 2015) our living PHP Community Legend, our PHP Icon, our own Mr Cal Evans tweeted something profound which most of us in one way or the other understand – if you have the ability to view it by summoning your PHPorce. No your 3D glasses will not help here. This force is not something gauged through your PHP or programming skills, but something that goes beyond.. “This, The Magic, Can Just Be Felt & Shared With..” ~ a whisper from far away coming from The Tree Of Soul

“I am beginning to think that the PHP community is something unique in tech… and I’m starting to try to figure out why” ~ Cal Evans
REF: Read Cal’s Tweet in here

Now if you are not one among us The PHP (Jedi) Community, this might just be a fade for you. I don’t blame you. But don’t blame us either when we say something that might just be in a time where ‘it’s has never been so true and magical than ever.

The PHP Community Helps Each Other In Myriad Ways..

The elePHPants (as we name ourselves thanks to our ‘PHPère Spirituel’ aka Mr Vincent Pontier) code, play, skirmish, eat, cry, drink, dance, party hand in hand. We might not be perfect at handling internal house matters, but we excel at Being A Community with a keen sense of #CommunityMatters, #CommunityWorks AND above all #CommunityIsFamily! YES! We are a Family!

This time, one of our elePHPants, another famous PHP RockstarCoderabbi – came with an idea which is The #BiggestLoserPHP15 Challenge!

What is this all about? Do you have what it takes to accept that challenge? Read on!

And Now The Interview With Coderabbi About #BiggestLoserPHP15

>> Hi Coderabbi, could please tell us about yourself

I’m an independent software developer, consultant and coach.. and Rabbi! I’m the founder and organizer of the ShorePHP User Group and co-organizer of the New York PHP User Group as well as an active participant in the PHP Mentoring initiative. I’m also a frequent conference speaker and I blog at coderabbi.github.io.

Coderabbi aka Yitzchok Willroth
Coderabbi aka Yitzchok Willroth

>> Since Sunday 4th Jan this start of the year, you have made like a buzz within the PHP community on Twitter about this: #BiggestLoserPHP15
So tells us about it, what it tries to achieve – the whole story behind?

#BiggestLoserPHP15 is the hashtag for a social weight loss challenge in the PHP community. Over 90 members of the community are setting weight loss goals, participating in weekly weigh-ins and challenging each other to meet their goals over a four month period. I’ve been overweight for years and never thought much about until I was diagnosed a few months ago with Type II diabetes. With that diagnosis comes a pretty definitive mandate for lifestyle changes – diet and exercise… weight loss.

Eat Healthy (Thankful to my wife for the quick Salad preparation for this post)
Eat Healthy (Thankful to my wife for the quick Salad preparation for this post)

>> What motivated you to come up with this initiative?

I knew I was not the only one who would benefit from lifestyle changes, and I’ve a penchant for community-building activities, so it came to me relatively naturally.

>> I understand, it’s like a personal challenge?

Absolutely. Misery loves company as they say, so I figure if I’m going to have to make lifestyle changes, it’d be easier to do with a support system… so I’m building one!

>> Is there any time-frame or an end time?

The final weigh-in is Monday, May 4th. Hopefully the healthy habits we’re building together will continue well beyond the challenge period, though.

>> Any reward involved..?

The primary reward for everyone is of course improved overall health. There is a ‘competitive’ division for those who feel they’d benefit from an extra incentive. Participants in that division are each contributing $50 to a prize which will be awarded to the winner.

[NomadPHP – 19th March 2015 Tickets] – Win (Two) Free Ticket(s) To Hear A Talk scheduled for EU time or US time!

[NomadPHP – 19th March 2015 Tickets] – Win (Two) Free Ticket(s) To Hear A Talk scheduled for EU time or US time!

Help Someone Win If You Already Have A Ticket

If you already have a ticket or if you are not planning to be in, please share this with someone who can benefit from it. I have nothing to gain here, it’s a humble and generous donation which is made possible by Cal Evans of NomadPHP. So help someone learn some cool stuff freely. Cheers!

How To Win The Free Ticket

NOTE: You can participate for BOTH the US & the EU sessions – just mention EU or US in your message!

Info:

1) Make a Tweet and say something about The PHP Community or why you use PHP.

Note:

i) Use the Hashtag #NomadPHP and/or #7PHP in your tweet please so that I can track things easily *thank you*

ii) You could also mention @7php and @NomadPHP in your tweet – this is optional

2) If you do not use Twitter, just send me an email instead at w@7php.com

All The Best!

What Talks Are Scheduled This Time?

1) European Time Session:
Rafael Dohms will be presenting Composer The Right Way

2) US Time Session:
John Coggeshall will be presenting: Virtualization for Developers

There are all the info you need to know in their respective landing pages. But if you have any question, you can always tweet to @NomadPHP and/or @7php with your questions

If You WIN, How To Proceed?

1) I will give you a 100% discount code and you just have to register for the event via the link on nomadphp.com. You will not have to enter credit card, you just have to create a normal account and use the promo code. If you already have an account on eventbrite, you already know the drill.. cheers.

Deadline

=> I will make the draw and finalize things on Wednesday 18th March, late night around 11p.m (GMT+4).

Refreshing Thyself – What Is This About?

 

Win Free Ticket(s)
Win Free Ticket(s)

 

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
7PHP with Cal Evans - The PHP Icon
7PHP with Cal Evans – The PHP Icon
[NomadPHP – 19 February 2015 Tickets] – Win A Free Ticket To Hear A Talk scheduled for EU time or US time!

[NomadPHP – 19 February 2015 Tickets] – Win A Free Ticket To Hear A Talk scheduled for EU time or US time!

Refreshing Thyself – What Is This About?

 

Win Free Ticket(s)
Win Free Ticket(s)

 

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
7PHP with Cal Evans - The PHP Icon
7PHP with Cal Evans – The PHP Icon

How To Win The Free Ticket

1) Make a Tweet and say something about The PHP Community or why you use PHP.

Note:

i) Use the Hashtag #NomadPHP in your tweet please so that I can track things easily *thank you*

ii) You could also mention @7php and @NomadPHP in your tweet – this is optional

2) If you do not use Twitter, just send me an email instead at w@7php.com

All The Best!

What Talks Are Scheduled This Time?

1) European Time Session:
Joe Ferguson will be presenting Laravel Forge: Hello World to Hello Production

2) US Time Session:
Jeff Carouth will be presenting: Dependency Injection, Dependency Inversion, and You

There are all the info you need to know in their respective landing pages. But if you have any question, you can always tweet to @NomadPHP and/or@7php with your questions

If You WIN, How To Proceed?

1) I will give you a 100% discount code and you just have to register for the event via the link on nomadphp.com. You will not have to enter credit card, you just have to create a normal account and use the promo code. If you already have an account on eventbrite, you already know the drill.. cheers.

Deadline

=> I will make the draw and finalize things on Wednesday 18th February, late night around 11p.m (GMT+4).

 

Happy NewYear2015 Message From David Heinemeier Hansson (DHH) To The Wider Programmer Community

Happy NewYear2015 Message From David Heinemeier Hansson (DHH) To The Wider Programmer Community

Who’s David Heinemeier Hansson aka DHH

David Heinemeier Hansson The Creator Of Ruby on Rails
David Heinemeier Hansson The Creator Of Ruby on Rails

Back in March 2013, I was honored to interview DHH for the first time. For those who might not have heard about him, David Heinemeier Hansson is the creator/father of Ruby and Rails. Yeah, I know! That’s not related with PHP, but the Programming world is Universal.

Let’s Hear The New Year Message From David Heinemeier Hansson

>> Hey DHH! How has 2014 been for you?

I’ve enjoyed every of my 35 years so far. 2014 fit the pattern!

>> How was 2014 for The Wider Programmers’ Community from your perspective?

Everything Is Awesome as far as programmers go, I’d say. Demand for skilled programmers is at all time highs, the tools have never been better, and there’s never been more domains to apply your trade in.

>> One thing that stood out for you in 2014?

Cycles that repeat. Library vs Framework. Maturity vs Newness. Rediscovering the wonders of the web.

>> How do you foresee things for Programmers in 2015?

I try not to make predictions about things that haven’t happened yet. Instead, it’s easier just to spot which existing trends will gain more prominence. I think more programmers will grow disillusioned with the JavaScript All The Things approach and the complexity they’ve been willing to adopt under that banner, and pull back.

>> Your New Year 2015 Message To Us (all fellow Programmers across the globe)?

Isn’t it awesome? We get paid to play legos in our mind and text editor. Hallefuckinglujah!

Happy NewYear2015 Message From Stefan Koopmanschap To The PHP Community

Happy NewYear2015 Message From Stefan Koopmanschap To The PHP Community

Who’s Stefan Koopmanschap?

I previously did a PHP interview with Stefan aka Skoop on twitter, which you can read here! And as I also mentioned in my November 2014 post, I was honored to meet him in person back in Oct 2014.

Stefan Koopmanschap and Me (7PHP)
Stefan Koopmanschap and Me (7PHP)

 

Let’s Hear The New Year Message From Stefan Koopmanschap!

>> Hey Skoop! How has 2014 been for you?

Crazy. It was a very busy year work-wise with things like WeCamp and big projects for big customers. It also contained the start of my “year off of conferences”. There’s been so much chaos in my work and in my life that I needed some more focus.

>> How was 2014 for The PHP Community from your perspective?

I think it was great. More structure is coming for both PHP as a language and for projects. The FIG is working on good things, we’ve gotten some new elePHPants, and there’s more focus on working together. More projects are adopting existing solutions instead of wanting to build their own solutions. That is a good thing.

>> One thing that stood out for you in 2014?

I attended my first DrupalCon, and it was an eye-opener. Their community is so open and welcoming. Drupal has always been something I avoided because from a technical point of view I don’t really like it, but their welcoming and inclusive attitude is something we can all learn from in the PHP community. Sure, Drupal has some things to learn from us as well, but we can definitely learn from them.

>> How do your foresee things for PHPc in 2015?

With more and more projects adopting existing open source code I think we’ll see more communities coming together. This will offer challenges (because not all communities are alike) but also a lot of good things (communities learning from eachother). Although PHP7 will come, adoption will probably not be huge. We’ve seen this happen in the past. It will probably take until 2016 or maybe even 2017 before PHP7 adoption will be big.

>> Your New Year 2015 Message To The PHP Community?

I hope everyone will have a safe, healthy and happy 2015.

>> One of your New Year Resolution?

Blog more. Not just about technology, but also about experiences, lessons learned. I’ve found that information on technology can be found in many places, but sometimes it’s more important to hear about someones experience with something.

Know Thy PHP Conference Know The PHP South Coast Conference – It’s All ‘About & For’ The PHP Community

Know Thy PHP Conference Know The PHP South Coast Conference – It’s All ‘About & For’ The PHP Community

Purpose Of This ‘PHP Conference Interview’ Concept

This is the #3rd set of Know Thy PHP Conference in an attempt to create more awareness of:

  • what is $this PHP Conference about + get to know the people behind it
  • what is a PHP Conference in general
  • what is involved in organizing a PHP Conference
  • what is a PHP UnConference (I will try to fit that in wherever possible)
  • to personally know all the PHP Conference Around The World – that excites me and I hope you too!

This concept is also a good opportunity for (new) elePHPants to know about all these things and conferences going on. My message and aim in this respect is: [ (Read + Observe + Learn) => Do_It_Thyself]. Everything is possible, let’s get going. let’s do this!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP Conference” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Note:

Welcome To The PHP South Coast Conference

>> Could you, the leader(s), tell us a bit about yourself

I’m James Titcumb or known on Twitter and IRC as “asgrim“. I lead the PHP Hampshire user group and the PHP South Coast conference itself. For a day job I work at a life insurance comparison website, Protected.co.uk.

from left to right: 7PHP with Asgrim (James Titcumb)
from left to right: 7PHP (Khayrattee Wasseem) with Asgrim (James Titcumb)

>> What is this conference about?

This conference is a gathering of three user groups in the south coast of the UK – PHP Hampshire, PHP Dorset and BrightonPHP and is a real community offering. We want to make this conference all about the community and helping each other learn.

>> When was it first launched?

This will be the first year! We got together to first “officially” discuss our plans in the evening before the PHPNW14 conference, so I guess you could say that our conference was born on 3rd October 2014. I think because we are making sure this conference is aimed squarely at the community, the community have offered us loads of help already, in particular some of the PHPNW team have given us loads of really great advice, which we are really thankful for.

>> Place it will be held?

The conference will be held at a really amazing venue – the Action Stations venue in the Portsmouth Historic Dockyard. It’s a really stunning location – you’ll be surrounded by the best maritime history in the British Navy and you’ll be able to have a close up look at notable historic ships, HMS Warrior and HMS Victory for example. The venue itself is amazing and even has a laser quest arena!

>> How did the idea and motivation come from?

The idea for this conference came from discussions long ago. When we started the PHP Hampshire user group, we always thought “it would be really cool to run a conference too“, but knowing the immense amount of organisation and planning that must go into it, we were focussed initially on getting the user group off the ground. We felt that now is the right time – we have stable and brilliant user group so we feel that, along with the Dorset and Brighton team, we can really make this a great conference.

>> What are the objectives and aim of this conference?

The aim of our conference is to build further an already great community into something even more incredible. We want to make sure that everyone has as much opportunity to learn new things and integrate with other developers in the area.

>> Could you briefly tell us about the key people behind this conference and their respective roles

This conference is not necessarily about the “people”, but it is about the community – specifically, the triad of user groups on the south coast in the UK – PHP Hampshire, PHP Dorset and BrightonPHP. The leaders of those user groups are me (PHP Hampshire), Dave Baker (PHP Dorset) and Rich Sage (BrightonPHP), and we are the leaders of the organisation team. But there are many members of those user groups getting involved with helping everything run smoothly.

>> How is the task dispatched among the team?

We have two meetings a month via Hangouts, where we chat and delegate tasks accordingly. We have team leaders for various departments (e.g. stationary, speakers, sponsorship etc.).

>> How do you go about finding sponsors, what are the key aspects to successfully find sponsors

Contacting sponsors is difficult, but we are targeting both local companies who would benefit greatly from being involved in the conference, as well as globally recognised brands who love the community spirit. To me, sponsoring a conference should be a no-brainer for a company – it is possibly some of the best exposure a company can get for their brand name. For us, we are looking for sponsors who understand the community and want to get involved in the right way. If this does not happen the right way, it can be damaging to both the conference and the company, so it’s important we get it right.

>> Challenges involved in finding sponsors?

For me personally, getting companies to listen is the hardest – some companies see the value straight away, but other companies don’t see the benefits and still think “what is in it for me?” Those companies do not realise the wider picture in that they are getting long-term exposure and should be involving themselves in the community in order to really benefit. It is not as simple as just “buying” into the community – those sort of companies are easy to spot a mile off and may not represent the best sponsors.

>> What unique opportunity does organizing a PHP Conference, presents?

It is great learning from other conference organisers and seeing the “other” side of everything going on. It’s an awful lot of work, but I’m confident we can deliver a good conference that we can work on and improve in future iterations.

>> On what criteria does the team select speakers, what are the key areas that you seek to select a speaker

We will be having two “rounds” of selection of the speakers. The first is a “blind rating” round, where the whole organisation team will have an opportunity to rate each talk – but they will only see the talk title and abstract, no personally identifiable information. We will then order the talks by this rating and then a small selection committee will review and finalise the talks and schedule, based on whether we can afford to pay travel costs, ensuring diversity in many areas, such as topics covered, demographic and also experience. We are looking to achieve 40% new speakers to give lesser experienced speakers a chance to get that much-needed experience.

>> How is it different from other PHP Conferences?

This conference we want to ensure is a community-based conference – the venue is unique and we really want to inject some of the spirit of the south coast into this conference to make it something really special.

>> When is the next one scheduled?

The inaugural conference will be a one-day conference with two tracks, on 18th July 2015.

>> How is organizing and running a conference different from organizing a user group

It is immensely different! With a user group there is not too many things to worry about, but when you want to organise a professional-level conference, there is so much more to think about! The great thing is, we are all UG organisers so we can learn off each other too.

>> Your message to the people who are going to attend it

I really hope you enjoy our first conference! Let us know how we do on Joind.in after you’ve attended so we can make the 2016 edition even better 🙂

>> Any other things you want to mention/share?

I would like to really thank everyone who is helping us, giving us advice, the organisers team, and all the great community people – whether that is UG organisers, conference organisers, developers – anyone who is helping to make this conference a reality!

The Black AmsterdamPHP elePHPant – A New PHPamily Member Is Born

The Black AmsterdamPHP elePHPant – A New PHPamily Member Is Born

What Is This About

Today I have the pleasure and honor to welcome Rafael Dohms the 2nd PHP ninja turtle (the other one being of course Michelangelo van Dam) on 7PHP, after his first which dates back to April 2012. Rafael has recently come up with an awesome initiative (some days back): the elePHPant family will soon witness the arrival of a new family member – The Black elePHPant. This will thus expand the magical color-combination of the PHP mascot, aka the elePHPant, with a new branded color – that of the black & red color of the Amsterdam PHP Usergroup. Do you want to know the whys & hows behind this initiative and the mystery behind the dark black elePHPant? Read on!

And Now The Interview

>> Hi Rafael, it’s been long since you featured on 7PHP. That goes way back in April 2012. So update us a bit about yourself, where you are currently, what you are doing and what are you planning – project/community wise.

Rafael Dohms

It has been a long time indeed. A lot happened since then, including me having to take a bit of time off from everything to deal with some personal issues. But now we are back on track, I’m currently working at a company called Symbid which is diving into the new financial market of crowd and equity funding, its a interesting challenge.
On the side of that AmsterdamPHP is still in full swing and i’m also giving a side project called Podtrack (podtrack.me) some on and off attention.

>> How does the PHP ecosystem looks like in Amsterdam? Is there a lot of prospects in terms of PHP work and passionate PHP guys?

PHP is booming in Amsterdam. Every month we find or are found by new companies who want to get involved with AmsterdamPHP and who are of course, looking for new developers. We have a great and wonderful set of passionate guys, and more and more have stepped up to help and get involved with AmsterdamPHP.
When you got names like Erika Heidi, Frank de Jongue and all our active enablers, you can’t really go wrong. We even have Ross Tuck hanging around along with Shawn McCool which add so much to our knowledge base.

>> You are a founder of the Amsterdam PHP – tell us a bit about that usergroup, why did you create it and what is its objectives

Amsterdam PHP Usergroup Meetup
Amsterdam PHP Usergroup Meetup

AmsterdamPHP has been a wild ride, i’m no newbie to the UG scene, but this one has grown further and faster then any before, powered by this unique combination of technological hotspot and social developers that Amsterdam has.
Back in 2012 me and Frank van de Brink created the group to cover the gap between PHPBenelux meetings, and from that moment till now it never held back, we visit different companies every month and they just keep showing up.
The idea of the group has many fronts, the main objective is to share knowledge and empower the community, but in the process we also connect developers and companies, meaning everyone has the right information to decide if they are working where they would like or if they have the developers they need. One great side effect of that is we also form various bonds between developers, effectively making friends, not just peers.
Working on creating those friendships, we launched a new project this year, with the help of Ross Tuck’s wife, Aisha, we are hosting game nights. We hang out in a backroom of a pub and play board games all night, its a lot of fun, i recommend it to all UG leaders. Games like Munchkin and CAH are just awesome.

>> You have just started a kickstarter some days back and it’s already (30th Nov 2014) at an amazing €14,351 – with the pledged goal at €15,000. How and why did you come up with this idea? What message are you diffusing with this awesome initiative?

The AmsterdamPHP elePHPant
The AmsterdamPHP elePHPant

It has been a long standing dream of many PHP UG’s i guess, to have their own PHP ElePHPant. We are no exception. After seeing php[arch] and PHPWomen successfully launch kickstarters we decided we could finally do this.
Me and the other enablers (Pascal, Jakub and Jeroen along with Frank who has since stepped down) got to talking and trying to figure out if this was doable. Black and Red are the colors of Amsterdam and we wanted to see a Black elePHPant, one of the last colors not yet done.
More then that we really love the work AmsterdamPHP has accomplished, the community we have built and we want to inspire all our members and even the rest of the community to feel proud of this and to be motivated to be more, to be awesome. We hope having this mascot at home will bring up those feelings in everyone.

>> Now since the goal will surely be met anytime soon, I consider it already a hit. What is your feeling? The Community has responded amazingly to your call – what’s your message or comment to The Community.

The response has been amazing. We were expecting to be successful for sure, but to be so close to the goal in less then 5 days is just amazing. The comments and reactions we have seen so far are humbling and completely awesome.
This is still not a done deal, we still need everyone to come out and secure their little fellow, the 15K goal will be enough to fabricate them, but we need to go a bit over to cover shipping costs and raise some funds for the UG which also has its running costs.
Its worth noting that our UG is a not for profit organization on paper, so basically everything that goes into it, will be invested into our actions and events.
All i can say is thank you to everyone who pledged, shared and cheered us on, its an amazing ride and we are all freaking out in our chat channel.

>> For those (like me) who do not know what’s really involved behind the scene in putting forward this kind of initiative – could explain to us the difficulties, the excitement, the things-to-know when considering such a step

We knew this would be no small task, and yep, its a huge one. We have been crunching numbers, making calls, freaking out over how cool they are and cycling through giving up and restarting again for over 3 months in preparation.
We have gotten advice from my own company on crowdfunding and talked to previous campaigns like i mentioned above.
We have most of the facts, but things like shipping and estimating how many people will pledge is extremely hard. There is still a lot of guess work here.

>> What are the next steps after the funding is successful and how easy or difficult will those be?

Once we hit funding we start working out the manufacturing step. This is still a lot of work, we need to order 900 to make this happen, once we work over the costs we then need to wait for delivery and then comes the real hard work of shipping them to their families. This means having a bunch of people help out with boxing and labeling and all that, and working out the final shipping costs.
This shipping is still a worry, we cannot be fully certain we have covered the costs for all countries that ordered. Right now we have already sold over 415 elePHPants, ideally we hit 900, that should ensure we have no “unknown” costs.
This means not stopping at 15K, but pushing ahead and trying to get as many people in as possible.

>> Also, I saw that some people found the $15,000 target high. Could you explain to them the why’s of this target?

15K is actually pretty low for this campaign. We do not have any funds to invest into this, so we really need everyone’s help and sponsors to get it sorted. The goal will cover all the manufacturing and delivery, but Kickstarter also includes all the shipping costs in that goal, so a part of it still needs to be covered. We are selling elePHPants at near cost, with a bit of a margin to cover the “extras” this includes dealing with Dutch Taxes, filing paperwork, shipping and handling, as well as lots of human power for the packing stage.

Since custom elePHPants require a minimum order of 900, that’s our goal. If we could make only 400, then yeah we would have a lot lower goal. We are not aiming at any profit here, but hopefully by the end we manage to get some reserve to cover our monthly expenses and maybe do something cool next year for the UG and community in general.

>> Since the original mascot is attributed to Vincent Pontier, is there any kind of agreement or notification that you need to engage with Vincent prior to going on your own branded elePHPant?

Vincent Pontier aka Elroubio - Creator Of elePHPant
Vincent Pontier aka Elroubio – Creator Of elePHPant

Yes, step number one for us was talking to Vincent and his partners at Open Goodies. And they are amazing people, he gave us all information, cheered us on and made the preview you see right now on the homepage of the project.

When I saw this image i knew we had to make it, at that moment i knew we had to go ahead and get this done, they look so amazing, i’m totally in love with them.

Production of the elePHPants happens through Open Goodies, its with them that we negotiate, plan and order all of this and they are very supportive. Vincent loves his creation and is very excited to support any actions around them. If you want to do something like this, start with him.

>> Was it something easy for you or you had doubts, but just wanted to do it anyway?

Not easy at all, the only easy thing was falling in love with the mockup, that was very easy. We have been hard at work to do it and figure out shipping, which to us is still the big risk, will we get the prices we expect, will we have to pay more. It could be we charged too little, but by our best calculations everything evens out at the end. Still its something to see when we start getting an idea of where we are shipping them. I already see places like Australia, Brazil and Mauritius, which will be challenges 😛

>> Would you recommend any user group to start such a campaign?

If you got the drive, the people and the time, sure! The more elePHPants the better, but its not by far easy. Dealing with all the fees, government regulations, import/export stuff can be very complex depending on your country. We also found shipping from NL to be very expensive, so we went looking for specialized companies that could offer better costs.

>> Last but not the least, do you have any other message to convey?

We are all just waiting to be awesome, so BE AWESOME. My goal in life is to open ways for people to be as awesome as they can be. If this adventure we have embarked on sparks more people to give their insane ideas a try, its a win in my book.
Other then that i would like to thank, first of all my co-organizers for all the work and passion we have put into this. And the community for backing us, and helping this on its way to be a reality.
Thank you all so much.

7PHP Attended PHP North West In Oct 2014 – Emotions & Review of #PHPNW14

7PHP Attended PHP North West In Oct 2014 – Emotions & Review of #PHPNW14

A Small Intro..

PHP North West 2014 was the first PHP Conference ever that I attended. I was full of emotions and excitement – this conference has a special meaning to me, it was like a ‘magical dream but in reality!‘ (Urm, I hope you get that craziness, passion involved here). I was sponsored fully to attend PHPNW14 at the very last minutes – Read the whole story here!

The PHPNW Conferences aim to improve the skills of delegates whilst providing a platform for discussing the latest technology and innovation. The Conference is the largest of its kind in the UK, outside of London. Magma Digital played a key role in organising the event and were proud to be Gold level sponsors for the 7th year running.

~ Magma Digital

‘It’ Was There In Front of Me!

Manchester Conference Centre | Pendulum Hotel
Manchester Conference Centre | Pendulum Hotel

I arrived in front of the Manchester Conference Centre at around 9 a.m and my heart was throbbing – that’s it I was there – wow, how, magical! I could hardly realise all the emotions inside me, my wife whispered: “Wasseem you made it!! That’s the place where PHPNW is being held!“. Yes in case you are asking, I was there with my wife. That’s not something strange as I believe Cal Evans is also accompanied by his lovely and talented wife Cathy at some conferences. Yeah, I would *so* like to tread Cal Evans’ steps – that guy is an emblematic and sensational person aaand a phenomenal community guy! (HINT: See Cal Evans – The Icon Of The PHP Community). But that (my wife being with me) was not planned, it just turned out to be that way and that way it nicely was!

Door-Welcome by The Amazing Jenny Wong

As soon as I entered that first door, I was greeted by a yellowish-dressed young lady – she was of course Jenny Wong aka Miss Jwo. I recognised her instantly – we had skype video conversation 2 days before as she helped me a lot in sorting out my train tickets and so many other stuffs. Jenny is someone very active and helpful beyond limits – that’s an amazing spirit! And no wonder she was one of the volunteer helper person in the #phpnw14 team. She’s been very helpful to my wife too as she guided her to have a trip round Manchester while I was attending the conference – Jenny my wife also says you are simply too cool! #CommunityIsAmazinglyHelpful

Early Morning Registration

#phpnw14 registration
#phpnw14 registration

I set my feet inside the Manchester conference centre. There I saw the notice board and the welcome banner. I got down that small staircase and I was greeted warmly by Emma Parker. She recognised me instantly and said she was Emma – we previously exchanged emails a few days back. She was someone very welcoming, always having a nice smile. She knew this conference was my first, so she helped me getting accustomed to the stuffs – she was just brilliant – thank you very much Emma. Then I did the round of the tables, collecting my #phpnw14 t-shirt and the swags. Yay! My first conference swags  – awesome! Thank you EVERYONE! #BeingThereWithCommunityIsHappiness

#phpnw14 swags
#phpnw14 swags

The Welcome Speech By Jeremy Coates

phpnw schedule
phpnw schedule

The first room was completely crowded, so I had to take the 2nd one. This meant we were seeing like a live virtual video of Jeremy who was talking in the other room. Jeremy Coates is a fantastic guy and as you know he’s the founder/organiser of the PHP North West Conference. His insight, his courage, his perception, his motivation, his professional attitude, his passion for the community, his eagerness to sustaining this conference to the quality and magnitude are beyond perfection! I say sustain because I already heard countlessly among the PHP Community folks that this conference was one of the greatest and most brilliant conference of its kind. #CommunityIsPassion

After being there myself, I can only confirm that statement when I see how things are done conscientiously coupled with how the “community spirit & warmth of a family” are the backbone of everything in there. I had the honour and pleasure to have had a few chats with Jeremy – I could see that flaming passion inside him. I could see how far-sighted he is. I could feel how humbled & more-determined-than-ever he was (is?) to sustaining PHPNW to the level he and his team (the amazing Magma Digital Team) brought ‘it’ into! Jeremy hats off to you and your team, may God Bless all of you to keep that kind of humble, sincere, pure and vibrant spirit going on and on and on! #CommunityIsFamily

Jeremy Coates with 7PHP aka Khayrattee
From left to right: Jeremy Coates with 7PHP aka Khayrattee

Day 1 – Keynote by Anthony Ferrara

Anthony, developer advocate for Google Inc. & PHP security expert, delivered the keynote on “PHP Changed the World of Programming“. I have always heard good things about Anthony’s talks and I have been hearing him on podcasts and all, but being there and actually attending his talk was awesome!

He made an inspiring talk and I’m sure he incited most of the people to the wayby working together as a community it is possible to achieve miracles‘. This guy is thought-provoking. Even thing that seems otherwise trivial, starts to flow like something ingenious inviting the listener to react in himself: “go take that step, you are responsible to make things happen, you are responsible for the rise (and fall) of a whole community – so make the right decision!” He spoke about the dangers of forking a community, I completely agree to the wave that’s been emerging more and more recently: ‘splitting communities‘. I’m not saying that if you make a GreatThing Y, you should not make a community around it – by all means if you are passionate, do it! *But* it’s your (ethical) responsibility to educate and inform your community to acknowledge, respect, contribute and boost the root – The PHP Community. [A true Hero you are,  if you do this] As Anthony said: “amazing things can be achieved if we unite as ONE Community”. #CommunityWorks

7PHP aka Khayrattee with Anthony Ferrara
from left to right: 7PHP aka Khayrattee with Anthony Ferrara

Davey Shafik – The Best Bits

I attended Davey’s talk. He was also among those guys that I wanted to listed to. He talked about ‘PHP 5.NEW: The Best Bits‘. He made a good summary of all the new things in the recent PHP versions. But I felt the pace was too fast and I did not have time to digest the examples. The ‘iterator’ part seemed to be a bit confusing though (to me perhaps I was too much overloaded with emotions). Since there were so many list of stuffs to be accounted as new features/changes, I do agree though it’s not a simple thing to deliver in a talk – so I would say it was a good job.

On the side, I was very happy to meet Davey Shafik in person. He is a very humble, friendly and interesting guy. His passion for The PHP Community and his job at EngineYard is fascinating. I would strongly recommend you read his ‘On Love, Open Source, and Community‘. One thing that amazed me, is that he always goes almost everywhere with his big pink #elephpant in his left arm, incredible relationship in there. And I was very touched when I came in front of him and said: ‘hey Davey Shafik, I’m Khayrattee 7PHP’, he immediately came to shake hands while saying: “Oh, 7PHP!”. Thank you Davey, you rock! #elephpantIsAnAmazingFriend

Davey Shafik with 7PHP aka Khayrattee
from left to right: Davey Shafik with 7PHP aka Khayrattee

 

Hey Sara Golemon!

Before I went to listen to Sara’s talk on “What a Hack!”, I met her while I was on my way to a cup of coffee. (damm UK’s got some incredibly-good coffee, I miss that!) I still remember I saw Sara crossing my path and I immediately shouted with enthusiasm: “Hey Sara!!” – yeah I was so happy to see her. Then she turned back to see and she seemed puzzled. Then I said “I’m Khayrattee of 7PHP”. I was yet again overwhelmed as she said “oh 7PHP” and there she came to shake hands.

Back to her talk, Sara is a very lively and jovial speaker. I like her voice tone and the way she can entertain her audience to keep them ‘in the flow’ with her. She’s a good speaker with no doubt. She’s very knowledgeable, very intelligent and knows her stuffs too well. From her talk, you can feel the passion that she has. It was a good talk on HHVM, although I admit I could not digest all in there – it was too overwhelming for me all that at once. But definitely an informative talk with objective point of views.

7PHP aka Khayrattee with Sara Golemon
from left to right: 7PHP aka Khayrattee with Sara Golemon

 

Jenny Wong’s Uncon Talk

Jenny Wong - Inspirational Community 'Guy'!
Jenny Wong – Inspirational Community ‘Guy’!

Just after having a quick (yummy) meal for lunch time, I rushed to attend Jenny’s uncon talk which was timed inside the lunch time actually. I was not to miss her talk as it was about ‘Integrating Communities’ and I felt she had a lot to say and show. Besides I love to stay tuned to community that this was a talk I would never had missed. I entered the small room, it was almost filled. I sat just behind Anthony Ferrara who was having his awesome Canon ready for some shots.

Jenny was phenomenal [full-stop]. She was amazing, she had a lot lot lot of energy + passion + commitment + caring attitude for what she was talking about: “helping the WordPress Community integrate the wider PHP Community“. You could feel how she was true and connected to that cause. Wow! Jenny for me you were the winner of uncons in there and you won the respect, admiration and consideration of so many of us – wish you all the very best in your WordPress_Bridge-in_Community! #CommunityBridgesRelationships

 

Live Coding With Derick Rethans

Derick rethans, the father of Xdebug, talked about ‘Debugging: Past, Present and Future‘. He of course walked us through using Xdebug and then PHPdpg. What I enjoyed in this talk was that Derick did a live coding (as you can see in the pic below). It kept me curious as to what he was doing, how he was doing it and the tools he was using. I appreciate the fact he showed complete honesty and he was being natural. (Those who were there, will definitely relate to what I’m talking about). The one thing that could be improved though, Derick should have planned his talk, because you (or at least me) could see he was improvising. I strongly believe meticulous planning and a rehearsal would have made his talk stood out as an A or A+.

Else, I interviewed Derick back in Jan 2013, so meeting him now in person was awesome!

Derick Rethans doing live coding
Derick Rethans doing live coding

 

Michelangelo van Dam’s Uncon Talk

Michelangelo van Dam, our own 7PHP Rockstar, came on the set-piece like a PRO Ninja Turtle – he was full of confidence and he talked about ‘learning how to test legacy code‘. He has some pretty effective way of making code testable. He is a methodological guy. Overall, His talk was to the point with good advice hints. He showed us how he selected an existing legacy project from github and how he proceeds into making that codebase testable. Since it was an uncon, I would say the talk lived to expectation and I see it personally as an amazing ‘teaser to his incoming con talks – whichever place that would be‘ and thus I give him a 10/10 uncon talk. Aside from that, if you see it as a potential conf talk, I would say Michelangelo could opt for a live coding session going meticulously through each step – that would be awesome. (As I know challenges fear him, he could probably be doing it already)

Michelangelo van Dam talking about Testing Legacy Code
Michelangelo van Dam talking about Testing Legacy Code

Btw, do you know what’s the difference between an Uncon & a Con? Read: What Is An UnConference (uncon) & How Is It Different From A Conference? Michelangelo van Dam Explains!

After the talk, I followed Michelangelo (not refering to twitter here) and we had a good chat. One thing I really want to bring forward to those that know him only virtually: Michelangelo is a true passionate community guy, he would do anything and everything he cans for the sake of The PHP Community. He stays true and honest to that cause. So ALL that he preaches ONLINE, he is EXACTLY what you see in him in REAL-LIFE. It’s like ‘what you see is what you get’. And this is something that really goes beyond in oneself!

Btw a little secret, if you want to make him stop from ‘breathing+eating+sleeping’ PHP, just stop his Coffee intake; it’s actually like depriving the ninja turtle with pizza – goodluck! 😛

from left to right: Michelangelo with 7PHP aka Khayrattee
from left to right: Michelangelo with 7PHP aka Khayrattee

Last Talk for Day 1: Anthony Ferrara => Beyond Design Patterns

As goes with the french saying: ‘qui commence bien fini bien‘ (meaning what starts nicely, must finish nicely as well). So Anthony Ferrara delivered yet another awesome talk for the last one of DAY 1, this time on ‘Beyond Design Pattern’. Enough has been said about this guy, his talk and his personality = (Wise + Smart + Expert knowledge + Inspiring + A great way of communicating his message + effective & efficient talk). Anthony is simple ‘brilliant beyond brilliance‘. I can’t see any improvement here.

Evening Meal & Social

Late afternoon I went to explore Manchester at night and to try a kebabish-meal with my wife somewhere, after which I got back to the Conference Centre. I met a couple of unknown people, I exchanged some words and then I saw everybody drinking beers and all. I have to admit that I felt a bit awkward as I do not drink. But then I tried looking for Michelangelo (via twitter) and he came around immediately. Aaand damm we had a good time with Mr van Dam! We had a good chat and a nice photo-booth fun (thanks to Jenny who dragged us in there) as you can see from the pic below. After that I went to have another night walk around Manchester with my wife, as it was the first time we went to UK and specially Manchester. Sorry guys I did not stay for the evening social, and to participate in the card game – a game which I was told that Skoop aka Stefan Koopmanschap excels at!!

PhotoBooth with Michelangelo van Dam
PhotoBooth with Michelangelo van Dam

DAY 2 – Anthony Ferrara for High Performance PHP

The 1st talk of Day 2 started early at 08:45. But as it was my last day at Manchester, I opted to go for a day-walk with my wife to explore some other parts of Manchester. I was back in time for a 3rd talk by Anthony this time on High Performance PHP. This talk was really very technical and seemed to be complex (and it sure was), but Anthony really presented it in a welcoming manner which captivated us. Again, Ferrara has been lethal in his talk – the level of mastery that this guy has in the Programming world, is amazing!

Closing Keynote By Volker Dusch

Volker Dusch
Volker Dusch

Volker Dusch presented ‘Your Mileage Should Vary’ and man, he made a terrific presentation. I had clapped so many times during his presentation, he blew us completely with his nice voice tone, his humour, the feelings and emotions he linked with life scenarios and above all his messages. Wow, this guy should talk at all conferences, really!! (“The best choice, is actually to make one yourself” ~ Volker)

Improvements For #PHPNW

  1. One thing actually annoyed me though, it’s because the uncon talks and con talks overlapped – I identified both an uncon talk and a con talk that I really wanted to attend both, but I could not simply because they were scheduled as the same time.
  2. Secondly, several good conf talks were at the same time. While you can view the video afterwards, I do want to attend each as I’m already there and want to get that LIVE experience.

I’m not sure what’s the best solution here, but Organizers work on this by any means please – thank you!

Other Awesome People that I Met At #PHPNW14

The Coates’ Family

from left to right: Emma Parker & Sir Ian Coates with 7PHP aka Khayrattee
from left to right: Emma Parker & Sir Ian Coates with 7PHP aka Khayrattee

I was really honored to meet the Coate’s family – an awesome family and I was honored to have had a few word exchanges with them, I would like to convey my humble thanks and gratitude to the Coates’ family: Jeremy, Priscilla, Emma & Sir Ian Coates. You all rock!

PS: I’m sorry about the quality of this image, it’s unfortunately blurry 🙁

Stefan Koopmanschap aka Skoop

I’ve finally met Stefan, he is one of those guys that I was looking forward to shake hand with. Stefan you are awesome dude! Was honored & very happy to meet you! Also Stefan is the owner at Ingewikkeld and he gives his staff and ‘4 + 1’ day scheme where 1 day per week the team spends entirely on open source projects –  that is an amazing thing to do! I just wished every company that PHP, would implement such a humble deed!

Stefan and Me (7PHP)
Stefan and Me (7PHP)

PS: I interviewed Stefan back in Jan 2012 and meeting him in person now is an amazing feeling.

Jordi Boggiano & Derick Rethans

I had the priviledge to meet two awesome creators: Jordi Boggiano the Composer guy and Derick the Xdebug guy whom I interviewed back in Jan 2013.

from left to right: 7PHP with Jordi & Derick
from left to right: 7PHP with Jordi & Derick

Michelle Sanver – PHPwomen Co-President

I was also delighted to meet the co-president of PHPwomen, Michelle Sanver – whom I interviewed back in Oct 2013. I find her to be too cool of a person and very good at heart. When I saw her and presented myself, there was nothing to be said as “the community-fellowship and passion of our cause was there” – she instantly gave me a PHP-Hug. Michelle you were fantastic!

Michelle Sanver with 7PHP aka Khayrattee
Michelle Sanver with 7PHP aka Khayrattee

Paul Dragoonis – The PPI Framework Guy!

I was very happy to meet Paul Dragoonis whom I have interviewed twice back in Jan 2013. Something that really touched me, was that Paul came to look out for me. Suddenly I saw him in front me handing his hand for a shake and presenting himself and saying it was his pleasure to meet me. He extended so much good thoughts and support to me. *I was humbled*. Paul you are an awesome and very welcoming guy, I really appreciate all your kind words and support!

from left to right: 7PHP with Paul Dragoonis
from left to right: 7PHP with Paul Dragoonis

James Titcumb – One of the Organisers Of The PHP Hampshire User Group

I interviewed @Asgrim aka James Titcumb twice back in June 2013 and when I saw him I can just say: he’s a rocking guy! I like his personality, very confident, having his own voice and very gentlemen. James I was really happy to meet you!

from left to right: 7PHP with Asgrim (James Titcumb)
from left to right: 7PHP with Asgrim (James Titcumb)

Mike van Riel – The Rockstar behind PHPdocumentor

Yes, I met Mike van Riel: the lead of PHPdocumentor a project which he re-ignited from the dead! He’s someone that I was (and am) looking forward to interview. Very happy to meet him in person. Mike is a gentleman, he seems very meticulous and a jovial guy.

from left to right: Mike van Riel with 7PHP aka Khayrattee
from left to right: Mike van Riel with 7PHP aka Khayrattee

Lorna Jane Mitchell – The Project Lead Of Joind.in

I still remember I was sitting at the almost empty room of #phpnw after the final talk on that Saturday afternoon, I was having a lot of emotions going on in myself as I was still not believing I was there. Oops then just suddenly I saw two female faces in front smiling happily, they were Emma and Lorna. I believe Emma told Lorna I was 7PHP. Then I walked towards them and I was really humbled to see Lorna reaching out so welcomingly and happily. I almost *blushed* at that time. I still remember that moment. Next to them was Rob Allen who was next them as well..

PS: I interviewed Lorna – twice in 2012 & 2013

7PHP with Lorna Jane Mitchell
7PHP with Lorna Jane Mitchell

Rob Allen – Author Of the book ‘Zend Framework in Action’

Really delighted to meet Rob Allen, who I was honored to interview back in Nov 2012. After he heard 7PHP, he was very enthusiastic to shake hand with me – I’m really humble and thankful, you rock Mr Rob Allen!

from left to right: PHP Interview With Rob Allen with 7PHP aka Khayrattee
from left to right: PHP Interview With Rob Allen with 7PHP aka Khayrattee

Mark Baker – Awesome Creator of The PHPOffice library suite

I was enthusiastic to meet Mr Mark Baker, the awesome guy behind one of the most amazing open source projects: the PHPOffice library suite. I have been using PHPExcel so much last year, it saved my arse so many times and generating microsoft excel files perfectly and as I wanted. I was just sad I could not take a picture with him although we had a small intro/chat, thanks to Lorna & Rob who took me over to Mark in the lobby. But hopefully I somehow took a picture of him without realising (at that time) ..

Mark Baker entering PHPNW welcome entrance
Mark Baker entering PHPNW welcome entrance

The Omnipresent Cal Evans

Cal Evans was unfortunately not there at PHPNW, but he made his presence felt to me. He awesomely sent some cool NomadPHP and Pantheon (the generous & awesome sponsors of 7PHP.COM’s web hosting) Stickers to me via Mike van Riel. That was sooo coool from him! Thank you very Cal and looking forward to finally meet you *soonish*!!

NomadPHP Stickers
NomadPHP Stickers

 

Closing Remark

The pink elePHPants' Family of PHPwomen
The pink elePHPants’ Family of PHPwomen

I had a really really fantastic time. All those moments, I will cherish for a life-time. I was so sad to leave on that final day! I would like to thank each and everyone of you who contributed in my happy ‘trip’ there, you all are lovely people – I love you all! I do sincerely hope I can be back next year *being positive*.

Overall, PHP Nort West Conference was AWESOME! The way this conference was planned, is remarkable. And the entire crew was so friendly, supportive, attentive and jovial. There was a true family-togetherness in there. I guess that’s what we term as #CommunityIsFamily.

Viewing All Talks At PHPNW14

You can view all the talks and some slides on joind.in here!

Brett The Camera Guy

Brett The Awesome Cameraman
Brett The Awesome Cameraman

Also, I want to give props to the camera guy, Brett – man you did a great job with the videos, you rock! I was very honored to know you, I do hope we meet again! I find you very friendly and very helpful – wish you plenty of success ahead!
*hats-off to you dear PHP Community*
//Khayrattee aka 7PHP

A Glaring Example Of The Unique Spirit of The PHP Community => 7PHP Says Thanks To The PHP Community For PHPNW!

A Glaring Example Of The Unique Spirit of The PHP Community => 7PHP Says Thanks To The PHP Community For PHPNW!

What Is This About?

In October 2014, I attended my first ever PHP Conference which was at PHP North West in London / Manchester. But few of you actually know that this whole thing was magically made possible because of The PHP Community & it’s valiant members. #CommunityGivesBack

#phpnw14 swags
#phpnw14 swags

My Passion – I Somehow also PHPleep (as in PHP-Sleep)

7PHP Logo v2 - Designed by Vincent Pontier
7PHP Logo v2 – Designed by Vincent Pontier

Back in early 2013, I had a dream (during my sleep) that I was talking with Michelangelo and also Cal Evans at a conference. I remember I even tweeted about it at some point. That dream haunted me for a whole year. It haunted me even more when Cal Evans announced that I would be able to attend SunShinePHP in feb 2015 – this announcement was made LIVE on a NomadPHP session and is on YouTube here!

Each week, while drafting a 7php blog post, I was eager to be there at a vibrant PHP Conference. I feel so stiffed here on my island without those excitements and those things that passionate me. I feel an urge to mingle with the community guys and to be part and parcel of the PHP Community. That is one of the reason I created 7PHP.COM, to bridge that passion in me and to stay as close as possible with the PHP Community, despite being so remote (and may be alone) on my small island. I say alone because in Mauritius I’m yet to come across passionate PHP guys, as most of them here are just work-oriented / gain-oriented – no real sharing attitude. (If you are Mauritian and is reading this, please shoot me a message!) But that’s something I’m looking forward to change, not doing it right now as I have still things to settle in my life presently.

That Dream Came Into A Concrete Reality!! Magical!

phpnw14Nelly

Fast forward to now (Oct/Nov 2014), I am delighted, amazed, humbled, honoured and very thankful to The PHP Community as I have been able to attend a PHP Conference!! And that conference was PHP North West 2014 at Manchester / UK. I don’t know for you, but for me it’s like one of those most important things in my life. I can’t believe it, I met The Michelangelo van Dam – the green PHP Ninja turtle! I met the perfectionist Jeremy Coates. I met the PHP DJ Stefan Koopmanschap. I met the prodigious Composer guy, Jordi Boggiano. I met the security Expert, Anthony Ferrara. I met the creator of Xdebug aka Derick Rethans. I met Akrabat (Rob Allen) the author of Zend framework in action. I met the charming Lorna Jane Mitchell who is the project lead of the amazing joind.in. I met the rockstar behind HHVM, Sara Golemon. I met the hero behind PHPDocumentor, Mike van Riel. I met the enthusiastic lone ranger, James Titcumb. I met the passionate EngineYard guy, Davey Shafik. I met the awesome Mark Baker who created awesome libraries like PHPExcel. Aand all the other PHP Rockstars of The PHP Community (click to read about all that) – a bunch of whom I have had the honor to interview on 7PHP.com.

Wow, are all that even for real?! Pinch me please!! Damm, that feels *SOOO GOOD* down there in my heart, one of my dreams came true! All that because #CommunityMatters, because #CommunityWorks, because #CommunityIsFamily and because #CommunityGivesBack!! Oh yeah it does!

#CommunityWorks :: Community Has Always Mattered Though Not Conspicuous For some (most people?)

7PHP is a living example of how community works” – tweeted @skoop – who I also had the honor and pleasure to meet in person. So why did he say that and how did I even went there in UK/Manchester to attend one of the most privileged and quality-oriented PHP Conference? Me, a simple guy, who lives on a small island in the Indian Ocean, how?

HINT: The PHP Community is an ‘Avatar World‘ among all of the existing communities. The PHP Community is magical. The PHP Community is a family and it cares.

That Month September 2014 – Redbox Digital Came To Me..

Redbox-Digital

That end of month in September 2014, a UK-based company named as Redbox Digital – a Magento Gold Partner confirmed they are keen to hire me to help set up their Mauritian local branch on my island and that I will need to come to London quickly (quick as in the next 2 weeks’ time). I’m thankful to my CEO and Director Mr Jonty Sutton for having believed in me and for offering me such an opportunity. I’m also very thankful to my CTO Steve Desmet who brought me to the attention of Jonty. So all that being in itself such a great opportunity, also gave rise and opened up another opportunity for me instantly – I was blown away..

That Day! Michelangelo Opened Up ‘that’ Another Opportunity To Me..

That day, I announced this happy moment (I got a new potential job + going to UK) to my wife obviously. Also, I had actually never been out of my island Mauritius prior to that.

After that, I emailed a certain Michelangelo van Dam to share that incredible moment of my life. In this process, I also asked Michelangelo if by chance he would be around London as I would very much be honored to meet him. Michelangelo responded there would actually be a Conference at Manchester and he would be there.
Aaand guess what? That guy was not just any guy, he was The magical Michelangelo who is a community leader, a community booster, a community enabler, a community addict. So, let me just quote his sentence in the email:

“I’m at PHPNW14 early October. Do you think you can make it to Manchester? Let me rephrase this: YOU MUST BE THERE!!! Let me worry about getting you a ticket!!!” ~ Michelangelo

You could not imagine the happiness that brought into me at that instant.

from left to right: Michelangelo with 7PHP aka Khayrattee
from left to right: Michelangelo with 7PHP aka Khayrattee

Oh Wait! That’s Expensive For My Mauritian Rupee – (£1 = Rs52)

Happily and excitedly, I started preparing my stuffs to go to London when suddenly I got down on Earth and realized that going from London to Manchester was not like travelling in my small island from one place to the other. After looking up for the how-to-do-that via online means, I found out after I would land at Heathrow, I will either need to travel instantly by train to go to Manchester and find an accommodation/hotel to stay or I could travel back and forth from Central London (where Redbox Digital was sponsoring my business trip) to Manchester 4 times – Saturday and Sunday. Suddenly all that just came too much expensive for my current financial situation and UK’s pounds are far too much for my Mauritian Rupee (£1 Pound = Rs 52 Mauritian Rupees).
That day, I emailed back Michelangelo and told him that I’m thankful for his gift but I will not be able to have the necessary funds to reach there.

Either ‘You Are In And You Rock’ OR ‘You Are Out And You Suck’

We exchanged some more emails together with Michelangelo and Magma Digital. Michelangelo brought the conversation to the attention of Magma Digital as they were the organizers of PHPNW. And one sentence triggered something in me and that was when Michelangelo said:

“I don’t want to be the party pooper and I wish to shake your hand at the conference, but if it’s impossible for you to get there at a budget matching your preferences we might need to face the facts and acknowledge that you might not make it to the conference.” ~ DragonBe

That sentence was powerful to me. I suddenly felt an inner voice inside me saying: “look you came all the way near a conference that you have wanted all your whole life and now that we are extending a hand to make you be there, you are backing-off – so you choose what your path is!“. Instantly, I went to talk with wife and said: “whatever happens I have to be there, let’s break our piggy bank damm it!”. (In fact, apart from our priceless Mauritian Rupee, I was on a tight financial situation as I just got married some months’ back and took house loans).

“fuck-it, I’ll be there to live my dream because I’m worth it!”. So I forged ahead and bought my train tickets and my hotel accommodation at Manchester Ibis Hotel all via online – full-stop, let’s do this! PHPNW I’ll be there!

And I was! It was magical!

Community-Fellowship & Community Spirit Step in!

Jeremy Coates with 7PHP aka Khayrattee
From left to right: Jeremy Coates with 7PHP aka Khayrattee

Two days just before PHPNW starts, Emma Parker of Magma Digital announced me that Magma Digital (Jeremy Coates’ company) would gladly like to refund me my hotel expenses. This was again beyond a dream.

But wait there’s one more thing, in2it – Michelangelo’s own Company also said they will want to sponsor my train tickets as well. That’s it: I was really in a fairy tale! Oh My God!!

So to resume:
1) Magma Digital of Jeremy Coates, sponsored my PHPNW tickets AND my Hotel stay which included 2 nights

2) Michelangelo’s company, In2It sponsored my train tickets

A Thought..

Now when I look back, had I missed that conference, I would have been sorely vexed.

Michelangelo is someone who just don’t say things in the air, when he told me “YOU MUST BE THERE..etc” – he knew what he was talking about, he knew what I would feel if I did not take action on my own self. I was there in UK, so close to my dream of being at my 1st PHP conference, it would have been so stupid and so ‘un-elePHPantly’ from me to stepped back – should I have done so. But I’m humbled of the awesome outcome.

THANKFUL TO All Community FellowShip

I’m so much thankful to the following:

1) Redbox Digital for having triggered one part of the equation, that is to bring me to London/UK
2) Michelangelo van Dam / In2It.be for everything AND being the driver/enabler and ‘community father’ to really help me stay focus on my ‘passion & will’ to be in-to-it, to be in-it and to be there!
3) Magma Digital, Jeremy Coates and the whole Coates family (Emma Parker, Sir Ian Coates and Jeremy’s wife Priscilla) for their amazing community-spirit

from left to right: Emma Parker & Sir Ian Coates with 7PHP aka Khayrattee
from left to right: Emma Parker & Sir Ian Coates with 7PHP aka Khayrattee

I LOVE YOU all Community folks, it’s because of you all that this PHP Community is a sense of family, a sense of togetherness, a sense of true communion between PHP and it’s people!

The pink elePHPants' Family of PHPwomen
The pink elePHPants’ Family of PHPwomen

An Inspiration to YOU

If you have been reading all up till here, I sincerely wish and hope that you get inspired and motivated by The power of The PHP Community – That’s the Uniqueness and that’s the magical part of it. That is what sets it apart from any other communities out there. I’m so proud of being part of this awesome community which is The PHP Community.

Dear PHP Community, 7PHP Salutes You!

Thankfulness & humblness,
Khayrattee Wasseem aka 7PHP
Prestashop – A 7PHP Comprehensive Interview You Don’t Wanna Miss! Showing The World Why PHP Is Amazing.

Prestashop – A 7PHP Comprehensive Interview You Don’t Wanna Miss! Showing The World Why PHP Is Amazing.

A Small Intro Rambling..

Prestashop - The 7PHP interview
Prestashop – The 7PHP interview

Prestashop has been gaining a lot of traction down the last couple of years and 2014 has been a great year for Prestashop. I have been working on Prestashop for over a year for my best client ever which is Neopost France. I have been doing about anything and everything except theme design on it and even migrating an oldish version 1.4 directly to the 1.6 version. Needless to say that I was thinking of doing an interview.

While Didier Ortega (technical Lead at Neopost France) was at the Prestashop conference back on the 19th November 2013, we were having live exchanges about what was happening as I was too much enthusiastic about such events. At the end of the conference, Didier (who likes what I do here on 7PHP) went to talk about 7PHP with Cindy Deguingand – PR and Event Manager at PrestaShop. We got in touch, she introduced me to their Lead Community Manager who was very friendly – so, inevitably, here we go with an interview with Prestashop!

(Captain Didier if you are reading this, I dedicate this interview to all the marvelous work we did together and the awesome moments we shared! You rock!)

About The PrestaShop World

>> When was PrestaShop born – The story behind?

PrestaShop was created in 2007 by our current CEO and Co-Founder Bruno Leveque. He saw the underdeveloped and complicated Ecommerce alternatives that made it challenging for small retailers to be successful online. He wanted to build an Ecommerce software that was both easy and powerful, while being 100% Free to use.

>> PrestaShop kinda resurfaced with new motivation, vibration and success at some point around 2012. Could you tell us about this sudden successful bounce-back & the impact PrestaShop is having now as compared to when it started?

We’ve been growing each year since the release in 2007. 1.4 was a success in 2011 and 1.5 was released in late 2012 with a new look. I think there was a lot of buzz surrounding the 1.5 version when it was released. PrestaShop’s impact has only been growing as more online retailers are switching to PrestaShop to power their online store for free. With the newest version 1.6, which was released in March 2014, the impact is greater than it’s ever been.

>> The vision of PrestaShop, where is it heading and what does it want to achieve?

PrestaShop wants to be the world’s most used and most loved Ecommerce software. We are committed to helping merchants succeed online from start to finish.

>> What need did PrestaShop identified and how well is it serving that need?

The need for a powerful, yet actually easy to use, software to sell goods and services online.

>> Is PrestaShop already achieving his aim or is there still a long way ahead?

We’ve helped our merchants sell over 15 billion dollars. We have over 185,000 active online stores. We are proud of what we achieved but we know there is still room to grow.

>> “In March 2014, PrestaShop secured $9.3M in Series B Funding to Fuel Global Expansion”. Could you briefly comment on this successful funding? What are the plans of PrestaShop with this fund?

This funding round will be used to fuel our international growth. We also want to use this funding to research into new product development and back fresh marketing campaigns.

>> The awards that it has won so far?

We win many Open Source Awards from around the world, Packt Awards comes to mind. We are voted as the Top Rated Ecommerce Platform from CMS Critic and The Best Free Ecommerce Platform in the “Seller’s Choice Awards” by Ecommerce Bytes.

>> Could you tell us about its parent location/headquarters and is it physically present in other countries?

We have a Global Headquarters in Paris, France and the North American Headquarters in Miami, Florida. In total we employee around 100 Ecommerce enthusiasts.

>> Do you have remote employees also?

We are hiring country managers to represent PrestaShop in their respected country with a mission to increase brand awareness, multiply our user base and identify strategic local partnerships.

>> What is the revenue model of PrestaShop?

With a strong user base, we have the pleasure of having industry partnerships with some of the best payment, shipping and marketing solutions on the market. We also have an Addon store where we support community developers who create quality modules and themes and sell them on the Addons store on a commission basis. Everything we do is for the merchant and their success translates into our own.

>> What are the products that ‘PrestaShop the company’ offer?

We do have SEO Audits, Merchant Training, and Developer Trainings. These are two day long extensive trainings with great follow up support. We also develop some of our own modules that are sold on the Addon store.

>> Is PrestaShop in competition with other similar ecommerce CMS – could you list some?

Being a free open-source software, we are committed to bringing the best quality ecommerce experience to everyone. We look at other Ecommerce solutions as colleagues that share the same values. The Magento Community was something we were watching. However, since they were acquired by eBay in 2010, they’ve focused more on large enterprise store which is not our priority.

>> How would you convince someone to go with PrestaShop and how is it better than the others?

PrestaShop is more powerful than the paid alternatives. PrestaShop is free and will always be free. The newest version 1.6 is beautifully designed and the code is easy to understand. Most importantly, using PrestaShop lowers the cost of ownership of running an online fees. There are no monthly fees and you are given everything you need to create a beautiful online store.
We also give the best business intelligence insights available to an Ecommerce store owner. Of course, we have the most active Ecommerce community on the planet and it’s great to have such a large group of experts helping each other grow.

>> Is PrestaShop aimed at small businesses and big ones alike?

We are focused on helping any business small and large, succeed online. That said, PrestaShop is flexible and as powerful as any other software. Many large enterprise corporations as well.
Any sized business can use PrestaShop but most of our merchants run small to medium sized business.

>> The relationship between PrestaShop and The PHP Community – how is it contributing to The Community?

The larger the PrestaShop community is, the larger the PHP community. Our 620,000+ user community has contributed to thousands of developers learning and advancing their PHP skills. On our forums you can find thousands of posts from expert PHP developers helping beginners learn PHP and spread the knowledge.

 

PrestaShop & Certified Web Agency Partners

Miami Office of Prestashop
Miami Office of Prestashop

>> PrestaShop has a list of certified web agency partners & it is mentioned that these are the best (“The cream of the crop”). How does PrestaShop judge that these are actually the best ones? What kind of quality check is done – could you please tell us a bit about the process involved.

PrestaShop Certified Developers have to be trained by our team and pass a test to become certified. No other agencies have the type of insight into what our merchants are looking for and what their expectations are. That is why they are the best option for new merchants looking to have an agency build or improve their online store.

>> If a company or a group of people wants to be featured in this list, what is the process to be done by them?

Visit our “Become a Partner Page” and we will be in touch. Here is the URL: http://www.prestashop.com/en/become-a-partner

>> Does PrestaShop offer any training or exams to them? What does the fees look like?

The training comes with the certification. We also offer visibility packages on our website. The entire process including the optional visibility package is around $1-2K. The certification is free in the America’s and will be expanding free certifications if they show a strong knowledge in PrestaShop development.

>> Can a certified web agency partner be a one-man show?

Yes, but it would be listed under Freelance.

>> Your message to people and companies that want to be a certified web agency partner with PrestaShop?

Do it. Become certified and connect yourself with new and existing merchants and agencies with PrestaShop. It’s easy to grow with this strong community and a variety of projects from web-design, module development and custom solutions

 

PrestaShop Aand Some Concerns I Felt..

>> The price of the modules and plugins for PrestaShop is quite high ranging from $69.99 to as far as $384.99. – Why are most plugins’ prices so high?

Our prices are consistent when you compare the industry. Many other ecommerce solutions charge anywhere from 50-200 dollars a month. Most of our Addons store are quality checked Community modules that we make little money from. It is a way to support the community by providing high quality and valuable Addons to help merchants make more money.

>> Is there any quality check on those plugin?

Definitely. The all modules and themes go through an initial automatic check of code quality. Then it goes through a manual technical check from our team. Next, it is sent to the Addons marketing team to check the marketing aspects. There is one final security check and then it is validated. The process can take up to 7-14 days.

>> We will make the switch directly from 1.4.x to the new 1.6 – what is the best approach to take in this case. Have you had customers doing this kind of switch?

Yes, but first I want to make clear that we don’t consider our users on PrestaShop as customers. They are part of our Ecommerce community that we grow by providing a completely free software. Thousands of our users have made the switch from 1.4 to 1.6 directly by using the Auto-Upgrade module. There are many blog posts on our website that go over some FAQ’s about upgrading and migrating to PrestaShop.

 

PrestaShop & The Technical aspects

>> In terms of the core aspects and architecture, it has changed a whole lot in version 1.5 and 1.6. Could you talk a bit about it and what caused this changed and how is the community reacting so far?

1.5 was released in 2012 but the core code between 1.5 and our newest version 1.6 is virtually the same. We wanted to make sure upgrades were going to be easy. We also addressed hundreds of community reported issues and preferences. The community loves the new look and feel of 1.6, the new analytic features are a great reason to upgrade and switch.

>> What are the technologies, the framework and the tools used in building PrestaShop?

PrestaShop is at the forefront of the latest innovative web technology, v1.6 integrates with Bootstrap 3.0, JQuery, FontAwesome, Sass Compass and D3 Data Driven Documents.

>> And what is its architecture like, the design patterns and best practice used?

PrestaShop is primarily written in PHP. We also use JavaScript, HTML, CSS, the Smarty templating language, SQL, and XML. It uses a Model-View-Controller (MVC) structure for its software architecture.

>> Smarty Template is the templating layer chosen by PrestaShop. Could you tell us why this choice and why not use a better one like for example Twig?

Smarty is one of the oldest and most trusted templating engines out there. I wouldn’t say Twig is better, it is new but comparable in performance. Actually in our many tests, Smarty proves better performance than other alternatives, especially when used with our compile and cache system. At the same time, many of our developer community members are familiar with Smarty and are comfortable using it.

>> On the requirements’ page of PrestaShop, I see PHP 5.1+. Is it not time to be in line with PHP 5.4+ since PHP is deprecated till version 5.3 – Why is PrestaShop, especially 1.6 still there?

These are not recommended requirements but minimum requirements. We need to remember that, although PHP is deprecated till version 5.3, there are many hosting companies with servers running older versions of PHP. PrestaShop runs just fine on these older versions of PHP but we recommend using a hosting company that has the latest version of PHP. All of our Hosting partners are indeed using PHP 5.4+ with optimized servers for PrestaShop.

>> How easy it is to extend PrestaShop? (Creating custom functionalities or extensions)

Because PrestaShop’s code is fully object-oriented, you can extend current functionalities or create new ones easily. We have an override folder that allows you to change core functionalities without affecting the actual core-code itself. The core code integrity is always maintained while keeping the scalability and flexibility available for developers.

>> Best resource for developers to learn coding/extending PrestaShop?

The first step would be to take a look at the Developer Guide. Next, I recommended the Developer training both Beginner and Advanced to master the PrestaShop code and become a true PrestaShop ninja.

>> How active is the community around PrestaShop?

We have the most active Ecommerce community in the world. If you go to our forum you will see thousands of merchants, developers and ecommerce experts sharing advice and helping each other every day.

We’ve had thousands of GitHub commits come directly from our community. We simply love our awesome community and we thrive because of their dedication, creativity and talent in making PrestaShop’s code easier to handle and more powerful every day.

 

Closing Out..

Prestashop Logo
Prestashop Logo

>> For someone who wants to build an Ecommerce tool or at least learn how to do it, what is your advice? From where does he have to start and what to learn to get there?

Figure out what you want to sell and make sure you can make a comfortable profit from each sale. It’s better to sell a few higher cost items than to sell many low cost items. Shipping is always important because if you ship manually, you must ship each package manually. This is why you want to strive for items that have a high average order value.
To expand on that, you want to find a product that is more specific. In this day and age of online shopping, there are stores for every variation of products. Instead of jewelry, you can have for example owl jewelry. Instead of music supplies, you can specialize in drum sticks. With SEO going the way it is going, being more specific is better to start. Later, you can expand once you have a solid customer base.

>> The good and bad parts of PrestaShop’s journey till now

I can’t say any of it has been bad. It’s all a learning experience. There are things that we could have done differently with better results. All of our experiences make us better day by day. I’m happy with what we’ve done and what we’ve accomplished so far. We’re all excited for PrestaShop moving forward.

>> Any message to The PHP Community

Keep on being creative, showing the world why PHP is amazing. PrestaShop is mainly written in PHP. We accredit the strength, stability and flexibility of the PHP code to our global reach of developers.

>> Do you want to add anything?

Thank you for taking the time to write out these questions. I hope my answers were sufficient. I can’t wait to see what more 7PHP will do soon!

Know Thy Conference Know The EndPoint API Conference – APIs Will Be Everywhere & Every Service Will Offer Them

Know Thy Conference Know The EndPoint API Conference – APIs Will Be Everywhere & Every Service Will Offer Them

Purpose Of This ‘PHP Conference Interview’ Concept

This is the #2nd set of Know Thy PHP Conference in an attempt to create more awareness of:

  • what is $this PHP Conference about + get to know the people behind it
  • what is a PHP Conference in general
  • what is involved in organizing a PHP Conference
  • what is a PHP UnConference (I will try to fit that in wherever possible)
  • to personally know all the PHP Conference Around The World – that excites me and I hope you too!

This concept is also a good opportunity for new elePHPants to know about all these things and conferences going on. My message and aim in this respect is: [ (Read + Observe + Learn) => Do_It_Thyself]. Everything is possible, let’s get going. let’s do this!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP Conference” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Note:

Welcome To The EndPoint – API Conference

EndPointCon.com API Conference - Interview by 7PHP
EndPointCon.com API Conference – Interview by 7PHP

>> Could you, the leader(s), tell us a bit about yourself

My name is Ivo Jansch, I’m the founder of Egeniq.com, I’m a developer, book author and conference organizer. I’m currently working on the book ‘N ways to be a better developer‘ together with Lorna Mitchell.

Ivo Jansch Founder of Mobile Technology Egeniq.com (Photograph by Jelmer de Haas)
Ivo Jansch Founder of Mobile Technology Egeniq.com (Photograph by Jelmer de Haas)

>> What is this conference about?

This conference is all about APIs. We use more and more smart devices in our daily lives and many of these devices communicate with the internet by ways of APIs. Once, the web was the dominant way of consuming content, but these days it’s all about smart devices. Watches, Glasses, TVs – I can see a future where every device becomes smart and can run apps.

This means that web development is experiencing a major shift. Websites become clients too, just like other apps. This means developers need to start thinking more in client/server terms, and we think Endpoint can help developers do that as efficiently as possible.

>> When was it first launched?

September 5 2014 will be our first installment.

>> Place(s) it is(was) held (including country)

It will be held in Amsterdam, in the wonderful Tuschinski Theatre.

>> How did the idea and motivation come from?

I’ve been organizing the Mdevcon conference for a number of years, which focuses on mobile app development. I’ve noticed there’s an interest in a similar conference but focused on the backend side of things.

>> What are the objectives and aim of this conference?

There are so many platforms and tools and so many ways of doing APIs – I think it’s a good idea to listen to experienced API developers and see what works for them and what doesn’t.

We want to bring together developers and create an environment where people can share experiences and learn from each other.

>> Can we tag this as a PHP API Conf, or a general API conf regrouping any programmers using/coding APIs?

That’s a great question, because I think that no matter what language you use to build APIs, we often face the same challenges. Therefore we want to bring together not only PHP developers but also Ruby, Python and other developers.

There are some talks specific to a certain language, but most talks should be relevant no matter what language you use.

At the Mdevcon conference we have learned that this works great. For once, we’re not fighting among communities or talking about who has the best language, but we’re talking to each other and learning from each others experience. And maybe someone will see a language they’re not familiar with and new worlds might open up.

>> The average number of attendees?

We aim for around 200 developers, but since this is the first conference that people are still discovering, we don’t mind if it starts a bit smaller.

>> Attendees tend to be of what background mostly?

The conference is by developers, for developers. We welcome developers of any server side language. And app developers looking to build APIs for their apps. Of course architects and team leads are also welcome!

>> Could you briefly tell us about the key people behind this conference and their respective roles

All of us at Egeniq help put this conference together. To name just a few key members:

We have Felix de Vliegher who many in the PHP scene know from his conference talks and PHPBenelux usergroup involvement. Felix is one of our speaker liaisons and part of the call for papers committee.

Then there’s Thijs Damen, who acts as our ‘chief operations officer’ during the conference, making sure everything runs smoothly and all speakers are happy. Thijs is in the CFP committee too.

The final member of our call for papers committee is Harry Walter, who is involved in several Ruby and PHP communities in the UK.

Egeniq Team
Egeniq Team

>> How is the task dispatched among the team?

We are a ‘self organized team’ so mostly people just pick the things they like to do. I usually end up with the ‘boring’ stuff such as ticket sales and arranging hotels and flights. On the day itself, we get help from the entire Egeniq development team, and everybody just picks the roles they like.

>> How do you go about finding sponsors, what are the key aspects to successfully find sponsors

For a new conference like Endpoint it’s a bit hard to find sponsors, since we still have to prove ourselves. For our mdevcon conferences we have noticed that the most important thing is to create a great conference. We never worried too much about sponsorships (we don’t have any incentive to turn a profit, as long as we can cover the cost of the conference we’re happy), but still we attracted more and more sponsors. The last mdevcon conference we had some really interesting sponsors, and we hope we can do the same for Endpoint.

>> What unique opportunity does organizing an API Conference, presents?

There are a number of reasons we organize conferences.

One is to get in touch with developers. We love to build a network of developers to share knowledge and to find people we can go to if we need extra developers for a project.

Another reason is that it fits our role of wanting to be leaders in the field of technology. We don’t employ any sales managers so it helps if we can convince our customers that we are great to work with by showing our work and explaining that we run conferences on these subjects.

But perhaps most importantly, it’s so much fun. I was one of the founders of the Dutch PHP Conference years ago, and it’s always been great fun to organize conferences, talk to people, meet with speakers and put up an event that people like.

>> What is this famous ‘call for paper’ and how is it scheduled

We run a call for papers so that we can have a great schedule. Conferences that only invite speakers limit themselves to their own network and their own ideas. We like the idea of just presenting the topic we want to cover in the conference, and see what people come up with. We’ve always seen some great ideas come from a call for papers. Also, it gives less experienced speakers a chance of getting to speak at a conference (of course if they are knowledgeable enough).

>> On what criteria does the team select speakers, what are the key areas that you seek to select a speaker

The primary criterion is content. Is the talk relevant and engaging enough.

Other factors include someones’ background (what makes them a good speaker on a specific subject, for example their experience with the technology).

>> Rejection emails, how do you handle them? (softly or ‘to the point’ styles)

We appreciate everyone’s effort to try and submit, so once we send out rejection mails we like to thank them for that effort and give them a discount for the conference. We also allow people to ask for feedback on their submission, if they are looking to improve their submissions over time. You may have noticed the Endpoint schedule isn’t yet fully filled, we’re still going over some of the talks and haven’t send out a lot of rejections yet.

>> Is this the only API Conf or is there other ones out there?

There are several out there, such as API Strategy and API Days. We like to differentiate ourselves from these conferences by having more focus on technology and developers (some conferences focus a lot on tools and management). In Amsterdam, it’s the only API conference targeted at developers that we are aware of.

>> How is it different from a PHP Conference?

Interestingly, if you compare PHP conferences in 2014 to PHP conferences just 5 years ago, you see less focus on PHP as a language itself, and more focus on frameworks, libraries, architecture etc. Our API conference takes that just a step further. We think the language choice is becoming less relevant, and it’s more about architecture and what you actually build with your language.

>> Things that it excels at, as compared to others

I think I covered that already in some of the answers, but if I had to pick one thing, it’s our focus on technology without focussing on one specific programming language.

>> Aspects where it lacks as compared to others

That’s a hard one to answer since it’s the first Endpoint, but we’ll see! We’re always open to feedback and always looking to improve.

>> Lessons learned from previous editions

It’s the first Endpoint, but I can draw lessons from other conferences I have organized. One important lesson is: be organized! There are so many things to arrange to put up a conference, it’s important to do everything at the right moment and be prepared for everything.

>> How are you going to make new editions even better than the previous, any specific focus?

We follow up every conference we organize with a questionnaire. We try to incorporate the best ideas and the best feedback into our next conferences.

>> When is the next one scheduled?

The first Endpoint conference will be on friday September 5 2014.

>> How is organizing and running a conference different from organizing a user group

You do a conference only once a year, so it’s less often that you have to arrange things. On the other hand, a conference is much bigger than the average user group meeting, so there’s a lot more stuff to take care of.

>> Do you think it would make sense to have a user group focused only on being API centric, which will thus regroup people irrespective of their programming languages

Great idea! I might consider starting one. If anyone is interested in joining after reading this interview, contact me (ivo@egeniq.com) 🙂

>> Could this API conf be an inspiration to drive such a user group – since a user group will meet and discuss several times a year as compared to a conf which is yearly. (Or may be there’re already such user groups around that you know of?)

I hope it can be an inspiration yes.

>> This conf is organised by your company, Egeniq. Was this a thought-after step prior to creating this Conf? I mean, was the indirect aim behind to promote your company as well, because as Michelangelo van Dam best says it: “Community works for business too!“. Please give us your whole opinion on this and your advice.

Of course! It helps Egeniq as a company if we organize conferences. For example when we have job openings. We don’t generally advertise jobs at our conference because we want companies to safely send their staff to a conference, but if someone is looking for a new job and they got to know us through one of the conferences, that is a big advantage.

Also, meeting speakers and being around influential people is very beneficial too of course.

And since we are a distributed company (we usually work remotely), it’s also nice to have 2 conferences a year where we are together with the whole team. That’s always a lot of fun.

Ivo Jansch & His API Experience..

>> Your advice on buildings API – what have you learned so far and which you can share with us?

I often remind people ‘you are not facebook’. If you build an API for internal use, it’s ok to learn from the best, but keep in mind that there are differences between building an API for millions of unknown users, or an api for a specific set of apps that are under your control. Practical applicability of APIs is one of those things we like to focus on during the conference too.

>> If someone wants to learn how to build API correctly, what is your advice

Come to Endpoint in Amsterdam on September 5. (Wow, can you make it any more easy for me to promote the conference? 😉

But jokes aside, I think it’s best if you start out by consuming other apis. Use an api from someone else and see what you like and don’t like about it. If you’ve worked with APIs it’s much easier to build APIs that others can use.

>> Your best API moments

Probably the first time I ever used an API and thought ‘wow, magic, I just called code on someones server’.

>> Common mistakes that you think people tend to do while creating APIs?

Some people are overzealous when it comes to what an API should look like. I’ve seen teams argue for hours on the naming convention of their endpoints. That’s like the old ‘tabs vs spaces’ debate. Find something that works for you and the consumers of your apis.

Sometimes I say ‘Useful over RESTful’. REST is nice and can usually be applied quite cleanly, but if you spend more time arguing how RESTful your api is than spending time on making your API work, you’re doing it wrong.

>> Is API the next big thing for the years to or is it already in-it?

We are in the middle of it, yet we have more things to come. As more and more smart devices emerge, and as the web moves to javascript clients as opposed to server side scripted pages, the underlying APIs become more and more important.

>> How do you find the usage of API in the next 5 years to come

APIs will be everywhere. Every device will be able to consume APIs, and every service will offer them.

>> A company or product that makes an awesome use and display of API

I like Slack. Slack is a communication tool for development teams. They basically integrate chat with all the apis of all the tools developers use, bringing together the output of all the tools under one roof. That’s great use of APIs.

>> A framework that you highly recommend to building APIs in PHP

I think both Symfony2 and Zend Framework have great tools for building APIs.

But beware of the fact that an API call often doesn’t need a full application stack like a full html page would. Keep the APIs light. Check for best practices in API development in these frameworks before you start coding.

>> A framework that you highly recommend to building APIs on iOS znd Android?

On iOS, I love AFNetworking as a library for API consumption. On Android, GSON and Retrofit are great tools for consuming APIs.

Every platform has a number of tools for working with APIs. A little investigation into what’s possible before you start will be helpful. In any case, there’s almost no reason to deal with APIs with just the low level tools that a language offers. Use some higher level abstraction layer or library. It will save you time.

>> Your message to the people who are going to attend it

I hope everyone will have a fun conference and will be back for more next year!

>> Any other things you want to mention/share?

Not really, you have been very thorough with your questions. Or maybe, how about we do a little contest (for those of you who have read this far, I know I’ve been rambling on for a while now :).

If you tweet about the conference by mentioning both @endpointcon and @7php I’ll raffle a conference ticket among the tweets on August 8.

>> Last but not the least, please inspire us with a few words culminating from your unique & exceptional entrepreneurial PHP/Mobile career

It’s not my quote, but I really like the phrase ‘life is what you make of it‘.

Success, results and happiness do not ‘just happen’. You need to plan ahead, work on reaching your goals and never stop learning.

How To Use SVN 1.8 With Jetbrains PHPstorm 7.1 (On Windows 8)

Assumptions for this article:

  • For this article we are using Windows 8 (64-bit) – but this should work for windows 7 too
  • I’m using PHPstorm 7.1 (the latest one at the time of this writing)
  • I’m using SVN 1.8
  • You know how to install PHPstorm (the awesome PHP IDE) & have it handy on your machine

What Is This About?

With previous versions of PHPstorm, Jetbrains did not support SVN 1.8. This has changed with the updated phpstorm version 7.1 (this version being the latest one at the time of this writing). But still some people are having trouble to get SVN 1.8 to work with PHPStorm. It has to be noted that the issue is not with the software, but with an understanding of how SVN gets integrated and configured to be used alongside phpstorm. I’ll show you quickly how this can be done.

In brief:

  • SVN 1.8 will work with PHPstorm 7.1+
  • SVN 1.8 will NOT work with PHPstorm 7 or lower. So even if you have PHPstorm 7, you will need to upgrade to 7.1

Quick/Short Steps To Make SVN 1.8 Work With PHPStorm 7.1 :

  1. Download & install SlikSVN for windows from here – click!
  2. Configure PHPstorm to use SVN Commandline:Files > Settings > Version Control > Subversion > Use Command-Line (See screenshot & details in the articles below)
  3. Done!

Ok, now let’s go for the long version with details..

PHPStorm 7.1 Does Offer Support for Subversion 1.8

This was announced by Jetbrains on this post (click here), they mentioned that PHPstorm 7.1 does work with SVN 1.8 via Native Client.

What Does Support via Native Client Mean?

That’s the catch! Even if you have TortoiseSVN installed, you probably could not get PHPstorm to work with SVN. (But that does not mean SVN does not work with phpstorm)

The errors would be something similar to the following:

Errors found while svn working copies detection
svn: E204899

Why this issue?
The answer is simply because TortoiseSVN does not install the Subversion Binaries aka the SVN command-line (svn.exe). You need to install SVN’s binaries. If you browse the website of Subversion you will find possible ways to install the Native SVN Binaries. (See screenshot below)

Install SilkSVN to Have Native SVN Installed
Install SilkSVN to Have Native SVN Installed

A word of caution with option 1: installing with CollabNet will require registration and seems to be problematic at times.

So I opted for SlikSVN which works fine.

Steps To Integrate SVN 1.8 With PHPStorm 1.7

Assuming you already have PHPstorm 1.7 installed on y0ur machine, here are the steps:

  1. Download & install SlikSVN for windows from here – click!  – I downloaded the 64-bit version since my machine (in the office) has Windows 8 64-bit.
  2. Configure PHPstorm IDE to make the SVN integration, for this part, here are the breakdown steps:

i) Go to: Files > Settings > Version Control > Subversion

Files > Settings > Version Control > Subversion
Files > Settings > Version Control > Subversion

ii) On your right-side, make sure you check: “Use Command Line Client” and then browse to select where your svn.exe file is located. For me it was located at: C:\Program Files\SlikSvn\bin\svn.exe

C:\Program Files\SlikSvn\bin\svn.exe
C:\Program Files\SlikSvn\bin\svn.exe

iii) click Apply changes! Voila! Happy coding with PHPstorm – The Rocking PHP IDE ever!

Is This Different On A Linux OS?

I had no issue with using those two softwares along side on Linux Mint 14. My guess is that my distro had svn already in my PATH and thus accessible globally (allowing phpstorm to detect it automatically).

Composer Issue + ” exceeded the timeout of 300 seconds “

GetComposer.org
GetComposer.org

I was installing this package from github and I came across the following issue:

– Installing doctrine/annotations (dev-master e93f3b7)
Cloning e93f3b718c421daddff58c4a4af1aee574472cd6
Failed to download doctrine/annotations from source: The process “git clone –no-checkout ‘git://github.com/doctrine/annotations.git’ ‘/var/www/pagekit.com/pagekit/vendor/doctrine/annotations’ && cd ‘/var/www/pagekit.com/pagekit/vendor/doctrine/annotations’ && git remote add composer ‘git://github.com/doctrine/annotations.git’ && git fetch composer” exceeded the timeout of 300 seconds.
Now trying to download from dist
– Installing doctrine/annotations (dev-master e93f3b7)
Loading from cache

I have tried to repeat this three times, but no success. By repeat I mean, first time $ composer install and then $ composer update

The Solution – Increase COMPOSER_PROCESS_TIMEOUT

Then I found the solution (after banging my head a bit) and I came across two worthwhile posts which set me on the right direction:

Based on these two alone, the possible solutions were:

  1. increase the COMPOSER_PROCESS_TIMEOUT – since composer by default set it to 300 secs (this is confirmed on the composer specs here itself)- as correctly suggested by my friend David Weinraub
  2. clear the composer’s cache or try adding -cache-dir=/dev/null IF the package is being loaded from composer’s cache

How To Diagnose the culprit?

It turns out that this command help a lot:
$ composer update  -vvv

A Better Solution – Use Satis

UPDATE:

My friend Hari KT on twitter suggested a better solution, that of using Satis (a Package Repository Generator) with composer. I’m yet to try this one out though.
You can find satis on github here: https://github.com/composer/satis

 Further Reading

This article is nice if you want to know how to use & understand Composer: Composer 101 by ServerGrove

 

 

I’m not yet so much versed with composer, this was only my 3rd practical encounter with Composer after watching NomadPHP‘s composer talks by Rafael Dohms (last year) and Beau Simensen (last year ). So if you have any more details or if you see you can add more to this, feel free to post a comment below.

Know The Las Vegas PHP User Group – Help Each Other & We All Benefit

Know The Las Vegas PHP User Group – Help Each Other & We All Benefit

Purpose Of This ‘PHP User Group Interview’ Concept

This is the #4th set of ‘Know Thy PHP Usergroup‘ in an attempt to create more awareness of:

  • what is $this PHP UG about + get to know the leaders/Founders/Community behind it
  • what is a PHP User Group in general
  • to personally know all the PHP user groups Around The World – that excites me and I hope you too!

This concept is also a good opportunity for new #elePHPants to know about PHP UGs.

PS: Are YOU the founder or organiser of a php user group? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Welcome To The Las Vegas PHP User Group

Las Vegas PHP User Group
Las Vegas PHP User Group

>> Hi Adam Englander, tell us a bit about yourself..

I am a technology profession with nearly 30 years of development experience with the last 7 having PHP as my primary language.

>> What is a user group?

A user group is a place where users of a particular service or technology can take advantage of disperse levels of knowledge and expertise among the members to increase their own skill level.

>> What is your User Group about?

Helping new developers build their skills through eduction and mentorship as well as helping seasoned PHP developers keep up to date on advances in frameworks, libraries, and utilities that aren’t part of their daily route.

>> The exact place where this group resides?

Las Vegas, Nevada, USA

>> The web presence of this group

  1. http://www.meetup.com/Las-Vegas-PHP-Users-Group/
  2. https://github.com/lv-php

>> Your motto?

None in particular

>> What are the objectives and aim of this user group?

The Las Vegas PHP Users Group is a group dedicated to PHP developers learning from and teaching each other. Many PHP developers are experts in one segment or another. This group will be an opportunity for all of us to teach what we know well and learn what we do not. All skill levels are sought after. If you are looking to teach, learn, network, or just mingle, join the group and participate on the adventure.

>> When was it first launched?

Mar 2, 2013

>> Number of people in the group

183 members as of today

>> Could you briefly tell us about the key people behind this group and their respective roles

I am the founder and coordinator. I do basically everything related to the group.

>> Could you lay down some “daily routine” or functioning of this group

Day to day there is not much to do. We make the majority of the decisions at the regular meetings. I do get information requests from time to time and respond to those.

>> How is the routine task dispatched among the team?

There are other members that assist from time to time but I do the bulk of the work.

>> How many meetups have been organised till now?

We have had twenty-five meet ups to date.

>> How do you plan your meetups and what is involved?

We have regular meetings and the topics are usually picked at the end of the previous meet up.

>> Frequency of meetups

We currently meet twice per month. One meet up is for a full presentation. The other is a learn and hack that is currently geared toward newbies.

>> The average number of attendees to meetups

We average 25-30 for the presentation met up and 10-15 at hack nights.

>> The highest number of attendees to meetups

Our highest attendance was 35.

>> Do attendees comprise only members?

We do not restrict attendance to members ad have had non-members attend on occasion.

>> How do you go about finding sponsors, what are the key aspects to successfully find sponsors?

The first sponsor for the group was my own company and it paid for the groups website presence on meetup.com. The expense in minimal.

The second sponsor was a co-working space for our meeting location. We have multiple co-working spaces in Las Vegas that were thrilled to have our group meet at their location. I was introduced to the co-working locations through local developer events.

The final sponsor was found by just looking at the sponsors for other user groups around the country. I found that JetBrains had sponsorships on a number of groups throughout the country and reached out to them. They provided free licenses for raffling off at our meetings. I also reached out to O’Reilly for discounts on books to our members.

>> Challenges involved in finding sponsors?

We didn’t really have any challenges finding sponsors but our expenses are minimal.

>> Do you also organize conferences open to the general PHP Community? Frequency?

We do not currently.

>> On what criteria does the team select speakers, what are the key areas that you seek to select a speaker

So, far we have picked relevant topics the groups wants to hear about. If we don’t have a group member volunteer to give the presentation, I will find a subject matter expert in the community to speak about it.

>> Rejection emails, how do you handle them?

I haven’t had to reject a speaker yet. We have some amazing subject matter experts and primary developers and contributors on some popular open source projects.

>> What unique opportunity does leading a user group, presents?

I certainly get a lot of interaction with local CEOs and CTOs. I also have had the opportunity to interact with the leaders of the other user groups in the community. It has been a fantastic networking opportunity for me.

>> How is it different from other PHP user group?

I can’t speak for other cities but I know that it’s different from the last user group that died a few years back due to the rapid evolution of PHP, its frameworks, and its tools. The past couple of years has seen an emergence of truly game changing open source projects in PHP. There is plenty to learn and plenty of people wanting to both teach and learn.

>> Things that it excels at, as compared to others

We excel at having a fantastic core of very high level PHP developers that are willing to teach.

>> Areas where it lacks as compared to others

  • We haven’t really hit our stride in the learn and hack for beginners.
  • I also think we haven’t really gelled as group and come together to author any open source software.

>> Lessons learned so far

  • Just do it.
  • Plug away and spread the word.
  • Use any and every available social platform at your disposal to spread the word.

>> How is organizing and running a user group different from organizing a conference?

A conference is a long planning cycle with a beginning and an end. A user group is a continuous and short cycle.

>> A mistake that you made and would like to share with us

We haven’t made any glaring mistakes yet but it’s only been a year.

>> Your message to the people who are part of the group

Spread the word and share your knowledge.

>> Any message to the external world?

PHP has become an exciting language with so many tools and frameworks it’s impossible to keep up. Help each other and we all benefit.

Magento Certifications Tips & Tricks – Hear It From Magento Certified Engineer Phillip Jackson

Purpose Of This Interview

Magento Certification Advice
Magento Certification Advice

This is the #1st set of Magento Certification Tips and Advice to help anyone taking either of the FOUR Magento Exams powered by Magento – an Ebay Inc. Company: the Magento Front End Developer Certification, the Magento Developer Certification, the Magento Developer Plus Certification and/or the Magento Certified Solution Specialist. The aim being to help people who want to sit for those exams and inform them what it is all about & what to expect by hearing it from (pro) PHP Guys who have already been through it, that is => Hear It From Magento Certified Engineers!

7PHP Magento Protip Series also has a group on FB and G+, do join us there!

 

NOTE:
There’s also a similar interview concept for Zend Certification exams tips which already has three awesome series, so do check them out.

 

Keywords Used Throughout This Article

Refer to:

 

And Now, Hear It From Magento Certified Engineer Phillip Jackson

>> Tell us a bit about yourself

Phillip Jackson
Phillip Jackson

I’ve been building web applications since 1999 and have been building PHP applications since 2001. I love my work and I love helping others to learn and grow in their skills. The best part of my job every day is when I can help one of my colleagues have a ‘lightbulb’ moment. I am avidly participating in the Magento 2 project on Github and on my personal blog, blog.philwinkle.com.

>> What motivated you to start using Magento & when did your journey start?

I was doing Zend Framework development when I found Magento back in 2008 due to some buzz on the ZF IRC channel. It wasn’t quite to 1.0 at the time but I kept a close watch on the project. We eventually implemented it as a replacement for our multichannel retail outfit – combining our affiliate, wholesale, dropshipping, and direct-to-consumer businesses under one product.

>> Your views on Magento so far?

This is going to sound like a marketing pitch, but in reality I am just a huge fan of the product. They have built a world-class platform that does most things exceptionally well, which is more than what you can say about some of the other open-source competition in the marketplace. It’s important to note that even their Enterprise version of the software is less than 1/10th the cost of the cheapest direct competitor in the IR500 list. They have given us a stellar piece of software that is highly extendable, extremely flexible, and fits 95% of what you need to do online.

>> The goods & bads of Magento?

The pros are obvious:

  1. infinitely flexible,
  2. open source,
  3. innovative people at the helm,
  4. and a stellar community. No, seriously, a really truly amazing community.

The cons are also quite obvious:

  1. high technical barrier to entry,
  2. an overly simplistic CMS,
  3. and a slower upgrade cycle than I’d like.

>> Your advice for someone who want to know & learn Magento

There are so many great learning resources online. Magento U first and foremost – they’ve made a wealth of content available for free in video training format. Outside of that there are many great books, the latest being the Grokking series by Vinai Kopp and Ben Marks. If you get stuck you should pop over to magento.stackexchange.com and submit a question; we’re an active community of a few hundred developers and I currently hold the #2 spot in reputation.

>> Your Top Tips & Tricks for experienced Magento guys?

If you’re not using n98-magerun you’re doing it wrong. I also never roll out a site without installing Aoe_Scheduler. Outside of that I’d say you should get on Twitter and start following me – @philwinkle – and set up a view to watch the #magento and #magentoimagine hashtags. Get involved in the community!

>> The best Magento book you’ve read

Easily the Grokking Magento Book 1 by Vinai Kopp.

(https://shop.vinaikopp.com/grokking-magento/)

>> A Magento blog or resource you highly recommend

Obviously the Inchoo guys are great, I use them as a resource quite often. But hands-down Alan Storm owns the market on Magento technical blogging. Aside from alanstorm.com there is also Magento Quickies, a Tumblr dedicated to short one-offs for Magento development. He also blogs about Composer, OroCRM, and n98-magerun.

>> The IDE that you use

After spending about 6 months exclusively using VIM a few years ago I settled on Sublime Text 2/3. I can layer on IDE functionality as I need it but at this point in my Magento career I don’t find myself needing intellisense as much. I also have a pretty robust library of snippets, autocompletes built up. I’ve done the IDE thing – Netbeans, Eclipse, Zend Studio. But I sense a change coming soon – I’ll probably jump to PHPStorm with Magicento before the end of the year.

>> Which of the certifications did you take? + Your Certification Profile?

I have the MFDC, MDC, and MDPC. I also recently attained my fourth – the Magento Certified Solution Specialist – which validates your skills with regard to Magento out of box features, setup, PCI Compliance, and others.

Profile is at:

>> Can you briefly give us an idea of what a Magento Certification is about & what it tries to achieve?

A certification attempts to validate that you have a minimum set of skills which validate that you have experience using the platform. In the case of Magento certification it also validates that you understand and know various best practices in web development and core concepts concerning application development.

There are many people who feel that having a certification gives you no real competitive advantage. I disagree. In my experience having the certification has helped me to grow my career and increase my influence in the developer sphere. While it may not actually prove that I have a certain set of skills it should at least help start a conversation and show my commitment to the platform from a career perspective.

>> Could you help us differentiate between the three available Magento certification and which one most important to have?

The MFDC is to verify skills that are using to develop frontend themes. It also attempts to qualify that you have knowledge of CSS, Javascript, and HTML. The MDC and MDPC tests are identical, save for the fact that the MDPC has two extra sections which deal specifically with features and concepts in Magento Enterprise.

In my opinion the MDPC is the most important of the 3, but frontend developers shouldn’t feel ashamed for only having the MFDC – they’re all valuable in different ways.

>> Benefit you see after having completed the exams

As I already mentioned I have seen an improvement in my career. I also have met so many amazing developers in the ecosystem as a result.

>> What is the pass mark?

I believe it is different for each test, but in general > 50% is passing. The MDPC requires that you have a minimum number of correctly answered questions on the Enterprise Edition section.

>> Is the result classified in some kind of grades/scores, for example A+, A, B..etc

No, it is graded by Pass/Fail.

>> How did you prepare yourself for the Magento Certification exams

Practice. I had nearly 3 years of using the platform under my belt prior to taking the first test. While I didn’t study for any of the 4 exams, I still passed them all on my first attempt. This is less about how easy the test is but more about how much knowledge I’m able to retain.

>> Can you give us an idea of what need to be studied and what kind of stuffs we should expect..etc

Again, it varies per exam. I recommend picking up the study guides on Magento’s website. I also think that you should be very thorough because many questions can be so tricky. It’s important to eliminate obvious distractors (incorrect answers) first and concentrate on the remaining questions to evaluate which may be true.

>> Parts of the modules that you think is more complex and one should pay special attention to?

For the MDPC my test had a number of questions about the Reward Points module. That was tricky, and made me wish I had studied more! On all of the tests there are nuances in the syntax that aren’t immediately obvious which make some answers appear to be identical. Pay attention.

>> Things that one should do to prepare for a successful exams (Your tips to pass the certification)

All of the common study tips apply here: get a full night’s sleep the evening before, wake up early so that you’re alert during the test. Drink plenty of water. Do a bit of stretching or some very light exercise prior to get the nerves out. Relax, breathe. You’ll do fine 🙂 Trust your skills!

>> Things that you wished you knew before sitting for the exams?

They can be fairly long. Don’t drink *too* much water.

>> Your views with the way the exam questions were set?

They’re mostly fair. Some questions are incredibly hard. Be cautious and read carefully to ensure you know exactly what they’re asking for.

>> Rate the difficulty of the exams from 1 to 10 (ten being the toughest)

  • MFDC => 5
  • MDC   => 6
  • MDPC => 7
  • MSSC  => 3

>> Can someone pass the exams without spending money on the paid magento’s certification products?

No. Beta exams are given to advisory board members only. All others are required to pay for the exam.

>> Did you buy any learning material from Magento, how useful and critical were they? Would you have passed your exams without them?

I have had interactive online training from Magento U as part of my training budget for 2 years now and have done many parts of the online-only versions of the Checkout Series. I recommend them highly if you can afford them. If not the free videos offered by Magento U will suffice and are great.

>> What TWO questions can you remember that you can share with us

I don’t believe I am allowed to tell you actual questions. There are many sample questions in the official study guides, available on Magento.com. I also know that there are resources online that give you examples of the material.

>> Can anyone sit for a MDPC without being a MDC?

Absolutely. You can take any of the tests in any order. I received my MDC in 2011 prior to taking my MDPC last year.

>> Is a Zend Certification important before getting MDC? Is there any relevance?

There is very little, if no, overlap between the two products. Magento uses ZF as if it is a library instead of building a full application on top of it. I would say that it is not a requirement at all but it is nice to have regardless.

>> If you are good with Magento, does it mean you are equally good with Zend Framework?

No. They are different products with two vastly different paradigms. For instance: Magento MVC has the concept of ‘routes’ which give another level between the front controller and the module’s controller and the action being executed. This is not true in ZF.

>> Could you tell us how knowledge of Zend Framework affects the learning curve for Magento?

If anything it helps you to realize that Magento is built on top of ZF and so some things may look familiar – like the use of Zend_Db for queries and “namespacing” – a standard means of naming classes class such that the autoloader can locate them.

>> Do you think studying for the MDC exam will necessarily make the guy a better PHP programmer?

Guy, or girl 🙂 And I do believe that the more I use Magento the better I become at programming, so yes it’s possible.

>> Do you recommend PHP guys to get Magento certified?

Study, build a couple projects, and put in some serious study time. Get to know the product.

>> How does it help in getting employed?

Contrary to the opinion on the Magento Subreddit employers do look at it, especially agencies. Agencies have to maintain a minimum # of certified developers to retain the status, which drives the price of a developer up because they’re in demand and the supply is small. This means higher than average salaries for the more experienced developers.

>> What do you need to do if you fail any of the Magento exam?

From time to time Magento offers a promotion through Prometric testing centers which give you a free re-test if you do happen to fail. The positive side to failing an exam is that it helps you to identify where you lack knowledge. Sit down and study with purpose and review the portions of the code which govern the platform in the areas where you greatest failed.

>> When is the right time to sit for the exams? I mean how long does one need to code and “play” with Magento before thinking of taking an exam?

I would say a minimum of 6 months of real, practical Magento development is required before attempting it.

A Comprehensive Interview About Slim The Micro PHP Framework

What is this all about..

Last time, I’ve introduced the Captain America of The PHP Ecosystem to you, aka Josh Lockhart, via a 7PHP ‘PHP Interview series to help drive thy PHP aspirations‘. This time we go a little bit further with Josh to find out ‘as much as we can‘ about his little masterpiece, I named Slim Framework – the PHP micro framework. Let’s get started..

And Now The Interview!

When did the project start? And the motivation behind?

The first commit to the Slim Framework GitHub repository was on September 20, 2010. But I had been working on the framework locally a few months before that.

I created Slim for myself to quickly build smaller client websites and web application APIs at New Media Campaigns. Many of my projects are APIs that manipulate and provide data to remote front-ends. At that time, the popular frameworks were Symfony, Cake, CodeIgnitor, etc. But these were large, full-stack frameworks with a lot of overhead with regards to both LoC and to the time investment needed to learn them.

Rather than learn a larger framework, I wanted a small, nimble framework that focused more on the bare necessities: receiving an HTTP request, invoking the appropriate controller code, and returning an HTTP response. So I wrote Slim.

Is there any story behind you getting the simple name: Slim framework? (Because as goes the saying, simple is complex and not conceivable by everyone)

Not really. I wanted a name that 1) represented what I was building, and 2) wasn’t already taken! I did some research and settled on “Slim”.

What is Slim framework about and what does it try to solve?

As I mention on the Slim Framework website, Slim “is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.” When Slim was first launched, the term “micro framework” did not have the mindshare it does now. Slim was a simple PHP framework that concentrated on the core necessities of a web application: receiving an HTTP request, dispatching the appropriate code, and returning an HTTP response. Slim first and foremost solves this problem without requiring the developer to worry about the lower-level details of the HTTP protocol. The Slim Framework also provides additional features like middleware, helper methods for HTTP caching (and so on), and the ability to use custom views to render templates (e.g. with Twig or Smarty).

How do you define a PHP Micro framework and does Slim framework portray the exact meaning of it or even more?

I define “micro framework” as the simplest collection of tools necessary to receive an HTTP request, invoke the appropriate code, and return an HTTP response. The definition of “simple” is up for debate. Slim, for example, has zero third-party dependencies so its codebase (number of classes and LoC) is relatively small compared to other “micro frameworks” like Silex that rely on a more distributed component architecture on top of the larger Symfony codebase.

A “micro framework” also exemplifies simplicity with its underlying code. Slim’s codebase provides easy-to-read and easy-to-understand code. It avoids using syntactical shortcuts or magical architecture whereever possible. I want any PHP developer to be able to peek into the source code and be able to understand how Slim works.

How is Slim framework different from other frameworks like Laravel, Symfony or Zend

Laravel, Symfony, and Zend are all great products. But they are also very large full-stack frameworks that consist of many individual components that work together to perform many different tasks needed by large and complex web applications. They come with a lot of overhead (number of classes, LoC, architectural complexity, learning curves, etc.). Slim, on the other hand, is itself a single component library that answers the core need of any web application: receiving an HTTP request, routing the request to the appropriate code, and returning an HTTP response (much like I’ve described in previous answers above). It has minimal overhead and is super easy to pick up and use immediately.

Is Slim framework similar to symfony’s Silex? How do they differ?

Slim is both similar to and different from Silex. Slim is a single component library whereas Silex is a collection of components derived from the larger Symfony codebase. Silex requires a more thorough understanding of Symfony components and how they work together. I’m not saying one is any better or worse than the other… they differ based on their architecture.

However, both Slim and Silex solve the same fundamental problem which is to build a web application with the simplest tools necessary to receive an HTTP request and deliver an HTTP response.

Would you say that Slim framework is better than Silex?

Of course! haha. But I’m a bit biased 🙂 Use the right tool for the job.

What has prompted you to start Slim framework and not using an existing framework

When I began writing the Slim Framework, there wasn’t anything that fit my need. A vast majority of the existing frameworks were larger, full-stack frameworks and I was looking for something far simpler.

Slim was also my opportunity to improve my skills as a web application developer. At the time, I was not that familiar with the HTTP protocol. Slim gave me a great opportunity to learn more about the HTTP protocol as I built out the framework.

Why should someone choose Slim framework instead of, let’s say, symfony or zend framework or Laravel – How would you convince them to use it

I’d say the Slim Framework has minimal overhead, is super easy use, and it has fantastic documentation should you need it. You can install it and have a “Hello World” script running in under 5 minutes.

Can Slim framework be used for ANY kind of application of any level? (from small to enterprise apps?)

Yes, I believe Slim can be used to build any application. It can be the only tool or one of many tools used to build the application. In some cases though, there may be other tools more appropriate. So use the tool that best solves the problem described in the project specs.

According to you where does Slim frameworks fall short?

I’d say that Slim may not be appropriate for applications that would be better served by an “all-in-one” framework like Laravel or Symfony. Both Laravel and Symfony provide a tight-knit set of tools that work well together to build larger and more complex applications. In which case, Slim is probably not the best tool for the job. But for a vast majority of smaller applications and APIs, Slim will 100% fit the bill.

Are you satisfied with the way things are taking shape with this project?

Absolutely! I had no idea that Slim would become as successful as it has. Slim has recently crossed 3000 stars on GitHub, and is (I believe) the 13th most starred PHP repository on GitHub. I’m even more satisfied with the supportive community that has grown around Slim. The support forums are full of nice and helpful users ready and willing to help each other. There are also many collaborators and contributors who have helped Slim become even better. And for that I am super thankful!

If you had to re-do it all over again, what are would you do different?

Slim Framework version 1.0 (way back in 2010) was built as a large singleton. Obviously, I would not do that if I were to start over 🙂 But you live and learn!

How is the actual team inside Slim framework structured? (Or is it currently a one-man show?)

Slim began as a one-man show, but there is now a dedicated working group with about 4-5 developers who are contributing to Slim on a daily basis. There are also at least 50 contributors who have helped on GitHub.

Is Slim framework backed by any commercial entity? (I mean for example, Symfony Labs is behind Symfony, Zend Inc is behind ZF..etc)

Yes! New Media Campaigns has sponsored the Slim Framework since the very beginning. The fine folks at New Media Campaigns have been super helpful fostering Slim’s development so that it can become even better.

New Media Campaigns also provides design, development, and marketing services to clients large and small who need websites and web applications, perhaps built with the Slim Framework!

Is this project 100% from free motivation, or somehow you generate some revenue to compensate for all the hard work behind?

I do not get paid a salary to work on Slim. I do accept donations, though. Donations are a great way to say thanks for my open source work. Donations will help validate my time spent on the framework and perhaps buy me a coffee or two 🙂

The good moments of your journey so far and any bad moments of it?

Good moments: seeing the great community build up around the framework.

Bad moments: Learning how to say “no” to a lot of decent ideas to avoid scope creep and feature bloat.

Are you against a full-stack framework?

Nope. If a full-stack framework is the best tool for the job at hand, by all means use it!

Which one is your favorite among Laravel, Symfony, Zend..etc?

Probably Laravel, but I’ve heard tons a great things about both Symfony and Zend.

I hear that slim framework version 3 will be out soon – tell us a bit about: when it will be out, what will be about, the new features and all..

Version 3 should be available in early 2014. Progress is coming along very quickly, and there’s a lot of cool new features coming! Version 3 is all about simplification and refactoring. There’s been a lot of baggage and backwards-compatibility that I’ve been carrying up to now; version 3 will shed this baggage and provide a simpler, optimized codebase for Slim’s future. As for features:

  • Improved dependency injection and service location with Pimple
  • Better cryptography
  • First-class session support
  • Improved decoupling with interfaces
  • Initiate downloads from the filesystem or shell process output

More details coming soon!

Will you still give support to version 2 or will you urge everyone to move upwards? And on the compatibility levels, how is it gonna be?

I always encourage everyone to move upwards. But version 2 users will always find support on the Slim Framework support forums. I will make sure version 2 documentation is archived and made available for download, too.

As for backwards compatibility, version 3 will be a fresh start with lots of refactoring. So, yes, there will definitely be a few changes.

What are your future plans with Slim framework?

My plans right now are to continue molding Slim into the perfect PHP micro framework. There is a growing community, too. So who knows. Is there a “Slim Con” in the future? We’ll see!

Is it being used by a wide audience, would you have any metrics for it?

Slim has been very well received! It has over 3000 stars on GitHub. Over 85,070 people have installed Slim via Composer so far.

Something I heard people say online: “slim lacks certain attentions in terms of documentation and guides. There is still no great tutorial for it..” What is your call on this?

I’ve heard this, and I intend to answer this with the version 3.0 release. The current documentation is very good, in my opinion. But I agree, there is a lack of tutorials to help beginners learn how Slim can help them.

“Slim favors cleanliness over terseness and common cases over edge cases” For those that might find this an ambiguous statement, could please explain a bit what is meant by “terseness” and “edge cases” in this case? And how Slim is solving these ambiguities?

I need to reword that 🙂 What I mean is that Slim does not try to be concise and terse when lengthier, simpler, and more obvious code will achieve the same goal. I want Slim’s source code to be super easy to read so that beginners can learn from the code to become better programmers.

As far as building up a framework, could you share how to approach this kind of development – what does a PHP programmer need to invest time in, what he needs to learn and be equipped with to be able to conceive a framework.

Don’t invest too much time learning PHP. Instead, learn the HTTP protocol, how to read raw HTTP requests and build raw HTTP responses. These skills will translate across programming languages and will always be useful.

Building a framework entails a lot of decision at different level also, could you share what are some of those decisions and the factors affecting those decisions

The most important decisions I’ve made building the Slim Framework is how much to build into the framework itself and how much to leave to the individual application developer. Like I mentioned in an earlier question, learning to say “no” to a lot of decent ideas has been the hardest lesson I’ve learned. My primary focus has been to improve Slim while keeping it small and focused. In my opinion, the best micro framework will help the developer when needed but otherwise stay out of the developer’s way.

How do you see the framework ecosystem in the next few years coming?

I think the future is already here! I’ve noticed a major shift from monolithic frameworks to more componentized architecture, mainly thanks to Composer and Packagist. It’s so easy to grocery shop for components needed to build out any application. For example, I can use Slim, Eloquent ORM, and Monolog to build out a basic web application with HTTP request routing, a database backend, and powerful logging. I can mix and match any number of thousands of available PHP packages to build whatever I can dream of.

I think the future will further refine this development model.

A PHP framework creator that you admire?

Fabien Potencier. He’s an amazing developer and has been an inspiration of mine for quite some time. I’ve learned a lot by reading his blog and reviewing his code.

Would you have the names of some prominent projects that are using Slim?

There are many others, but these are the first that come to mind.

One slim-based project that you find is making effective use of Slim’s philosophy and good coding principles that people can learn from?

Statamic is a great example. They have built a wonderful, flat-file content management system on top of Slim. The entire project, including its design, user interface, and data architecture all epitomize Slim’s core philosophies of simplicity.

Could you tell us what are some of the best practices you believe in and would strongly preach to anyone

Build, test, and deploy often. Iterate quickly. Do not wait forever to release a polished product because the odds are your product will never see the light of day. Build a good product, release it, and grow your customer base. Then iterate, iterate, iterate!

If Anyone needs help concerning Slim framework, where can they get help or hang out?

Go to http://help.slimframework.com

If someone wants to code efficiently & comfortably with Slim framework, what is your advice?

Read and adhere to the best-practices put forward by PHP The Right Way. And use Composer.

For those who want to donate to support this project, what are the options available?

You can donate weekly with GitTip, or you can send a one-time donation with credit card by clicking on the “Donate” button on Slim’s website home page:

The web presence of Slim framework?

If someone wants to be able to understand HTTP protocol, the
way you perfectly do as you demonstrated with Slim, what is your advice?
Any recommended resource/books?

I’m by no means an expert at the HTTP protocol 🙂 I’m still learning.
But I do recommend these resources:

  • http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
  • http://www.amazon.com/HTTP-The-Definitive-Guide-Guides/dp/1565925092/
  • http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-1/
  • http://www.w3.org/Protocols/rfc2616/rfc2616.html
  • http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding

How would you define a middleware

Middleware is a terrible term, but it has become the defacto label that describes a code layer that exists between the raw HTTP request and the
core application, and between the core application and the raw HTTP response. This applies to a myriad of frameworks and languages. With
Slim, middleware is a PHP class that extends the \Slim\Middleware abstract class. Middleware classes are run around the core Slim application (an instance of \Slim\Slim). You can wrap multiple middleware layers around the Slim application, treating it like an onion. The HTTP request will work its way down through each middleware layer until it reaches the core Slim application, and then the HTTP response will work its way out from the Slim application through each middleware layer until it is delivered to the HTTP client.

Admittedly, it takes time to understand exactly how this works, but it provides enormous flexibility and the ability to manipulate the raw HTTP request and response objects before and after the Slim application is run.

Is middleware really needed when event handlers are there

– (this question was contributed by Hari KT via twitter)

That’s a good question. And the honest answer is no. Slim has been, is, and probably always will be a project that I build for myself. It is a playground that I use to experiment and learn new things about HTTP and application architecture. Middleware and event hooks are two different means to the same goal. Use one, use both. It’s up to you. But both have been actively adopted by Slim Framework users so I won’t be removing one or the other anytime soon.

What’s Next?

Now that you’ve got a comprehensive ‘apercu’ of Slim, you can probably read a bit more from someone (another PHP community friend – Jeremy Kendall ) who has actually used it in one of his open-source projects. Besides, he has also given a couple of nice conference talk about Slim, so this is surely a-must-read to satiate your ‘php/slim awareness’:- Slim PHP Micro Framework Through The Lens Of Jeremy Kendall.

Lone Star PHP 2014 Review 02 :: Spotlight On Jeremy Lindblom’s Stay @ #lsp14 – Let’s Continue To Learn & Share #CommunityWorks

What Is This All About?

Lone Star PHP is a PHP conference which takes place yearly in Dallas/Texas. This year, it took place some weeks back on the 25th-26th April 2014. So what was the buzz, the happenings and the PHPing all about in there? To serve this purpose, 7PHP brings you some reviews based on the personal experience of the people who actually attended and/or spoken at that conference. With this edition, we are at the 2nd review of #lsp14. Stay tune as 7PHP plans to bring more reviews, even one with the organizers!

In this Series till now:

 

NOTEYou can view all the speaker’s slides and ratings here on joind

 

And Now Let’s Visualize #lsp14 Through The Mind Of Jeremy

Jeremy Lindblom
Jeremy Lindblom

>> Hey Jeremy, please tell us a bit about yourself

Hi, I’m Jeremy, or @jeremeamia on Twitter. I’m a PHP software engineer at Amazon Web Services where I work on the AWS SDK for PHP (https://github.com/aws/aws-sdk-php) and help other PHP developers learn about the AWS cloud. I’m also one of the co-organizers of the Seattle PHP User Group (@seaphp).

>> Is Lone Star PHP 2014, your first one to their yearly “party”?

Yes, this is the first time I’ve been to Lone Star PHP.

>> Could you describe how it was when you landed at lsp14? Your feelings, the environment, the people..etc

I came right from the airport to the speaker dinner, where we had some delicious BBQ. We had a big group out in the patio seating, and it was like seeing bunch of friends. PHP developers are a friendly bunch. 🙂 The conference itself was very nice. Being in a small conference center made the whole event seem very tightly-knit, and you knew that everyone there was someone you could easily converse with.

>> What are the things that you really enjoyed there?

Being in a small conference center made the whole event seem very tightly-knit, and you knew that everyone there was someone you could easily converse with. I also liked how the after parties were very relaxed. Oh, I also loved the Dublin Dr Peppers.

>> The top talks that marked your spirit?

I’m sure everyone would agree that the keynotes by @snipeyhead and @crell were really great. Because I was sick some of the time, I missed a number of sessions, though. Of the ones I did see, I really enjoyed @CaseySoftware‘s APIs talk and @jmikola‘s Beautiful, Measurable Software talk.

>> The #1 Talk that really went beyond, and why?

@snipeyhead‘s keynote was really first class. She has a great presence on stage and was able to call upon her extensive experience in security to provide unique perspectives and insights on web security.

>> Anyone you’ve chat with and who have made a high impression?

I listened in to a conversation with some of the Drupal folks (@crell and kris). It seems like they are a very smart and fun group.

There are so many others that I enjoyed talking with as well. If I have to name a few, then I’ll go with @eliw, @auroraeosrose, @dshafik, @jmikola, @michellesanver, @dragonmantank, @jcarouth, @elnoelle, @shrtwhitebldguy, etc. I could keep going, but let’s just say that there were a lot of awesome people there.

I was also great to meet the LSP organizers and Dallas PHP people like @enygma, @jakefolio, @omnicolor, @dcousineau, @bobmajdakjr, and probably some others that I can’t remember off the top of my head.

>> What did you take home from #lsp14 – the ideas, lessons and take-aways that you would like to share..

PHP developers are an awesome bunch of people. Let’s continue to learn and share #CommunityWorks

>> You’ve also been speaking, tell us about it, how it was, the reaction of your audience..etc?

I have had the honor to speak at a few PHP (and other) conferences in the past year-and-a-half, and I am looking forward to a few more opportunities this year. I enjoyed my talks at Lone Star PHP a lot, and I hope the attendees did as well. I was in the small room, but it was full each time, and I had a lot of audience participation.

>> Were you satisfied with your talk, if no what would you like to improve on for next time?

Yes, I felt that they went well (despite that I could barely speak due to illness), and that I was able to provide good information for the attendees. I received some helpful feedback on joind.in as well that I can use to tweak those and future talks.

>> Will you be speaking again there next year?

If they’ll have me, then sure!

>> How was this conference different from other conference you’ve attended?

I felt like this conference was very close-knit; everyone was all together in the small conference center. The after parties were more like big family gatherings. Oh, and there was BBQ.

>> Aspects where you feel this conference went ‘A-class above’?

I thought they did a good job creating a comfortable, low-pressure atmosphere for the attendees in both the sessions and after parties.

>> Any improvements you would recommend to them?

I think everyone would agree that the wifi was a problem. It’s easier said than done to fix, so good luck to them on that.

>> Any other “behind the scene” things you would like to share with us?

I had a conversation in the hall with @shrtwhitebldguy, @auroraeosrose, @jcarouth, @adamculp, and a few others to try an figure out who @phphugs is. The results were inconclusive. 🙂

Also…

I think I may have been the very last #lsp14 attendee to leave Texas. I got stuck there after becoming ill (double ear infection) and was not able to fly home until after a full week later. That was a very long, but tasty week, since I was able to try some of the restaurants that I missed while the conference was still going. @omnicolor also invited me over one of the days that he was brewing beer. I don’t drink alcohol, but the brewing process is very interesting.

>> Last but not the least, if you want to add more things to share with us..

Nothing I can think of. 🙂

Lone Star PHP 2014 Review 01 :: Spotlight On Chris Tankersley’s Stay @ #lsp14 – We Need To Talk To Each Other To Learn & Grow

What Is This All About?

Welcome to the 7PHP PHP-eatre (theatre) where the screens never tires of diffusing everything that has PHP deep down inside the DNA. Tonight, we’ll watch the “after-the-show” of a yummy PHP Conference, named as the Lone Star PHP which took place last week.

The screen tonight, features our PHP Rockstar, the Only-and-Only Chris Tankersley. It is worth-all-the-while to raise your attention here about this guy; Chris has been the very #1st 7PHP Interviewee back when I started on this journey in January 2012. So Chris aka dragonmantank is someone very special here for 7PHP! (And for The Community as well for those who already know him)

NOTE: You can view all the speaker’s slides and ratings here on joind

And Now Let’s Visualize #lsp14 Through The Mind Of Chris

>> Hey Chris, please tell us a bit about yourself

Chris Tankersley
Chris Tankersley

I’m Chris Tankersley, and I’m a PHP consultant from Northwest Ohio. I’ve been doing PHP professional for about 10 years, and server administrator for about 8. I’m a speaker, writer, and trainer as well, in addition to being a father to two great little boys and husband to an awesome wife. I also run the Northwest Ohio PHP User Group, though we’re in a bit of downswing right now, though I’m hoping to get us back into regular meetings here soon. I occasionally blog at http://ctankersley.com and you can find me on Twitter as @dragonmantank .

>> Is Lone Star PHP 2014, your first one to their yearly “party” ?

This was indeed my first year for Lone Star. I had wanted to attend last year, but my schedule didn’t really work out. I’m kind of glad I missed the 100 degree weather last year though!

>> Could you describe how it was when you landed at lsp14? Your feelings, the environment, the people..etc

I’d never been to Texas properly, just flown through DFW a few times. I was really excited that I had been chosen to speak at Lone Star, especially since I knew the guys who were running it and that they would be doing a great job. Bob Majdak Jr. picked me up, and then we went to pick up Jeremy Mikola, whom I’ve know from other conferences. Bob was a great person to ride around Dallas with.

I’d met the organizers many times at different conferences, and they were wonderful hosts.

The people at the conference were great as well. I met a bunch of new people and caught up with old friends. At every conference I gauge the “hallway track” to get a feel for how well the conference is going, and there was usually someone to talk with. During the lunches people were eager to speak with each other, another good sign. I really enjoyed it.

>> What are the things that you really enjoyed there?

For me, much of is the people and interacting with them. I learn a lot by talking with people about what they are doing, especially new people. Lone Star also had a great set of talks so it was hard to pick one to go to. I didn’t feel like there was ever a dull moment.

>> The top talks that marked your spirit?

While none of the talks I attended were bad by any means, the keynotes from Allson Gianotto and Larry Garfield were my favorites.

>> The #1 Talk that really went beyond, and why?

I think it really was Larry Garfield’s keynote about the changes in Drupal. There’s always the idea that really bad codebases cannot be refactored into something better, and the Drupal community is showing that it can be done. Larry is a great speaker and really conveys how much the Drupal Community wants to get in line with more modern practices, and clean up much of the technical debt they’ve incurred over the years.

>> Anyone you’ve chat with and who have made a high impression?

I spoke with many different people at the conference, and each conversation had it’s merits. I don’t think I could pick just one.

>> What did you take home from #lsp14 – the ideas, lessons and take-aways that you would like to share..

First and foremost, at these regional-ish conferences you always take home the feel that the community is the best part of PHP. We don’t live in a bubble and we need to talk to each other to learn and grow. Ben Ramsey‘s talk about working on core PHP did get me to finally bug Liz Smith about a mentorship on C and internals, and Jeremy Mikola’s talk on developing beautiful software has gotten me to use a few new tools.

>> You’ve also been speaking, tell us about it, how it was, the reaction of your audience..etc?

Even though I’ve been speaking at conferences since 2012, speaking is always the best and worst thing in the world. I’ve always got a lot of anticipation and worry leading up a talk, and then coming back down from the actual talk. I encourage anyone to try it at least once, if not at a conference at least at your local user group. My talk was on some system administration tips for PHP devs, and the crowd seemed to enjoy it. The comments on Joind.in were encouraging and the talks I had afterward were as well. I look forward to giving the talk again soon.

>> Were you satisfied with your talk, if no what would you like to improve on for next time?

Honestly, I’m not usually satisfied with any of my talks. This is not because I don’t like the topic or felt it was sloppy, but after every talk I have a list of things I want to change. I’m proud of my talks, but like my code there is always room for change. This talk changed from the last time I gave it at Zendcon, and it will change a bit the next time I give it.

>> Will you be speaking again there next year?

That’s up to the organizers 😛 I will definitely be submitting again, Lone Star was perhaps one of the best conferences I’ve been to. I’m really enjoying going to these smaller regional conferences, in addition to the ‘bigger’ ones like php[tek] and Zendcon.

>> How was this conference different from other conference you’ve attended?
>> Aspects where you feel this conference went ‘A-class above’?
>> Any improvements you would recommend to them?
>> Any other “behind the scene” things you would like to share with us?

Lone Star wasn’t terribly different than the other regional conferences I’ve been to, like Midwest PHP last year and Sunshine PHP earlier this year. These conferences excel in bringing people together, especially people that might not be able to make it to the conferences further away. In fact, there is very little I would change unless the conference gets bigger, but the amount of talks with the length of two days is a good size.

Lone Star went above-and-beyond with the food. I’d love it if the other conferences offered barbecue on par with what Lone Star offered.

Other than the speaker’s dinner (which, again, how can you go wrong with pounds and pounds of barbecue?!) there’s really not a behind the scenes. PHP conferences in general do a great job of getting speakers to mix with the attendees. The only difference between us and the people that attended was that we had to get up on stage and speak.

>> Last but not the least, if you want to add more things to share with us, feel free to do it here..

The only thing I would add is that if you have a chance to go to a PHP conference, do it! If you can’t make it to php[tek] or Zendcon, find a regional one. The last few years have seen a bunch of them pop up. Get involved in the community locally, as well as globally, by attending user groups, conferences, and hanging out online in IRC. The PHP community is a community that I’m proud to be a part of.

PHP Interview With Josh Lockhart The Guy Behind ‘PHP The Right Way’ – Find Good Online Resources And Communities & Use Them To Your Advantage

Purpose Of This Interview

This is the #38th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders“. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Long Intro..

Captain America
Captain America

It’s just PHP, it’s dead easy.. even my kid can do this” – if you have been coding PHP for a while and/or been mingling with different developers or colleagues at some point, you have most probably heard something similar. When these kind of unhealthy mists are diffused around (coupled with poor tutorials & fluffy code-snippets spread all around the internet), it is obviously normal that all kind of negativity will emerge concerning the integrity of PHP as a language. But what you need to be aware of, is that most of those misconceptions have been the result of people who have wrongly used the language in one way or the other; a knife is harmful, but does that mean you don’t use it? These people usually fall in one of the following categories:

  1. novice PHP guys with online presence – they want to be cool by spreading (vulnerable) PHP codes everywhere online; from their blogs to online-php-script-farms (those sites that distribute PHP code for even punching you in the face, remember?)
  2. bloggers with no programming/php experience – they just want to publish ‘a lot of and a lot and a lot more‘ content and codes about PHP
  3. lame php coders with financial interest – these are people who want to write quick codes that ‘just work’ in order to be sold for money
  4. out-dated content – As PHP has marched to what it is now, little has been done by bloggers and article authors to update their PHP articles which were written in the ‘cave-age’ of PHP. Btw, you need to read & re-read Ben Ramsey’s talk on Modern PHP – click!
  5. And the list goes on like this…

“STOP, STOP, STOP! That is enough! We can’t go on like this!” YES! Someone finally took the responsibility to make things go in The Right Direction. And this man, this brave man, this ‘super-hero’ is here to make a change happen – he is named Mr Josh Lockhart. He is The Captain America of The PHP Community! Josh came forward with a convincing righful movement (if I can allow myself to tag it as such) to help PHP-ers get a sense of good direction when it comes to ‘dealing with/and taming’ PHP as a tool to make good software.  This initiative is named as PHP The Right Way!

As with any endeavours that is meant to bring a positive change, it is not just (and cannot be) a one-man show! The Avengers, does that ring a bell? YOU have to help as well! YOU, yes YOU- if YOU consider yourself part and parcel of The PHP Community, raise forward and help US help PHP be tamed The Right Way! All the other heroes have joined forces as well and you can find them all here in this list on Github | or see the Credits’ section down the home page on phptherightway.com – so join the party, we need YOU as well! Each one of us has a unique skill and this will help everyone. For community is family and to help family is ‘going beyond in thyself’!

How can you help you say? Aye!

  • Contribute a ‘correct’ tutorial on phptherightway.com
  • Proof-read a tutorial on phptherightway.com
  • Share and spread the word about phptherightway.com
  • If you find an old tutorial online, inform the author about his content being out-dated
  • If you find a code that can be improved, feel free to express your view on it to the author – of course, in a gentleman-nish way. If the author does not respond, blog about it and share with the PHP community!
  • Translate PHP: The Right Way into your language if it hasn’t been translated yet. (This was suggested by Peter Kokotsee his comment below)
  • Add to this list (make a comment below and I will include yours here..)

THOUGHT/ProTip: PHP is not just about the codes, it’s much more than that – It’s about The Community!

 

Time to get back to our 7PHP ‘PHP advice’ from people doing it the right way. Let’s now hear from Josh Lockhart!

And Now The Interview..

>> Please tell us a bit about yourself

I am a developer at New Media Campaigns, a web design, development, and marketing agency in the amazing small town of Carrboro, North Carolina. I’ve worked for New Media Campaigns since 2007 where I juggle both front-end and server-side development.

During my spare time, I enjoy participating in open source projects. I created and maintain the Slim Framework, a popular PHP micro-framework that makes it easy to develop web applications and APIs. I also created and maintain PHP The Right Way, a popular initiative in the PHP community to demonstrate PHP best practices, accepted coding standards, and links to authoritative tutorials around the Web.

I graduated from the Information and Library Science program at the University of North Carolina at Chapel Hill in 2008 and currently live in Chapel Hill, North Carolina with my wife and two dogs.

Josh Lockhart
Josh Lockhart

>> How you started with PHP

I started learning PHP back in the early 4.x days when I was in high school. I had already picked up some basic HTML and CSS skills, and I wanted to expand my toolset. PHP was the most accessible programming language to me at the time, so I bought some books at Barnes and Noble and spent many late nights reading, learning, and slowly building my skills while working on freelance projects.

>> Your LAMP stack comprises…?

I don’t use the traditional LAMP stack. Instead, I run a separate Ubuntu Server VM with Vagrant for each ongoing project. Each VM runs nginx, php-fpm, MySQL, and other tools depending on the project.

I had initial doubts about this workflow when Kris Jordan first introduced me to Vagrant, but I’ve fallen in love with the process. I can setup and teardown VMs really quickly. All of my work is stored in GitHub and accessible on whatever computer I happen to be using at the time.

>> How do you find PHP now as compared to when you first started

There’s no comparison, really. PHP today is lightyears better than PHP when I first started. It still has its oddities, but what programming language doesn’t?

>> Based on your experience, what are the good and bad parts of PHP

A lot has been written about this, so I’ll be brief. The best parts of PHP are summarized on PHP The Right Way. But if I had to pick, I’d say that Composer and Packagist are probably the two most important additions to the PHP community in the history of the language.

The worst part of PHP (well, the one thing that constantly annoys me) is function naming inconsistency. There are some functions that I always have to Google to remember the correct signature.

>> What would be the Top advice to a PHP beginner

Find good online resources and communities and use them to your advantage. There are so many online resources about PHP, and most of them are either outdated or just not that great. This is one of the reasons I created PHP The Right Way, and I’m thrilled that so many community experts and leaders have helped contribute to the project. I’d start with that.

Also seek out your local PHP User Group and go to as many meetings as you can. Not only will you learn new skills, but you’ll make friends and networking connections.

>> To someone who wants to become a better PHP developer..?

See previous

>> What are some common PHP mistakes you often see beginners make?

Beginners will often re-invent the wheel, so to speak. Which is a decent way to learn, but it’s not very efficient. Instead, I recommend using existing components (e.g. via Composer and Packagist). You can learn from reviewing the components’ source code. Once you get comfortable, you can even submit a pull request or two.

>> The best PHP book you’ve read

I don’t have a particular book, perse. I’ve mainly learned from online resources.

>> A PHP blog or resource you highly recommend

Well, I hear PHP The Right Way is great, but I may be biased! Some other good online resources are:

The online PHP documentation is also a surprisingly good, reliable resource, especially the user comments.

I also recommend that you find and follow active and reliable PHP users on Twitter.

>> The IDE that you use

I use SublimeText and vim for my day-to-day editing. I’ve recently started using PHPStorm specifically for working on the Slim Framework, but I’m not yet proficient with it. Honestly, I’m happiest with a simple text editor and a terminal window.

>> How do you debug your PHP code?

I use PHPUnit for unit tests. I use XDebug with MacCallGrind when I need to troubleshoot performance issues.

>> A PHP framework you use and would recommend

For small sites and APIs, my own Slim Framework is nice, as is Silex.

For larger applications, I’d steer you toward Laravel built by the incomparable Taylor Otwell of UserScape.

Taylor Otwell
Taylor Otwell

>> A unit test framework you recommend using?

PHPUnit. It’s been around forever, but it’s still the best.

>> A CMS that you think is worthwhile

Whatever works best for the job. I’ve recently become fond of Drupal, but it’s certainly not for everyone. ExpressionEngine seems to be on its way out the door. Several other favorites are HiFi and Statamic.

>> An E-Commerce cms you recommend

None. I’m not a fan of e-commerce, and I would typically avoid self-hosted e-commerce systems. If you want to do e-commerce, I’d use Shopify in conjunction with Stripe. This way infrastructure and PCI compliance are outsourced to people who know what they are doing!

>> Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

It depends. For quick prototypes or for applications where absolute performance is not a big concern, then ORMs are fine. But they should not be a crutch for poor SQL skills.

You should make certain that your ORM generates efficient SQL queries. If you do need to worry about performance, nothing beats dropping down to raw SQL and PDO.

If I had to recommend a particular ORM, I’d use Laravel’s Eloquent component.

>> One PHP library/Project you really appreciate

Twig. No competition. It seems like every project I make uses it. It’s the best PHP templating framework out there, even better than PHP itself! Fabien Potencier is a genius.

>> One PHP person that you admire and what strikes you about him/her

Phil Sturgeon - PyroCMS Founder
Phil Sturgeon – PyroCMS Founder

Phil Sturgeon. He’s always pushin’ code and gettin’ it done.

>> Which was the worst programming mistake you did?

There are too many to list. I can’t remember them all.

>> Things that you’ve learned from being part of The PHP Community

The most important lesson I’ve learned is that there are no “famous” PHP people… there are only people that participate and make things happen.

I’ve also learned that there is no shortage of opinions, and that the PHP-FIG is the best and worst thing ever.

>> How do you time manage all the stuffs that you do, coupled with your personal life?

It’s not easy, but I try to stay off my computer as much as possible after I get home from work. But sometimes my wife and I will crash at our local coffee shop and I’ll knock out some code and catch up on GitHub issues.

>> The day you realised “You’ve made it to the A-List PHP arena” ?

There’s an A-List?! haha. I certainly don’t consider myself on it. But I think PHP The Right Way is my proudest accomplishment when it was able to bring so many PHP users together for a common good.

>> Why you are successful and why others are not?

Success is relative. You can be successful in your company, your local user group, etc. The key is to just get involved. I got involved and created open source projects on GitHub. With a bit of luck and a lot of hard work, I’ve gotten to where I am today.

>> The best conference you attended would be…

Actually, I have not attended a conference yet. I’m not really a conference person. As my wife can confirm, I’m a pretty quiet guy, I’m not a fan of large crowds, I don’t drink alcohol, and I’m most comfortable sipping a coffee while coding away at my local coffee shop. I’m sure I’ll find myself at a PHP conference eventually though!

The PHP Community Is Much More Than PHP Codes or Frameworks. It’s About Good Involvement, Humility, Empathy, Relationship & Giving Back – Jacques Woodcock Shares His Wisdom!

A Small Intro..

Back on the 5th November 2013, I landed on three quotes from Jacques Woodcock – published by SouthernAlpha. Those quotes were the outcome of a chat between the ‘World Famous’ Jacques (as Jeremy Kendall tags him) and Clark Buckner on: “about giving back to the community“. The article (I felt) did not satiate my curiosity and thirst to tap more on those quotes which were clearly a top-level view of some wise thoughtful advice (beneath). The ‘level of wisdom’ in them was too strong to be left there, I had to bring it out and I’m thankful to Jacques ‘TheKit’ Guy for sharing with me (and hence you) his precious experience he gained down the years and elaborating more on those quotes.

Who Is Jacques Woodcock?

Jacques Woodcock
Jacques Woodcock

Although I have already introduced Jacques Woodcock to you in his 7PHP Interview: “PHP Interview With Jacques Woodcock A Leader In The Nashville PHP User Group – Engage In Conversation With Smarter People“, I would like to tag him as X-men’s Professor Charles Francis Xavier:- JacquesTheKit is a Leader of the Nashville PHP User Group and does everything (and more than) he can for Nashville, for diabetics as well as for The PHP Community. And above all, he is imbued with wise thoughts and gifted skills.

So ladies and gentlemen, put your hands together to welcome in the 7PHP’s theatre tonight, Mr Jacques Woodcock who’ll walk us down the road of leadership, good involvement and good attitudes to nourish!

And Now The Follow-Up With Jacques About His 3 Quotes On SouthernAlpha

QUOTE 01:

“I started going to things. I started going to Nashville PHP user group. I did BarCamp, sat on the board of Digital Nashville, I also sit on the board of TEDX Nashville. Also, CoderFaire, JSF mentor, and BarCamp Nashville.”

>> What motivated/inspired you “to start going to things”

Around 10 years ago, I was working at an agency doing web development, running the department, and seeing first hand how Nashville had to go up against bigger markets such as New York, Atlanta and Chicago, for work. I found after much comparison that Nashville’s biggest weak point was the education level of it’s talent level and the broad availability of that educated talent. I have a firm belief that education is the solution to almost all societal problems, thus I had a strong desire to help elevate the education level in town. This lead me to getting involved in the programs that were already existing to see if I could help strengthen them as well as helping setup new education programs. As Nashville has matured this focus has expanded to include elevating the profile of the wonderful talent we have and place them on a bigger stage.

>> Lessons learned, that can be of influence to others, including me?

Ego needs to be checked at the door. You can’t do community development in order to feed your ego and you can’t do it for any reason other than to better the community. If you have ulterior motives the community will see and respond accordingly. Also, there are those who have great ideas and plans around those ideas; then there are those who can execute those ideas. Find out which one you are and only be one per initiative. Then find others willing to help to be the other. Make sure to pick people you can count on to actual do the work needed.

>> You’ve been co-leading so many chairs along the way. What is the secret ingredient behind?

I believe the broad reach of my experience is mostly due to my willingness to connect with other people to find their passions and to help spread those out to the rest of the community. We are all diverse beings, and by tapping into that, you can experience much more than a single focus.

>> What are the challenges of being a leader?

The traps I see leaders fall into often are when they push things upon the community that the community doesn’t actually want or need. Making sure you are listening attentively to the community is a skill that needs to be practiced every day.

>> To those that are skeptical or even fearsome of taking on the Leader shoe, what is your advice to boost them up with confidence?

People who are afraid are typically afraid to step on people’s toes if they were to do something wrong. It’s avoiding conflict before conflict exists. Being a leader doesn’t mean you’ll have conflict and is easily avoided by being honest and transparent. This goes with my belief you can not have ulterior motives when doing community development or the community will react accordingly. You have to do it cause you are passionate about bettering the community and if you are, as well as honest and transparent, the community will support you.

>> What are the attributes that a leader needs to have?

Leadership simply needs a vision and the ability to find people who can share in their vision to make it come true. In doing so, humility needs to always stay in the forefront because nothing a leader does is done themselves. If they want to continue to be a leader they need to realize this.

>> Things that leader should say NO to and why?

Things that are not good for the community and flame wars.

QUOTE 02:

“By getting involved, you get to meet and interact with people who know things. I’ve learned so much from people from being engaged.” I owe so much to the community that I want to give back.”

>> What are the different ways that someone can get himself involved?

There are 3 steps to getting involved. First, show up to events. Second, volunteer to help run the events. Finally, volunteer to organize the events.

>> And quality things he should be doing during his involvement

Practice the humility and listening. When you volunteer to help run an event, listen for what needs to be done and do it. Make things happen. This will translate when you volunteer to organize. What ever you do, do not volunteer under good intentions and don’t follow up. To be respected you have to follow up with actions to what you say.

>> What are your secret “to engage with people who know things”

I have no secrets. I deeply respect the people in my community. They challenge me and make me smarter. I simply what to be spend time with them and learn.

>> Is any involvement, necessarily a good involvement?

I’m not sure many people will tell you this, but no. Not all involvement is good involvement. When you get involved you must be useful. Don’t say you want to help, but then don’t follow up with it. Find what needs to be done and get it done. If you get the feeling that being involved will just add dead wait, to your fault or the organizers, don’t do it.

>> Your tips concerning “getting yourself involved”

Showing up is the first step. From there, show interests, the rest typically takes care of it’s self.

QUOTE 03:

”The truth is that our light shines for a little and then it goes away. Our job is to make our communities a little brighter. We can do good, but we have to have the humility to know that we can’t do it alone.”

>> What do you actually mean by the phrase “..our light shines for a little and then it goes away..” ?

I mean humans live for just a short amount of time and in that time, we only contribute on average

>> In what ways can we make the community brighter? + What is your call to action for people to do it?

Get involved; attend your user groups, hack weekends, conferences. You will find your place in the community once you show up.

>> You are focussed a lot on maintaining humility and empathy. Could you share with us how to train oneself to adopt this attitude and what are the gratification behind, based on your own experience.

For humility I recommend standing beside the immense span of the ocean, sun just falling below the horizon, and think about how little your presence leaves a mark on this world.

For empathy, expose yourself to any one you can. Get to know them, what makes them tick and realize deep down, we all want the same thing from life. Execute remembering both of these.

>> To you, is there any difference between humility and empathy? How do you define them, as applied to PHP ecosystem.

Humility is the willingness to say that though you might be an agent of change, if it weren’t for a community to accept and support change you would be nothing; while empathy is the ability to understand what change the community needs/wants.

The PHP Community = ‘Fountain Of {Wisdom, Friendship, Gratitude, Life-Betterment}’

I would like to end with this golden “tweet reply” from Jacques:

 

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

A Talk With PHP Recruiter Lonnie Brown – Forget About Money & Take Care Of Your Candidates

A Small Intro..

You have all heard of recruitment; we have it in all sphere and The PHP Sphere is no exception to that. Have you ever had an talk with a recruiter? Are you considering reaching out to a PHP recruiter? Or may be, as a company, you are looking to hire one to fill in your PHP recruitment needs? Look no further, I bring you The Guy for all these questions and curiosity that you may have! But all too often, most people also have wrong perceptions about recruiters; as in any job position, there are the right guy and the wrong guy – not all PHP recruiters are that bad. There are some that are making a difference and may be today this interview can show some lights down that tunnel. I would love to hear your comments and feedbacks after your reading + any questions to Lonnie Brown – I’m sure he will happily respond.

Btw, Cal Evans will be hosting Lonnie Brown this incoming 22th March 2014 for yet another awesome DayCamp4Developers. It’s actually the #9th episode of DC4D and this time the theme is “Manage Your Career“. So I hope this interview comes in at the right time for you to bombard Lonnie with LIVE questions on that day! Before going further, if you haven’t done so, go tweet a thankful message to Mr Cal Evans (@CalEvans) on Twitter – he’s consistently bringing in a lot of nice Themes with DC4D down the years (and recently with NomadPHP) to help all of us get exposure and knowledge, specially for those (like me) who cannot travel to attend a conference and meet those PHP Rockstars to learn from them. GO TWEET A MESSAGE TO @CalEvans!

And Now Hear It From Lonnie Brown

>> Hi Brown, could you please introduce yourself to my 7PHP readers?

PHP Recruiter Lonnie Brown
PHP Recruiter Lonnie Brown

Absolutely. I am a father of four with 2 bonus monkeys. I have been recruiting in technology for over 17 years. Ranging from MBE crystal growth to semiconductor, and almost every level of software and hardware. I have been focused exclusively on PHP Recruiting and the PHP Community for the past 3 years. The PHP arena is very unique in that it really is a tight knit group of extremely intelligent and talented folks, a true community. I am blessed to be accepted into this community.

>> What types of recruiters are there with respect to a PHP recruiter?

I would say predominantly permanent recruitment mainly, although I did run into a few folks doing it on a contract or temporary basis. Also I would have to add, mainly bad recruiters, and just a handful of good ones.

>> Does PHP recruiting differs with, let’s say, JAVA or Ruby recruiting?

I would say it could be similar, yet different. Again it would come back to the level of involvement with the participants in the community.

>> Is there a difference between a freelance recruiter and a full-time recruiter?

both could be full time recruiters. in my head I think of freelance as someone who works for themselves vs an agency.

>> The code and ethics a recruiter must observe

This is a great question. In my opinion there are several that are non negotiable. Confidentiality, a fair balance of responsibility to the client and your candidate. A total disregard for your own interests including compensation. If someone follows these basics they will do well.

>> Could you tell a bit about how the process of recruitment goes? How do you proceed?

well that would be an entire paper all in itself! it is simply a matter of being involved with the community you would like to recruit out of, and building trust with the folks in it so that you are trusted and known.

>> The responsibilities of a PHP recruiter?

take care of the people in the PHP Community and the clients hiring them. Be accessible and willing to help in any way possible.

>> The challenges that a recruiter faces

getting outside of our comfort zone and participating in the community.

>> Does a PHP recruiter need to have a PHP background or he can be anyone?

I do not believe so, although since being involved in the PHP Community I have actually taken some php development tutorials to better understand what my people work with. It could certainly be an asset.

>> What are the skills and know-how that a recruiter need to have?

I think Curiosity, research ability, and a friendly personality all are very key. Intelligence is nice also.

>> If you have to describe the life of a recruiter?

It can be quite a grind until you find a space you like working in. You will meet a lot of people that say I tried recruiting or used to be a recruiter. But few who are career recruiters.

>> Do you like being a recruiter?

I love what I do, I like to help people. If I can shorten someone’s drive or help them get to the next level in their career. That is why I am a recruiter. there is no better feeling in the world that I can think of.

>> Would you like to share a secret which you acquired with your recruitment experience

yes, forget about money and take care of your candidates and clients. Your needs will be met by doing this as a default.

>> Your good and perhaps not-so-good moments being a PHP recruiter

wow… one of the best moments involved a sub sandwich, a pint of beer in an engine-yard glass, and a robe in a glass elevator at php/tek 2012. lol
that might have been a not so good moment as well, guess it depends on your perspective. I think the photo is out on twitter somewhere.

>> What is your Opinion on PHP and it’s community? How has it evolved down the years, for you?

AMAZING. it continues to involve with the contagious enthusiasm that one feels when attending a community event. I do not see it slowing down any time soon. So ya, AMAZING.

Lonnie Brown & Job seekers

>> As a PHP recruiter, what are the aspects and things that you look for when recruiting a PHP guy

I like to look at their code repository such as github. See and talk about what they have worked on and how they solve challenges. See what involvement they have with the community and also the stuff they work on in their spare time.

>> What is your advice to someone looking for a job, to maximize his chances of getting that job

call me for interview prep! do your homework on the company, ask intelligent questions. Show case your skill set and ability to learn. ask for the job if you want it.

>> What is the advantage of a job seeker liaising with a recruiter to find a job?

this again could be an entire paper. There is a virtual daycamp for developers in March where I will be covering this in a talk in detail. subscribe and I will see you there!

>> For the job seekers or PHP talents out there, what is your advice to them so that they can discern which recruiter is genuine and not just doing it for the job.

If you do not see them at your usergroup, conference, or in your IRC Chatroom. You may want to find someone who is.

>> What would be your valuable career advice to job seekers.

lets talk! : )

>> You know this guy (looking for that job) is “the one for it” when.. (complete the sentence)

i finish speaking to him and his experience, soft skills, and goals line up with the clients needs and offerings.

>> Would you like to share a secret which could be useful to a job seeker

call the hiring manager directly : )

Lonnie Brown & Recruiters

>> Your advice for someone who wants to become a good recruiter?

see above answer regarding clients and candidate and ignoring your needs. also the answer regarding getting involved with the community.

>> Pitfalls of being a recruiter

you need two sales for every deal. if you just want to sell things pick something other than people.

>> You know a job seeker is lying when.. (complete the sentence)

they speak? oh no that is recruiters. After 17 years I just know, my friends refer to me as the human lie detector.

>> Is “being a PHP recruiter” still lucrative?

If done right, absolutely.

>> Your message to the other recruiters out there

do your research, do not mass email, and go get involved in the community.

>> A good recruiter is “the one who see the candidate’s full potential” – how is this true?

Because that is how you get them into a stretch position where they can learn and grow. It takes intuition and thought to see this in someone and communicate to the client in a way they will be receptive.

Lonnie Brown & Some Issues Mentioned ‘here and there’ On The Web

>> “The problem with many recruiters is that they simply don’t pay any attention to the desires of candidates” REF: http://java.dzone.com/articles/why-tech-recruiters-suck-and

agreed, it is a common problem. I wrote an article for a past employer explaining why this is, but it got censored and I almost got fired. lol it will be back up soon or you are doing it all wrong.

>> Recruiters are infamous for lying to candidates about their clients, salary ranges, job responsibilities, etc REF: http://java.dzone.com/articles/why-tech-recruiters-suck-and

indeed.

>> Recruiters are bad for your career – brandon savage – http://www.brandonsavage.net/why-recruiters-are-bad-for-your-career/

Familiar with this one, and Brandon and I have actually discussed it. We have yet to meet in person, so not sure if I can change his mind on this. I will keep you posted as I am sure we will meet this year!

 

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

Michelangelo van Dam Shares His Insights On Unconference

Michelangelo van Dam Shares His Insights On Unconference

A Small Intro..

Attend an Uncon
Attend an Uncon

Have you been to an unconference aka uncon? I have not unfortunately (at least not yet)! But I was curious of what it actually is, the benefit you can reap from it, the responsibilities that it presents and how it’s different from a conference. I started looking around of a possible interview (with uncon organizers around) about it since last year. But this year, 2014, I was adamant of getting it rolling. To concretise this wish, the perfect man for it was Michelangelo! Perfect because he never turns down an opportunity to share his knowledge and wisdom with The PHP Community and also mainly because he has organized and participated at so many different uncons. Besides, he’s the founder and co-leader of the PHP-BENELUX user-group – the level of insight and advice that you get from him is invaluable and of high quality.

A Bit Of SunShine..

Also I wanted to have it before the SunShine PHP Conference which will take place in this incoming 6th February. What SunShine Conference has to do here, you ask? Well, SunshinePHP will feature a special track dedicated entirely to a special unconference, that will be hosted by — guess who? If you are going to attend this event, I’m sure you will see a lot of surprises!

Who Is Michelangelo van Dam?

Michelangelo (DragonBE online) is a man that truly needs no introduction. He is a black belt (Ninja Turtle) in PHP, he is a PRO at doing Parkour & free-running with Zend Framework, leads a PHP consulting firm in the Benelux (in2it), he trains new PHP Jedi whether it’s about PHP itself or about Zend Certification exams, he talks about PHP Quality assurance, is a regular speaker at so many PHP Conferences, hosts unconferences, is a regular sponsors at so many user group events & online talks (namely DayCamp_for_Developers), is someone who strives for quality and above all he is a green elePHPant that keeps the PHP Community close to his heart; he engages the community to an extent that always goes beyond!

Michelangelo Ninja Turtle
Michelangelo Ninja Turtle

DragonBE is now a regular PHPstar on 7PHP with the following:

  1. His PHP interview
  2. His Zend Certification Advice interview
  3. His wise thoughts on PHPwomen
  4. His wishes to Cal Evans who just turned 50
  5. He bitcoinized 7PHP
  6. What is an uncon
  7. + another surprise interview soon (well not so soon, we’ll see)

And since it’s now a tradition, we cannot (not) mention:

whenever and each time I pronounced his name, I feel like I hear Cal Evans‘ words: “Michelangelo is the man with the coolest name ever in The PHP Community”.

HINT: If you want to hear Cal saying that too, you have four options:

What Is An UnConference – Let’s Hear It From Michelangelo van Dam

Michelangelo (to the right) with Juan of PuPHPet.com at an uncon
Michelangelo (to the right) with Juan of PuPHPet.com at an uncon

>> Michelangelo Could you, tell us a bit about yourself

My name is Michelangelo van Dam, but most people know me by my Internet nickname “@DragonBe”. I work as a PHP consultant for in2it, the leading PHP consulting company in Belgium where I’m principal consultant and lead trainer.
On the side of my professional engagements, I’m the public face of PHPBenelux, the PHP user group in Belgium, the Netherlands and Luxembourg (Benelux), where I work with a team of PHP professionals to bring PHP closer to the developers. We organise monthly meetings and have an annual conference. Our 5th anniversary is about to start on January 24.

 

Once work is done, I reserve all my free time to my wife and 3 sons.

 

>> You mentioned “I work with a team of PHP professionals to bring PHP closer to the developers”

>> How do you guys ‘bring PHP closer’ to them, could you share the approach you take?

With PHPBenelux we move from city to city, making it easier for developers to attend our meetups. And with the spawning of more localised PHP user groups in the Netherlands it’s even easier to bring PHP closer to developers, as these localised PHP user groups are right there where the developers are.

For other country standards we have a lot of communities in a small area (Belgium, Netherlands and Luxembourg), but this is exactly why our community is thriving and vibrant: there’s always a PHP community around the corner. Which is a huge benefit in my book.

Travis Swicegood author of the Pragmatic Version Control Using Git
Travis Swicegood author of the Pragmatic Version Control Using Git

>> What is an unconference about + how is it different from a conference one?

UnCon sessions are run separately from the main tracks and provide an opportunity for attendees to share additional topics. These side tracks are totally unscheduled so there’s no knowing what’s being presented in advance.

 

So how do you know what’s being presented? Simple, each day there’s an uncon, conference folks can sign up at the “uncon board”. This board can be a white board, a black board, a flip chart that’s set up somewhere at the conference floor, location is often announced at the beginning of the conference.

 

What content can I expect at an uncon? Any kind of topic you can think of basically, as long as it’s in line with the conference theme you’re allright. You can give a presentation with or without sides about a subject you’re really familiar with, do a round table discussion about a concept or an idea you’re playing with (also called “Open Spaces”, but less formal), or just chit-chat about cute cats on the internet.

 

Whether you’re an attendee, a conference speaker or a sponsor, you’re welcome to step up and share with the community. And the benefit is that each session is registered on joindin, the community tool for feedback to speakers. This will allow participants of the uncon to gain credibility when they want to present at a conference. (PS: you should talk to Chris Cornut a.k.a. @enygma to know more about joindin).

 

If we are able to arrange something with the organisers of the conference, there’s also a little gamification involved. For instance, at DPC the winner of the uncon gets to come the year after as a scheduled speaker on the main track! It can be beneficiary to participate in an uncon!
Kevin Bruce at an uncon
Kevin Bruce at an uncon

>> Could you list the uncon that you’ve organised? + Place(s) it is(was) held (including country)

Ow, I didn’t keep track of them all as most of the time it was a little ad-hock kind of thing. The most important ones were the Dutch PHP Conference (DPC) in Amsterdam, ZendCon in Santa Clara and Paris, Tek in Chicago and now upcoming SunshinePHP in Miami.

 

>> The uncons that you are going to be organizing/hosting soon? + could tell us briefly about them.

My upcoming uncon is SunshinePHP in February and my company is sponsoring the Open Spaces at Tek in May. And time will tell what the future will bring.

 

>> How did/does the motivation of organizing uncons come from? What inspires you to always be up for it?

My motivation to run the uncon comes from the same place where my passion for doing community work through the PHP user group. I want to give people the opportunity to bring out the best of themselves and make them part of the awesome community we have.

It’s a simple concept: I just offer the stage, the stepping stone for anyone to share knowledge or ideas. It’s a next level, where we can give feedback to new speakers to make them better or share our experiences during a round table discussion. It’s the game of giving that makes the uncon such a great experience, both for participants as attendees.

 

>> The average number of attendees of uncons?

Average numbers I’m not giving here because it’s not about the number of people in the room but the vibe the session spreads. I’ve witnessed often a room was filled with just a few people, but started tweeting about the session and by half way the session the room was filled up to the point people were standing in the doors.

It’s not about the quantity here, about the quality. We’ve seen experienced unknown people stepping up on stage and bring an awesome session about a particular subject where they were capturing the full attention of the whole room, because it was just awesome!

Of course we’ve also seen a bad session turning into a worse one, but this is where I and other attendees step up and give advise to turn it into a great final. Community works, here more than ever!

 

>> The highest number of attendees you noticed at an uncon?

Like mentioned before, numbers are not an issue. But a room with 30+ filled seats and people standing through the doors and at the side of the walls is a very rememberable moment that happened quite often.

 

>> Attendees tend to be of what background mostly?

Don’t forget the attendees are the same as the people at the conference. These are developers, managers and other folks that roam the conference floor. And the door is open, everyone is welcomed.

 

Michael Kimsal from WebDevRadio doing a podcast
Michael Kimsal from WebDevRadio doing a podcast

>> What unique opportunity does organizing a PHP unconference , presents?

First and foremost, the uncon is a way to discover new talent, talent to speak at conferences. It gives new speakers a chance to stand above the crowd and get noticed.

By being the “ring leader” of the uncon, you get to see a lot of interesting topics and new ways to do things better. I won’t lie here, I’m picking up a lot at these sessions. So yes, there’s a benefit in there as well: knowledge.

 

>> Is there a ‘call for paper’ for uncons? How do you select for speakers?

Nope. Uncons are unpredictable until the day of the sessions. People sign up during the day on the board which is often already completely booked before noon. It’s a simple structure: first come, first serve. If you want to share something, come early! That’s my advice. And each day of uncon is a new opportunity to be awesome!

If you want people in your room, you need to do the leg work: you need to promote your talk yourself and draw in attendees. How you do this, that’s up to you. Use social media is always an obvious way, bribe people in hallways is also a method I’ve seen or just have a catching title that makes people interested in showing up. The board is in front of everyone, so the more catchy your tag-line is the more people will show up at your uncon.

 

>> On what criteria does the team select speakers, what are the key areas that you seek to select a speaker

There are none! You can walk up to the board and write down any subject you want. It doesn’t matter if you’re new or experienced. There’s no selection based on race, religion, gender or what not. If you have something to share, sign up. That’s the golden rule.

Jeremy Lindblom at an uncon
Jeremy Lindblom at an uncon

 

>> Lessons learned from previous uncon editions

Besides the fact I’ve learned a lot from just listening to people speak at the uncon, I also know that that each uncons can be a present under the Christmas tree.

 

One occasion I remembered very clearly is that I was sitting at an uncon besides the guy who started puphpet.com (Juan). There’s always interesting to discover during the uncon, that’s why I love uncons.

 

>> How are you going to make new editions even better than any previous one you’ve hosted, any specific focus?

Like the uncons are unprepared, so am I. Let the PHPorce be the guide that makes the uncon great. I’m just the intermediar ensuring people get set up correctly, explain who’s doing what and making sure that all sessions end on joind.in with feedback from the audience.

 

>> Things to keep in mind when organizing an unconference?

The uncon is not a sponsor track! It’s not a place where sponsors can talk about products or services and throw a sales pitch to people. You will loose credibility.

That doesn’t mean you cannot represent your awesome company. If you have knowledge value to share with the conference audience that’s either technical or operational, you’re welcome to talk about it. Just make sure you’re on the board early 😉

The uncon is also a place where new speakers should feel comfortable, so there’s no expectation of being a good speaker. Not everyone is talking fluently in front of a crowd and this is not expected at an uncon. Make sure the content is solid and interesting, the speaking part will evolve once you’re doing it more. Again, it’s like a talent hunt where potential new speakers can be discovered.

Ryan Weaver of KNPlabs at an uncon
Ryan Weaver of KNPlabs at an uncon

 

>> Is “speaking for” an unconference less of a stress than a conference one?

I hope so. We do our best to guide the people there to complete their talk or discussion in a very relaxed environment. There are no “bad” talks, speakers or subjects. And this knowledge will ease most of the folks.

But still, you’re in front of an audience which is still intimidating. And this is a stress you just need to deal with in your own way. But let’s be honest, most conference speakers are still nervous before they go on stage, even if they already have years of experience.

 

>> An Uncon talk (or Top 3) that really made you say “outstanding, he should be a conference speaker”

I remember ZendUncon in 2010 where Bulat Shakirzyanov (@avalanche123) did his uncon on “unit testing” and nailed it. He impressed the audience in such a way that he was elected winner of the ZendUncon2010. A year later he spoke at Symfony Live in San Francisco!

 

Another uncon that will go in the history books is the community session at TEK X ran by Keith Casey (@CaseySoftware) where the great community leaders of this earth Ben Ramsey (@ramsey), Lorna Jane Mitchel (@lornajane), Rafael Dohms (@rdohms) and me were hosting a community panel where the audience could ask questions about community related subjects. Up to this day I still wonder what I was doing there between those giants.

 

You should read the article and see the video Cal Evans (@CalEvans) made of that session, as back in the day it inspired Jeremy Kendall (@jeremykendall) to step up and start his local PHP user group, with great success. Looking back at this video I remember again why I started getting involved in the first place: sharing and giving knowledge to let other grow into something more.

 

>> How is organizing and running an unconference different from organizing a PHP Conference

A conference requires preparation, negotiation with sponsors, vendors, caterers and so on. This takes up quite some time in preparation phase, often months before the conference starts. You need to sell tickets and ensure everyone has one when entering the conference area.

The uncon requires almost no preparation and is often part of the organisation of a conference. Therefor I love to manage an uncon as it doesn’t really take too much time from me.

 

>> How is organizing and running an unconference different from organizing a user group

Uncons and user groups are closely related. Both are informal and provide an open stage for anyone who wants to discuss a subject.

>> Is there a difference between a Barcamp and an uncon?

barcamp is more about interests: 3 topics to choose from and 1 to present. Uncon is first-come, first-serve.

>> Your message to the people who are going to attend it

If you haven’t done so, attend an uncon session. Be amazed about the content and quality you might discover, not to mention the people you meet. Believe me, you always learn something there that will make your job a lot easier.

>> Any other things you want to mention/share?

If you organise a conference, see if you can fit in an uncon somewhere. It will give additional value to your conference and maybe even gives you an opportunity to discover new speakers for your conference the year after.

 

Josh Holmes & Eli White at an uncon
Josh Holmes & Eli White at an uncon

A Glimse at SunShinePHP Uncon On This Incoming Feb 2014

 

>> I’ve read that you are going to host the uncon at SunShine – and it will even have a special track dedicated to it. Could tell us about it, how it is going to make a difference and how you manage to making it big this time?

Haha, yes I could tell you more about it… but you should get a ticket and experience it yourself. Words cannot describe the sensation you have at the SunshinePHP uncon, especially since behind the scenes the evil creative minds of the community are working out something awesome. And it would be a real spoiler if I would mention it now.

 

>> What are the objectives and aim of this unconference (at sunshine)?

The objective for SunshinePHP is to engage the community and to have the local community step up and show they have got what it takes to speak in public. I would like to see the local community to step up and share their knowledge. I know there’s an expert in each attendee!

 

>> Could you briefly tell us about the key people behind this unconference and their respective roles

I know Adam Culp (@adamculp) and Pablo Godel (@pgodel) are the main folks behind the conference, but I expect more folks are engaged with this event. And of course the South Florida PHP (@SoFloPHP) user group will be having a great responsibility as well: representing the community 🙂

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

7PHP Have Been Bitcoinized By Michelangelo :: My First Bitcoin Experience & My First Bitcoins From Michelangelo – The Green Ninja Turtle With A PHP Black Belt!

7PHP Have Been Bitcoinized By Michelangelo :: My First Bitcoin Experience & My First Bitcoins From Michelangelo – The Green Ninja Turtle With A PHP Black Belt!

Bitcoin Came To Me Via Michelangelo van Dam

Coinbase Bitcoins Gift from Michelangelo
Coinbase Bitcoins Gift from Michelangelo

That Wednesday 8th January 2014, I got a twitter private message from Michelangelo van Dam. [And each time I pronounced his name, I feel like I hear Cal Evans‘ words: “Michelangelo is the man with the coolest name ever in The PHP Community”]. When I clicked on the small “blue new message icon” on top-right of my twitter, I could see “bitcoin address“. I was immediately puzzled (yes my mind runs very fast at thinking) and when I clicked on the message, DragonBE aka “The Green Ninja Turtle With A PHP Black Belt“, said:

Hey, what’s your bitcoin address? Maybe put a bitcoin button widget on your blog as well (see https://coinbase.com/docs/merchant_tools/payment_buttons for more info)

I knew about bitcoins, but I had no bitcoins account or online wallets and never used bitcoin before. I started reading about it on the link mentioned by Michelangelo. In there, I was further pointed to the very informative About Bitcoins & Wallets at weusecoins.com. There were all the possible solutions about using a bitcoin account. The software and hardware solutions were definitely not my choice as they were tedious to setup and takes over 24hrs for an account to be usable.

I was left with the following online solutions:

  1. Blockchain
  2. Coinpunk
  3. Coinjar
  4. Coinbase

I dropped Blockchain and Coinpunk because they mentioned that if I ever lost my password, there is NO way I can retrieve my account and bitcoins in it. So definitely a no no for me.
I created an account on Coinjar, the interface was user-friendly. But it was targeted only at Australians and it did not had an extra security as coinbase (read on). This one too was not for me. Then I was left out with Coinbase. Infact, I should have only used it straight-away since Michelangelo always sites or refer to something that is useful and proven.

I created an account on Coinbase – it was very intuitive and simple steps; just had to provide my email and password and voila! I confirmed my account via confirmation email. And I logged in, I have been able to set my country to Mauritius, but it would only list american states for the “states” field. Then I referred to the FAQ, I quote:

QU: Can I verify my identity as a non-US resident?
ANS:

At this point in time we can only support U.S. based customers. This means that any persons residing outside of the U.S. will not be able to complete the identity verification. We hope to add support for non-U.S. customers in the near future and appreciate your understanding.

Please remember that anyone can use our web-based bitcoin wallet without completing ID verification. We offer the ability to receive and store bitcoin, secure your funds with 2-factor, create recurring payments, manage paper wallets, and send bitcoin to email addresses. As always, there is no charge to receive, store, or send bitcoin. Coinbase will even pay the miner fees when sending bitcoin out of your account!

Therefore this meant, I could use my account with coinbase to accept bitcoins and keep it in my coinbase wallet for future use when they open their possibility to non-us people like me.

Advantages Of Coinbase – My Own First-time Experience

Things that stood out with coinbase:

  1. Has an extra security on login: after I login in with my email/password, it will send me a verification code via sms. I really appreciated this step. See a screenshot below:

    Coinbase Verification via sms
    Coinbase Verification via sms
  2. I can generate an online donate or pay button instantly with their tool, a working example is my generated Bitcoin button which you can find on my right sidebar | See on the top-right under my elePHPant. I will try to paste the code here and hopes wordpress’s editor does not mess the code:Donate Bitcoins
  3. Their web interface is very intuitve and user-friendly
  4. They have a password recovery option
  5. Is in the process of being reachable to non-us countries

The Token Of Appreciation From Michelangelo

Michelangelo van Dam - President Of PHPBenelux PHP User Group
Michelangelo van Dam – President Of PHPBenelux PHP User Group

And that night I received (was gifted) some bitcoins by Michelangelo, with the message:

you now have a small token of appreciation on your bitcoin address. Thanks for all you do for the community! #communityworks

It was really a unique moment, it’s the first time I received a money/coin gift, and I even rushed to my mum to share my happiness (she’s the only one supporting me in my PHP-love). My mum (the humble woman that she is), told me: “you see your honest work is showing another good sign (my green elePHPant gift from Joe Stagner), be really thankful to that guy (Michelangelo) and all of the people supporting you and always pay them respect, always!”. Words are not enough again, to describe how happy I was and that day I went to sleep around 1hr15 a.m and I took time to sleep since I felt like it was in a dream. Michelangelo, Sir, I’m humbly and sincerely thankful to you! You made my day, that day!

And I will end with this – Michelangelo Always Gives Back!

That day I remember, I saw Michelangelo tweeting:

 

As you have guessed, I was one of the “receivers” on that day! Michelangelo you are truly in the list of the guys I tag as “Beyond Awesome, Beyond A+ in all that you do”! (God Bless!)

How & Why Did The PHP Mascot Come To Birth? The elePHPant Secret Story!

How & Why Did The PHP Mascot Come To Birth? The elePHPant Secret Story!

A Small Intro :: PHP & The PHP Community..

If you know how to echoHello, PHP’s simplicity is actually awesome; I do not need magical programming skills to use it like this“, you are a PHP beginner..
If you’ve pushed your first commits on github, you are possibly an intermediate PHPer..
If you’ve launched a useful, sustainable, community-adopted open-source PHP project (a current concrete example is Taylor Otwell’s Laravel Community) smelling good standards, you probably nailed it – you are a pro PHPer with a decent level of PHP Cred.

If you have heard about The PHP Community at least once, you are somehow close to being part of The PHP Community.
If you have heard about Cal Evans at least once, you are probably a fan of The PHP Community.
If you have attended the monthly NomadPHP online session at least once, you are already part of The PHP Community.

But you cannot be a true fan of The PHP Community and a programmer with PHP in your heart, if you haven’t heard of the magical, mystical and elegant PHP mascot that is coined as and known famously and passionately as ele.. PHP.. wait for it!: The elePHPant!

(Did you know: Michelangelo van Dam is so addicted to The PHP Community that he tamed 50 elePHPants at once – no wonder he’s tagged as a ferocious community animal)

If you are part of The Community, you probably already knew how it was created since the creator of the elePHPant answered it in his movie.

From PHP to elePHPant - The Elroubio Movie
From PHP to elePHPant – The Elroubio Movie

But! Do you actually know why it was created and where the idea of creating it came from? And do you actually know Elroubio himself?

Hold your breath, I bring you those eager answers from the mouth of Vincent Pontier himself. Welcome to the magical history of The elePHPant aka The Magical Elegant ‘PHP-Master’ that is beautifying the PHP-life of so many of us!

NOTE:
I actually conveyed the interview in French and Vincent also replied in French (since he is from France). So I’m going to translate his french answers into English. If you also know french and see that you can improve on the translation, feel free to let me know! (#thankful)

In any case the original french version of it, is also present in here.

en_EN :: Vincent Pontier – The Interview [Translated To English]

Vincent Pontier aka Elroubio - Creator Of elePHPant
Vincent Pontier aka Elroubio – Creator Of elePHPant

>> Hi Vincent, could you please introduce yourself to the 7PHP readers?

Vincent PONTIER aka Elroubio, 41 years old, married with a wonderful wife, three beautiful children, Head of Human Resources of the Communication Group INSIGN and spiritual father (PHPather) of thousand of elePHPants around the world … A fairy tale (PHPer) right ?

>> You are the original designer of the elePHPant logo. Everyone ask how you created it, but you answered it already in your movie.

>> So I’m going to ask you: ‘why did you start to work on this concept and where has the idea of creating a PHP mascot came from’?

In 1998, CGI scripts were one of the only ways to make a ‘first generation’ website a little more interactive with visitors (Forum , guestbook, … ). One evening in November, a developer friend, François BUFFIÈRE, talk to me about this new language called ” PHP “. A language that would, according to him, revolutionize the interaction with visitors in the years to come. In 1998 few French web site talked about PHP. Only Jean-Pierre DEZELUS, site owner of dezelus’page – a personal website that would become the famous PHPinfo.net, spoke of this programming language. While my friend François who came to code at my home to show me what they could do with this “PHP”, in a deep thought, I was having fun drawing the letters “PHP” in capital letters on a white sheet of paper.

By chance – chance sometimes do make good things happen – I suddenly noticed that the letters were forming the shape of an elephant if viewed in a ‘sideways angle’. Look at it well, you’ll see! I sent my first drawing to Jean-pierre Dezelus who I did not know at that time. He was a collector of elephant, this is amazing right? So he asked me to create an elephant in the same style as the true PHP logo.

A blue oval with a black outline gradient. I did what I had to do and we put this “elephant logo” for download on his website. While putting it online, I named the image file as elePHPant to play with the words a little bit (words’ pun).

The rest of the story you know… Over time, the PHP community has grown, PHP has become the most used language in the world on the internet and developers have adopted the elePHPant as a mascot just like the Linux penguin! A plush animal was born 10 years later. It is now known around the world … A beautiful story of chance 😉

The Original elePHPant Logo
The Original elePHPant Logo

>> Did you also come up with the word elePHPant? Could you please tell us a bit how it all begun?

Yes I created this strange word (mid PHP, mid elephant) in 1998 along with the first drawing of the elePHPant! There was even a decline of the concept with the word “PHPin’up” in 2001 after the burst of the Internet bubble, small IT pinup which you might be able to find in the archives of google image!

>> As the “PHPather spiritual” (as Christophe Villeneuve calls you) of this amazing PHP plush toy, could you please tell the PHP World how YOU define an elePHPant? [a magical definition?]

Magic? Ooooh noooo 😉
However some developers say they make no coding error when they have a Plush elePHPant put above their screen… We do not have any scientific evidence of this strange phenomenon (PHPenomenon)!

>> According to you, what was the impact of the elePHPant on The PHP Community

Some fun?

>> A few words about PHP and/or The PHP Community?

The PHP community is one of the best IT Community in the world. Since the 90s this wonderful community has never denied its values ​​of solidarity, generosity and sharing with an open mind! I am proud to have contributed to such a great community of engineers while being only a graphic designer.

>> If someone wants to buy an elePHPant online, is there any place for it?

We have an e-commerce project site for elePHPant goodies, with some friends who were present since the start of the elePHPant story – the PHPioniers in France (Damien SEGUY, Cyril STONE GEYER, Christophe Villeuneuve). For now, you can order directly from Christopher VILLENEUVE. Otherwise, shoot me an email: vincent.pontier_at_gmail.com

>> Where does the name Elroubio come from and what does it mean?

In fact, this is the nickname given to me by my father when I was a kid. “El Rubio” means “The Blond” in Spanish. Since I have my hairs rather “reddish”, I found this nickname for the Web in 1995: “Elroubio”. That’s it, you know everything 🙂

>> Any thing you want to add?

Yes. Thank you for this good moment of sharing the answers to your questions. It is always a pleasure (PHPleasure) to remember those fantastic years that have forged the web of today.
LOTS OF HAPPINESS! Thank you!

fr_FR :: Vincent Pontier – The Interview [Original Replies In French]

>> Salut Vincent, peux-tu s’il te plaît te présenter aux lecteurs de 7PHP?

Vincent PONTIER aka Elroubio, 41 ans, marié avec une femme formidable, 3 beaux enfants, responsable des ressources humaines du Groupe de communication INSIGN et père (PHPère) spirituel de milliers d’elePHPants dans le monde… Un conte de fée (PHPée) non ?

>> Tu es le créateur original du logo elePHPant. Tout le monde se demandait comment il a été créé, mais tu as déjà répondu dans ton film.

>> Je vais donc te demander pourquoi tu as commencé à travailler sur ce concept et où l’idée de créer une mascotte de PHP a surgit?

En 1998, les scripts CGI étaient un des seuls moyens de rendre un site internet de première génération un peu plus interactif avec ses visiteurs (Forum, livre d’or,…). Un soir de novembre, un ami développeur, François BUFFIÈRE, me parle de ce nouveau langage nommé « php ». Langage qui allait, selon lui, révolutionner l’interaction avec les visiteurs dans les années à venir. En 1998, peu de sites web français parlaient de php. Seul Jean-Pierre DEZELUS, propriétaire du site dezelus’page, site perso qui allait devenir le fameux PHPinfo.net, parlait de ce langage de programmation. Alors que mon ami François était venu programmer à la maison pour me montrer ce que l’on pouvait faire avec ce « php », en pleine réflexion, je m’amusais à dessiner les lettres «PHP » en majuscule sur une feuille blanche.

Par hasard – le hasard fait parfois bien les choses – je me suis aperçu que les lettres formaient un elephant de profil…Regardez bien vous verrez ! J’ai envoyé mon premier dessin à Jean-pierre DEZELUS que je ne connaissais pas à ce moment là. Il était collectionneur d’éléphant…incroyable non ? Il m’a donc demandé de créer un éléphant à la manière du vrai logo php.

Un ovale bleu dégradé avec un contour noir. Je me suis exécuté et nous avons mis ce « logo elephant» en téléchargement sur son site. Au moment de le mettre en ligne j’ai nomme le fichier elePHPant pour faire un jeu de mot. La suite de l’histoire vous la connaissez…

Au fil du temps, la communauté PHP s’est agrandie, PHP est devenu le langage le plus utilisé dans le monde sur internet et les développeurs ont adopté l’elephpant comme mascotte à l’instar du pingouin de Linux ! Une peluche est née 10 ans plus tard. Elle est aujourd’hui connue dans le monde entier…Une belle histoire de hasard 😉

>> As-tu également inventé le mot elePHPant? Peux-tu s’il te plaît nous en dire un peu comment tout a commencé?

Oui j’ai créé ce mot étrange (mi PHP mi ELEPHANT) en 1998 en même temps que le premier dessin de l’elePHPant ! Il y a même eu une déclinaison du concept avec le mot « PHPin’up » en 2001 après l’explosion de la bulle internet, petites pinup informatiques, que vous pouvez peut-être retrouver dans les archives de google image !

>> Comme le « PHPather spirituel » (comme Christophe Villeneuve te nomme) de cette magnifique peluche, dis au monde PHP comment définisses-tu un elePHPant? [Une définition magique??]

Magique ? Hoooo noooon 😉
En revanche certains développeurs affirment qu’ils ne font aucune erreur de code quand ils ont une peluche de l’elePHPant posée sur leur écran…Nous n’avons pas encore de preuve scientifique de ce phénomène (PHPénomène) étrange !

>> Selon toi, quel a été l’impact de l’elePHPant sur La Communauté PHP ?

Some fun ?

>> Quelques mots sur PHP et / ou de la communauté PHP?

La communauté PHP est l’une des plus belles communauté informatique au monde. Depuis les années 90 cette merveilleuse communauté n’a jamais démentie ses valeurs de partage de solidarité d’ouverture d’esprit ! Je suis fier d’avoir pu contribuer à une si belle communauté d’ingénieurs en étant seulmement graphiste à la base…

>> Si quelqu’un veut acheter un elePHPant en ligne?

Nous avons un projet de site e-commerce dédié aux goodies elePHPant avec quelques amis de la première heure… les PHPioniers en France (Damien SEGUY, Cyril PIERRE DE GEYER, Christophe VILLEUNEUVE). Pour le moment, vous pouvez commander directement auprès de Christophe VILLENEUVE. Sinon, faites-moi un email : vincent.pontier_at_gmail.com

>> D’où provient le nom Elroubio, elle signifie quoi?

En fait, c’est le surnom que me donnait mon père quand j’étais petit. “El Rubio” veut dire le “Le Blond” en espagnol. Comme j’ai les cheveux plutôt “roux”, j’ai trouvé ce pseudo pour le Web en 1995 : “Elroubio”. Voilà tu sais tout 🙂

>> Si tu souhaites d’ajouter quelque chose pour terminer..?

Oui. Merci à toi pour ce bon moment partagé à répondre à tes questions. C’est toujours un plaisir (PHPlaisir) de me souvenir de ces années fantastiques qui ont forgé le web d’aujourd’hui.
QUE DU BONHEUR ! Merci !

Thankful To Elroubio

I’m thankful to Vincent for having responded to this interview and also for having gifted 7PHP a custom ‘ele-7PHP-ant logo’ which I already announced here: 7PHP Has Been Blessed Today By The ‘PHPather Spirituel’ aka Elroubio

7PHP Logo v2 - Designed by Vincent Pontier
7PHP Logo v2 – Designed by Vincent Pontier

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

7PHP Has Been Blessed Today By The ‘PHPather Spirituel’ aka Elroubio

A 2nd** Magical PHP Surprise

Early today (Monday) morning before starting my working day, I was having a hot cup of tea (Mauritius has one of the finest black tea) while just hovering through my 7PHP email quickly. One email caught my attention, it was from the Creator of The Magical elePHPant, I named Vincent Pontier aka Elroubio. El-‘PHPather Spirituel’ (as Christophe Villeneuve coined him) was announcing he has been working on a new logo for my website, 7PHP – the 7PHP logo v2. I was like speechless, I can’t imagine all the PHPappiness I’m receiving. Vincent you made my day and I humbly, happily and thankfully accept your gift, the new logo you made specially for 7PHP . Receiving such a gift from the man who himself created the original elePHPant design, it’s really a blessing!

**It’s the 2nd special morning with full of PHPappiness, the first one being my stuffed-elePHPant gift – The Green Zend elePHPant from Joe Stagner.

The New 7PHP Logo Designed By Vincent Pontier aka Elroubio

Dear PHP World, I present to you the new 7PHP logo designed by The One & Only father of the awesome #elePHPant:

7PHP Logo v2 - Designed by Vincent Pontier
7PHP Logo v2 – Designed by Vincent Pontier

Look The Green Zend elePHPant Is In Mauritius With 7PHP

My Heart Started Beating..

That day (some weeks back in November**) I was busy with my new PHP mission – a Prestashop-based project for a client (NeoPost.com) – yep I’m the (new) sole PHP guy behind Neopost France & Neopost Benelux since the last 6months. I was very motivated and was peacefully focusing on my task. I’m in joy whenever I code with PHP because it’s my passion. But suddenly the phone started ringing. My colleague took it and after a few seconds, he was waving towards me; the phone was mine. I got up, walked a few steps and took the phone. “Hello Wasseem, sorry to disturb you, urm we have received a parcel addressed to your name and it appears to be from overseas..” At that moment my heart started beating, beating and beating as I was whispering to myself: “could it be that Joe Stagner‘s gift has reached me!?” And there goes my heart beat again. I rushed to fetch my parcel at the reception..

** sorry time flies so fast + I had something in mind to delay this announcement

I Felt Out Of This World – My Heart Felt So Dammm Good!

Once at the reception, I saw the box: on it was Joe Stagner‘s name. I gently opened the box. The rest was a sudden burst of emotions as I discovered infront of me for the first time ever of my PHPlife, the Magical, the Magnificent and the Blessed PHP Mascot – The elePHPant! The feeling of joy and humbled tears that I felt can somehow be best described with the image below with me as the one in the middle:

Moments Of Pure Joy!
Moments Of Pure Joy!

Aaannnd The Green Zend elePHPant Has Finally Come To 7PHP!

The rest was just PHPagical moments! I took my new PHP friend and best PHP friend ever for a ride around the company where I worked. My friends and colleagues were all curious with what they saw in my hand. I took much pleasure and happiness showing around The PHP Mascot – it was like I won The Golden Gift (recognition?) ever! So for that I am very much thankful to Mr Joe Stagner of Zend Inc; Sir You made my day, my year and my PHPlife has a new meaning – The elePHPant way of living!

1) This pic I dedicate to all the awesome PHP friends and elePHPants of The PHP Community, and specially to PHPwomen (I’m a fan of!)

Green PHP elePHPant
Green PHP elePHPant

2) This one I dedicate to The Icon Of The PHP Community – Cal Evans

elePHPant Signaling PHP
elePHPant Signaling PHP

3) And this one I dedicate to all Mauritians as I believe I am the FIRST Mauritian to have it. (God Bless Joe Stagner!)

Green elePHPant In Mauritius
Green elePHPant In Mauritius

A 2nd Gift – Logo Designed By Elroubio

Updated: I received another gift, this time a 7PHP elePHPant logo designed by the creator of The elePHPant himself – Vincent Pontier

Icon Of The PHP Community Turns 50 – Happy Birthday Cal Evans!

Icon Of The PHP Community Completes Half A Century!

Cake-icon
The PHP community may very well be the greatest feature of the language. So many great people that are all willing to sit down and share what they know” – Cal once revealed on 7PHP.

So if The Community is the greatest feature of the PHP language, Cal Evans is very well One of the greatest, if not The greatest, asset to The elePHPant Community. Cal is known for being helpful & useful consistently and beyond your imagination. He always does his utmost best to keep the Community bonded – something which is unparalleled; really who has so much energy, motivation and will to go to that extent? Cal does! And he does it in a unique, friendly, humble and effective manner.

He has done so much for The Community, that now when he is completing half of a century (he is now a PHPentury elePHPant), it’s not going to be just a great day! Oh no! It should be an ‘awesomely great’ day!

“Cal you are AWESOME” – sings The Community in every corner of our elePHPant world and with style!

Cal Evans NomadPHP Organizer
Cal Evans – Icon of The PHP Community

Something which you probably did not know..

Three of the elite elePHPants, namely Elizabeth Naramore, Michelangelo van Dam and Evan Coury stepped up to setup the following amazing initiatives to wish The Grand Master, Cal Evans, a Happy Iconic 50th Birthday:

  1. A special Tumblr page with a list of ‘wishes, singing and all’ from various elePHPants
  2. an awesome birthday gift (from the generous contributions of so many PHPeople, which Cal will get to know in his special birthday card)

If you want to wish Cal happy birthday you can do it in these ways:

  1. Submit your wish on the special Tumblr page
  2. Send a tweet to @CalEvans
  3. Wish him in the comment section of this post

Happy Birthday Cal Evans – Yours 7PHP-ly

Cal, may you have all the health, fortune, motivation and energy to carry on with even more awesomeness in the other half of the century that is looking forward for you more than ever! You are our inspiration to “go beyond”! Happy birthday Mr Awesome!

And now, I humbly present the message of some of the amazing elePHPant rockstars of this generous and welcoming Community, that is The PHP Community.

Birthday Message From Michelangelo van Dam

[Michelangelo => 7PHP interview / @DragonBe]

>> How did you come to know Cal – tell us your story

I first met Cal at ZendCon 2006 where I attended the conference as a developer living on an island not knowing there was a huge community out there. Even I didn’t spoke with him directly at that conference, he had inspired me to become more than just a php developer.

>> Would you like to share some ‘Key moments spent with Cal’

Haha, that’s a good one! Every moment with Cal is a “key moment”! But one moment I will always remember was during PHPUK ’07 conference where I was sitting with Felix De Vliegher and Cal on a tram on our way to the hotel. Cal was giving us advices how to start a user group and what the things were we needed to think of. During this 15 minute tram ride he convinced both Felix and me and not soon after we started PHPBelgium. A year later we joined forces with phpGG and PHPBenelux was born.

We still call him the “Godfather” of our community and we were honoured that he spoke at our very first conference, now already 5 years ago.

>> The good thing about Cal is..

You’ve got your comparison wrong, Cal is the synonym for goodness.

>> One thing that you’ve learned from him

One thing out of the billion things I’ve learned from him? That is a tough one!

He leads by example, and I’m just absorbing his wisdom.

>> Your birthday message to Cal on his 50th one?

Cal,

You are a dear friend, a role model and Godfather of our community! I wish you a very happy anniversary of your 50 years of wisdom!

Happy birthday Cal

=C= fanboi Michelangelo

Birthday Message From Adam Culp

[Adam => 7PHP interview / @adamculp]

>> How did you come to know Cal – tell us your story

How I came to know Cal is such a hard thing to nail down, because we’ve both been in the community for so long. Though I think our friendship has truly grown over the past 4’ish years, we have known each other (or at least I have known of him) for a very long time.

>> Would you like to share some ‘Key moments spent with Cal’

We are all so busy, it’s hard to really get quality time in. However, I’ve enjoyed many conversations with Cal’s listening ear and insights, as well as scuba diving together in the warm Florida waters.

>> The good thing about Cal is..

Cal is open minded, while at the same time always willing to share his past experience and knowledge on any topic. Though he doesn’t push his views on anyone, he is always willing to share his perceptions constructively.

>> One thing that you’ve learned from him

If there was one thing that I have picked up from Cal it would be his contagious love of “community”. His never ending desire to help grow and enhance the PHP community has driven many of my own contributions and facilitated some of my own accomplishments.

Birthday Message From Jake Smith

[Jake => @jakeasmith]

>> How did you come to know Cal – tell us your story

I have been developing in PHP since 2001, but I never really joined the community until 2008. I found this conference called “PHP Tek”, and thought it’d be great to attend. Sadly I couldn’t make it that year, but I joined IRC and chatted with a lot of people.
Code Works made a stop in Dallas that year and I finally got to attend my first ever conference. I had recently purchased a book, Guide to Programming in Zend Framework, and saw Cal was speaking at Code Works. I, in total fan boy fashion, took the book to Cal’s talk and had him sign it.

I stuck around for the after party and got to talk with Cal a little more, and essentially that was the moment I was hooked into the PHP Community. Since then I’ve attended/spoke/organized conferences and events, and it all started at a small conference where I got to meet Cal for the first time.

>> The good thing about Cal is..

There are too many things to list at one time, but the thing I enjoy is his extreme positivity. His willingness to share his time/efforts to the community shine through is also something that sticks out to me.

>> Your birthday message to Cal on his 50th

You’re an amazing person whose life has touched so many in different ways. You welcomed me into the PHP community and become instantly hooked. Whether it was Tek, Voices of the ElePHPants, or Day Camp 4 Developers….I just wanted to say Thank You for all that you do. Have a Happy 50th Birthday!

Birthday Message From Joe Devon

[Joe => @joedevon]

>> How did you come to know Cal – tell us your story

I met Cal at Codeworks when it came to Los Angeles.

>> Would you like to share some ‘Key moments spent with Cal’

He helped support Global Accessibility Awareness Day on his podcast. Was much appreciated!

>> The good thing about Cal is..

Always ready to lend a hand. And a great voice for speaking 🙂

>> One thing that you’ve learned from him

The importance of community.

>> Your birthday message to Cal on his 50th one?

Happy 50 Cal!! You beat me by 4 years. See you at 100!

Birthday Message From Jacques Woodcock

[Jacques => 7PHP interview / @jacques_thekit]

>> How did you come to know Cal – tell us your story

I met Cal first at the PHP Community conference, and then at the Nashville PHP User Group, as well as other Nashville community events. We hit it off early on and found we see eye-to-eye on organizing and engaging the tech community in Nashville. From there, we started working together on a number of initiatives.

>> Would you like to share some ‘Key moments spent with Cal’

One of my favorite moments was when he and I were invited to talk to Rep. Jim Cooper on the SOPA bill that was trying to be passed through to law. We spent a lot of time learning the in’s and out’s of the bill and meet to go over what points we wanted to make at our meeting with Rep. Cooper. If you know Cal, you know he can be passionate, so I specially pointed out that we needed to remain calm during our meeting. Well, about 5 minutes into the thing Cal stands up and leans over the table to threaten Re. Cooper’s job. I had to smile while I was shaking my head. Love this man’s passion.

>> The good thing about Cal is..

There are so many things but if I had to pick one it would be he’s enjoyment of seeing other’s succeed and his selfless desire to help them in their journey.

>> One thing that you’ve learned from him

We see eye-to-eye on many things, but the biggest thing I have learned is if there’s something you want, go for it. If the community isn’t doing soothing you think it should, then do it. Failure is welcome.

>> Your birthday message to Cal on his 50th one?

Can’t wait to see what you do with your next 50 years.

Birthday Message From Jason Myers

[Jason => @jasonamyers]

>> How did you come to know Cal – tell us your story

I met Cal through the Nashville PHP group. I reached out to him as a complete stranger asking for advice on switching from networking architecture back into full time programming. Cal met me for coffee, and since then has continued to share his insights. He hooked me with with Luke from FoxyCart, and basically set me on a perfect path. He’s encouraged me to do more than I would have ever done on my own.

>> Would you like to share some ‘Key moments spent with Cal’

To me the key moment was going to Lonestar PHP. He got me a ticket via Elizabeth Naramore, and I drove down to austin from Nashville. When I got there he introduced me to the PHP conference community, and treated me like I was a way more talented person than I am.

>> The good thing about Cal is..

He goes above and beyond for everyone, and seems to thrive on others progress and successes.

>> One thing that you’ve learned from him

Great developers are as much about the community as they are about code. Giving back makes us all better

>> Your birthday message to Cal on his 50th one?

Thank you so much for helping guide me on my path, and for never tiring of my constant questions.

Birthday Message From Davey Shafik

[Davey => @dshafik]

>> How did you come to know Cal – tell us your story

I met Cal through IRC, and for the first time in person at ZendCon ’08 I think.
I hadn’t been to many conferences and Cal set the tone for me 😉

>> Would you like to share some ‘Key moments spent with Cal’

Cal always tells the story of the time he got wasted and wound up on IRC… where
I threatened to kickban him so he didn’t embarass himself. Luckily he chose to remove
himself… though I’m not sure how he remembers the incident so clearly; obviously he must keep logs!

>> The good thing about Cal is..

Cal is always willing to lend a hand, or an ear, and is continuously trying to improve not just the PHP community, but tech in general.

>> One thing that you’ve learned from him

How do you limit it to one thing? I count him as my mentor for all things podcast — I don’t think he knows that, but I aspire to be as professional, and comfortable behind a mic as he is one day.

>> Your birthday message to Cal on his 50th one?

Your attitude and creativity for community are second to none; you only have positive things to look forward to in the future, and I hope that I can continue to be part of all the cool things you do in some small way!

Birthday Message From Jeremy Kendall

[Jeremy => 7PHP interview / @jeremykendall]

>> How did you come to know Cal – tell us your story

My first, and one of my favorite, memories of Cal happened at my first or second ZendCon. I didn’t think Cal knew me from Adam, but he stopped me in the hallway, shook my hand, and said, “Thanks for all you do for the community.” That single thank you cemented my love affair with the PHP community.

>> Would you like to share some ‘Key moments spent with Cal’

I had an extremely difficult time when I first moved to Nashville, TN. Cal talked me through that difficult time and helped me avoid making a huge personal and professional mistake.

>> The good thing about Cal is..

All of them 🙂

Seriously though, Cal would give you the shirt of his back if you needed it. I’d be shocked if he hasn’t, at least once in his life, literally given someone the shirt off of his back.

>> One thing that you’ve learned from him

Cal taught me the value of saying thank you. His thanks to me still keeps me going. I hope I can do that for someone someday.

>> Your birthday message to Cal on his 50th one?

I hope this is awesomer than the previous 49, but not quite as awesome as the 51st!

Get 50% Discount On SignalingPHP The Book!

Cal tweeted:

“Use the code Cals50Today and save 50% on “Signaling PHP” on my 50th Birthday.”
http://bit.ly/1iq2XjU

So if you have not bought Cal’s new ebook yet, it’s your chance to do it today!

UPDATED – Cal Posted His Feelings On All These Moments

Read: I love you all so very, very much

Slim PHP Micro Framework Through The Lens Of Jeremy Kendall

A Small Intro..

photographer

Have you ever tried to use Slim PHP micro framework? Or you are in a confusion whether to choose it or not? Well, today I bring you a small chat with Jeremy Kendall [@jeremykendall] who’s been using Slim PHP for quite some time now and he is even using it on his side open-source project as you will discover.

Jeremy has previously been giving a nice talk about Slim PHP Microframework last year in November at Tech Camp Memphis, you can view the Youtube video here! Also worth noting, he has recently delivered another Slim talk (some 6 months back at the time of this writing) at the recent php[tek]2013, you can view his slideshare talk here => Keeping it small – Getting to know the Slim PHP micro framework!

Have You Tasted Slim PHP Micro Framework? Jeremy Kendall Shares His Opinion On It!

>> Hi Jeremy, please tell us a bit about yourself

My name is Jeremy Kendall, I’m from Memphis, TN, and I’ve been developing web applications in PHP since 2001. By day I work for OpenSky.com, building an amazing social shopping platform using Symfony2, Doctrine, MongoDB, and MySQL. By night I divide my small amounts of free time between my passion for programming in PHP and learning more about my craft, helping others learn more about programming, contributing to open source projects and building a few of my own, spending time with my amazing wife Megan, pursuing my favorite hobby, photography, and preparing for the birth of our firstborn.

>> Have you ever tried Slim PHP Framework?

Yes, I have tried the Slim PHP framework. My interest in micro frameworks was piqued by Ed Finkler‘s MicroPHP Manifesto (http://funkatron.com/posts/the-microphp-manifesto.html) in January of 2012. Most of my experience with frameworks prior to that time had been Zend Framework 1, which I used heavily at a previous job, followed by years in the wilderness working as a solo developer on terrifying legacy PHP code. I did the smallest amount of research on microframeworks, chose Slim because it felt both very micro and mature enough to commit time to, and started building. The result is the Flaming Archer project (https://github.com/jeremykendall/flaming-archer), the Slim PHP codebase that runs my photo-a-day project at http://365.jeremykendall.net.

>> What is your opinion about this framework?

I really like the Slim framework. What I’ve found in Slim matches my concepts of what a microframework should be: It’s narrowly focused, the code is clean, clear, and concise, and it gives me the few tools I need to write a web app. Beyond handling requests, responses, and routing, I’m pretty much on my own to build whatever I need however I like. I’ve never felt like Slim has gotten in my way.

>> Do you think the author, Josh, made a good job with Slim PHP?

I think Josh had done an amazing job with Slim. I’m a big fan of best practices in general and a big fan of unit testing and coding standards in specific. One of the things that drew me to Slim was the test coverage and the adherence to a coding standard, in this case PSR-2. Josh has also done an excellent job limiting scope creep, which can be really tough to do.

>> Aspects where you think Slim PHP could improve on..

My major points of contention are either fixed at this point or being worked on. That said, logging has always been a weak point in Slim, and it’s arguably something that doesn’t really belong in a microframework. There’s been some recent back and forth about the logger, and I’m happy to say that it’s slated for removal. I’d also like to see a lot more interfaces in the framework, and I noticed a PR the other day with a nice collection of interfaces.

>> Aspects where you think Slim rocks..

There are quite a few places where Slim really shines. I love the middleware implementation and how easy it is to quickly whip up a class that can inspect and modify requests and responses. I’ve been able to do cool things with authentication and navigation that way.

I recently started using the custom error handling provided by Slim. I was able to rip out multiple redundant lines of error handling code and replace it with a single, three line anonymous function. I was seriously impressed.

>> Is Slim PHP better than Silex – why slim over silex for your choice of a micro framework?

Short answerChoose the right tool for the job.

Long answer:

I really can’t say whether or not Slim is better than Silex or vice versa. The vast majority of my microframework experience has been with Slim, so I don’t think it would be right for me to offer an objective opinion. My subject opinion, however, is that I much prefer Slim to Silex. That opinion is based on running through a few tutorials when I was trying to pick my first microframework. The Silex tutorial was full of: “and now pull in this Symfony2 component“. Silex didn’t match my conception of what a microframework should be, and so I chose to go with Slim.

That said, once my Slim Framework based photo-a-day application is feature complete, I’ll be reimplementing it in multiple different frameworks, one of which will be Silex. I’ll have a better answer for you in a couple of months.

>> Would you choose Slim PHP over frameworks like Symfony or Zend?

That depends entirely on the project I’m starting. My photo-a-day project was the perfect size and scope for a microframework, and building it out with Slim has been a joy. I haven’t once wished I’d chosen something larger or different to build my application with. A full-stack MVC framework would have been serious overkill.

Trying to run something like OpenSky.com on Slim would have been a very poor choice, however. The complexity and size of the application really lends itself to a full-stack framework, and Symfony2 really fits the bill.

  • Would I lean towards Slim when starting a project? Absolutely.
  • Would I fight for Slim when another solution looks better for the task at hand? Not at all.

>> Any message to Josh?

Keep up the good work!

>> I’ve heard you are writing a book on Slim PHP? 🙂

That was supposed to be Top Secret! You must have excellent sources. All I’m willing to say that this point is a book is in the works. When the time comes, we’ll talk again.

 

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

[NomadPHP European Time – 19 December 2013 Tickets] – Win Free Tickets To Hear Matt Frost Talk About “Mocking Dependencies in PHPUnit”

[NomadPHP European Time – 19 December 2013 Tickets] – Win Free Tickets To Hear Matt Frost Talk About “Mocking Dependencies in PHPUnit”

How To Win The Free Ticket

Two possible ways to participate:

  1. Just make a comment below, that’s it! Also do provide your active email so that I can contact you easily and quickly!
  2. If  you are on my email list, you will receive an email soon to which you just have to blank reply for your participation

So, in total, you have two chances to play in!

Do not forget to do the Time Conversion

The time for that session is at 8p.m CET / European Time, but you can use this handy time conversion to know the exact time for your country. For example, for me in Mauritius (GMT+4), the time is 11p.m on Thursday 19th – on same day, late night.

If you win, how to proceed?

I will give you a 100% discount code and you just have to register for the event via the link on nomadphp.com. You will not have to enter credit card, you just have to create a normal account and use the promo code.

Who Will Be The Speaker Of NomadPHP 19th December 2013 Session –  European Time

Matt Frost will present Mocking Dependencies in PHPUnit

Deadline

=> I will make the draw and finalize things on Tuesday 17th December, late night around 9p.m (GMT+4).

Refreshing Thyself – What Is This About?

 

Win Free Ticket(s)
Win Free Ticket(s)

 

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
  2. For more info, see NomadPHP’s current session announcement.

All The Best!
//Khayrattee

[NomadPHP US Time – 19 December 2013 Tickets] – Win Free Tickets To Hear Sara Golemon Talk About “Scaling PHP with HipHop”

How To Win The Free Ticket

Two possible ways to participate:

  1. Just make a comment below, that’s it! Also do provide your active email so that I can contact you easily and quickly!
  2. If  you are on my email list, you will receive an email soon to which you just have to blank reply for your participation

So, in total, you have two chances to play in!

NOTE:
I would highly appreciate if you could give some feedback about Nomadphp or say something about Cal Evans, when responding.

Do not forget to do the Time Conversion

The time for that session is at 8p.m CDT / US Time, but you can use this handy time conversion to know the exact time for your country. For example, for me in Mauritius (GMT+4), the time is 6.am on Friday 20th – on day after, but early morning!

If you win, how to proceed?

I will give you a 100% discount code and you just have to register for the event via the link on nomadphp.com. You will not have to enter credit card, you just have to create a normal account and use the promo code.

Who Will Be The Speaker Of NomadPHP 19th December 2013 Session –  US Time

Sara Golemon will present Scaling PHP with HipHop

Deadline

=> I will make the draw and finalize things on Tuesday 17th December, late night around 9p.m (GMT+4).

Aaand What Is This About, Remind Me?

 

Win Free Ticket(s)
Win Free Ticket(s)

 

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
  2. For more info, see NomadPHP’s current session announcement.

All The Best!
//Khayrattee

How To Auto Generate Properties Dynamically For All Your Classes Using Magic Methods & Reflection

What I Want To Achieve

  • When coding a project, at times (or most of it?) some classes might have more than 3 fields (for whatever reason it suits you)
  • So instead of each time writing and repeating setters and getters (accessor methods), I would like to have a piece of reusable code for all my classes without me ever writing a single line of code for accessors. (‘ever’ as in ‘very very rarely’)
  • Now, we also have to take into consideration that some fields might be only get-able or  only set-able – (our re-usable piece of code should cater for this)

So how to achieve this?

  1. Using PHP’s magic methods __get() and __set() coupled with Reflection. This will somehow imitate a Property as used in the context of Csharp or JAVA.
  2. Design-wise, I will provide TWO approaches using either Trait or Inheritance

First thing first, let’s understand some concepts..

What are Field and Property in the context of PHP

From PHP online doc, it defines a property as:

Class member variables are called “properties”. You may also see them referred to using other terms such as “attributes” or “fields”

Let’s take a simple example:
[lang=’php’]
class Person
{
….private $name;

….public function setName($name_provided) //setter method
….{
……..$this->name = $name_provided;
….}

….public function getName() //getter method
….{
……..return $this->name;
….}
}//end class
[/lang]

In the code example above, in PHP:

  • the class variable $name is called a field or a property
  • the class methods setName() and getName() are called accessor methods which otherwise are known as setter and getter methods respectively

To use this class, I would do:

$obj = new Person();
$obj->setName(“Wasseem”);
echo ‘My name is: ‘. $obj->getName(); //will print: My name is Wasseem

What are Field and Property in a C# (csharp) context

If you do C# (or even JAVA), these two terminologies are different. Let me explain..
Let’s try to translate PHP code into C# code:
[lang=’c#’]
class Person
{
….private String name;

….public String Name
….{
……..get
……..{
…………return this.name;
……..}
……..set
……..{
…………this.name = value;
……..}
….}//end Name
}//end class
[/lang]

In this C# example:

  1. the class variable name (with the small letter ‘n’) is called a field
  2. the class method Name (with a Capital letter ‘N’) is known as a Property and it acts as a single call to handle both accessor methods setter/getter

So in C#, you define a field. Then to provide it’s corresponding accessor methods in a simple and elegant way is to define a single method known and called as Property which will have the same naming as the field BUT with the starting letter being in Capital letter.

To use this class, I would do something like:

Person obj = new Person();
obj.name = “Wasseem”;
Console.WriteLine( ‘My name is: ‘ + obj.name ); //will print: My name is Wasseem

What I Want To Point Out..

What I want to point out is that if in C# we can quickly set and get a field by just using a one way call in the form ObjectInstance.fieldName, so why not in PHP we do something similar like $ObjectInstance->field_name?
Is it possible?

YES it is and I’m going to show you how! + I am going a step further in making a re-usable component to handle/generate your dynamically generated PHP properties!

SOLN 1 – Generate Accessor Methods Dynamically in PHP using Inheritance

Let’s see the whole re-usable code:

[lang=’php’]
class ParentClass
{
….public function __get($property)
….{
……..$method = ‘get’ . ucfirst($property); //camelCase() method name
……..if( method_exists( $this, $method ) )
……..{
…………$reflection = new ReflectionMethod($this, $method);
…………if (!$reflection->isPublic())
…………….throw new RuntimeException(“The called method is not public.”);
……..}

……..if (property_exists($this, $property))
……..{
…………$reflectedProperty = new ReflectionProperty($this, $property);
…………$reflectedProperty->setAccessible(true);
…………return $reflectedProperty->getValue($this);
……..}
….}

….public function __set($property, $value)
….{
……..$method = ‘set’ . ucfirst($property); //camelCase() method name
……..if( method_exists( $this, $method ) )
……..{
…………$reflection = new ReflectionMethod($this, $method);
…………if (!$reflection->isPublic())
…………….throw new RuntimeException(“The called method is not public.”);
……..}

……..if (property_exists($this, $property))
……..{
…………$reflectedProperty = new ReflectionProperty($this, $property);
…………$reflectedProperty->setAccessible(true);
…………return $reflectedProperty->setValue($this, $value);
……..}
….}
}//end class
[/lang]

And to use it in any of your classes, you would do something like:

[lang=’php’]
class MyName extends ParentClass
{
….private $name;

….public function sayName()
….{
……..echo ‘Hello my name is: ‘ . $this->name;
….}
}//end class MyName

class MyAddress extends ParentClass
{
….private $address;

….public function sayAddress()
….{
……..echo ‘Hello my address is: ‘ . $this->address;
….}
}//end class MyAddress
[/lang]

And then you would call it somewhat like:

[lang=’php’]
$obj = new MyName();
$obj->name = “Wasseem”;
$obj->sayName();
echo ‘yes indeed his name is: ‘. $obj->name;

$obj2 = new MyAddress();
$obj2->address = “Moka”;
$obj2->sayAddress();
echo ‘yes indeed his address is: ‘. $obj2->address;
[/lang]

The OUTPUT will be:

Hello my name is: Wasseem
yes indeed his name is: Wasseem

Hello my address is: Moka
yes indeed his address is: Moka

Note:

  • I used the check !$reflection->isPublic() so that if at anytime you want a property’s setter or getter method to not be accessible, you could just include the definition private function getName() {} in your child class and hence you will not be able to do get $obj->name;

QUESTION: Why did I use a 2nd Reflection call to access the Fields of the Child Class from the Parent Class?

You could argue that the parent class should be able to access the child class property, by doing it like:

[lang=’php’]
public function __get($property)
{
….$method = ‘get’ . ucfirst($property); //camelCase() method name
….if( method_exists( $this, $method ) )
….{
……..$reflection = new ReflectionMethod($this, $method);
……..if (!$reflection->isPublic())
…………throw new RuntimeException(“The called method is not public.”);
….}

….if (property_exists($this, $property))
….{
……..return $this->{$property};
….}
}
[/lang]

It turns out that the answer is NO. If you do it that way, you will get the exception below.

THOUGHT: Is this a downcasting that is being done?

Notice: Undefined property: MyName::$name in class file MyName.php line

This is why you should use Reflection.

SOLN 2 – Generate Accessor Methods Dynamically in PHP using Trait

Let’s see the whole re-usable code for the Trait approach:

[lang=’php’]
trait PropGeneratorTrait
{
….public function __get($property)
….{
……..$method = ‘get’ . ucfirst($property); //camelCase() method name
……..if( method_exists( $this, $method ) )
……..{
…………$reflection = new ReflectionMethod($this, $method);
…………if (!$reflection->isPublic())
…………….throw new RuntimeException(“The called method is not public.”);
….}

……..if (property_exists($this, $property))
…………return $this->{$property};
….}

….public function __set($property, $value)
….{
……..$method = ‘set’ . ucfirst($property); //camelCase() method name
……..if( method_exists( $this, $method ) )
……..{
…………$reflection = new ReflectionMethod($this, $method);
…………if (!$reflection->isPublic())
…………….throw new RuntimeException(“The called method is not public.”);
……..}

……..if (property_exists($this, $property))
…………$this->$property = $value;
….}

}
[/lang]

And to use it in any of your classes, you would do something like:

[lang=’php’]
class MyName
{
….use PropGeneratorTrait;
….private $name;

….public function sayName()
….{
……..echo ‘Hello my name is: ‘ . $this->name;
….}
}
[/lang]

And then you would call it somewhat like:

$obj = new MyName();
$obj->name = “Wasseem”;
$obj->sayName();
echo ‘yes indeed his name is: ‘. $obj->name;

When should you use Trait or Inheritance?

  1. This will depend entirely on your project needs. For example if you are going to encounter the possibility of going multiple inheritance (which is not allowed in PHP), you should opt for the Trait solution. Otherwise, you could choose Inheritance.
  2. Also note that the implementation for the Trait approach uses one less Reflection class and hence results in fewer lines of code than the Inheritance one

A Disadvantage Of Using Auto Dynamically Properties This Way

=> When using a full-blown IDE like PHPStorm, you will NOT see those class fields in auto-completion.

 

Conclusion

We have seen that we can use two reusable approaches, Trait & Inheritance, in minimising our time to write complete setter/getter methods by making use of PHP’s magic methods and its powerful Reflection classes. And that you should use the Trait approach if you judge that you are going to have a multiple inheritance scenario, since multiple inheritance is not possible in PHP.

Over To You – Give Me Your Feedback & Opinion

Are you inline with how I did it? Do you see any downside or may be you have a better/different approach? Please do let me know using the comment form below..Thanks!

Mac OS X 10.8 + How To Completely Remove / Uninstall PHPStorm – Jetbrains PHP IDE

This is week is a major step in the Jetbrains PHP world, yes PHPstorm 7 is out and full of awesomeness.
So before I install phpstorm 7, I want to completely remove the previous phpstorm 6 on my Mac OS X 10.8. Here are the steps I did:

  1. Make sure you disable or uninstall any 3rd party (not-bundled) plugins you used
  2. Delete PHPStorm in /Applications/{phpstorm}
  3. Remove all the configs and related settings in affected places by running the following commands:

rm -rf “$HOME/Library/Preferences/WebIde60”
rm -rf “$HOME/Library/Caches/WebIde60”
rm -rf “$HOME/Library/Application Support/WebIde60”
rm -rf “$HOME/Library/Logs/WebIde60”

A Note:
For me, my previous version was v6.0.3 and hence I have WebIde60. So before you run the commands, just do a # cd “$HOME/Library/Caches/” and look for WebIde & note the whole name and version; e.g for version 7, it’s WebIde70

[NomadPHP US Time – 24 October 2013 Tickets] – Win Free Tickets To Hear Adam Culp Talk About “Clean Application Development”

What Is This About?

Win Free Ticket(s)
Win Free Ticket(s)

 

Here I am again for another NomadPHP Ticket(s) give-away. Two tickets will be given away – to the 1st & 2nd draw winner!

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
  2. For more info, see NomadPHP’s current session announcement.
Who Will Be The Speaker Of NomadPHP 24 October 2013 Session –  US Time
Adam Culp - SoFloPHP Organizer
Adam Culp – SoFloPHP Organizer

The speaker will be ‘geeky boy‘ Adam Culp! He will be talking about “Clean Application Development“.

How To Win The Free Ticket

Just make a comment below, that’s it! Also do provide your active email so that I can contact you easily and quickly!

The time for that session is at 8p.m CDT / US Time, but you can use this handy time conversion to know the exact time for your country. For example, for me in Mauritius (GMT+4), the time is 5.am on Friday 25th – on day after, but early morning!

NOTE:

– TWO Tickets will be handed ==> 1st & 2nd draw winners!

Deadline

=> I will make the draw and finalize things on Wednesday 23th October, late night around midnight (GMT+4).

PHP Interview With Michael Wallner A Full-Time Core PHP Developer – Try To Understand How Things Work & Why They Work That Way

Purpose Of This Interview

This is the #37th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Intro..

Michael Wallner A Full-Time Core PHP Developer At SmugMug
Michael Wallner A Full-Time Core PHP Developer At SmugMug

Today I bring you an interview with someone (named Michael Wallner, @_m6w6) who has been hired to work full-time on PHP. Yes you heard it right: this guy is paid to work on The Core of PHP. As you know PHP is open-source, so why would a company hire someone to work full-time on such a free technology? (I let you get the answers from Mike himself). Besides since he is highly involved with PHP and it’s core, it’s a good opportunity to learn from his experience and know-how, so let’s hear from him!

And Now The Interview…

>> Please tell us a bit about yourself

Hi, my full name is Michael Wallner, I live in Austria with my family and work with PHP since 2001.

>> How you started with PHP

I needed to do something dynamic on the server side in a project I had with a mate back then, and IIRC our shared host provided PHP-4.0 and MySQL 3.2x on an IBM or HP monster.

>> Your LAMP stack comprises.. ?

Usually Linux, Apache, Memcache, PHP and PostgreSQL and eventually exchangeable with Unix, Nginx and Redis (and if it is absolutely not avoidable MySQL).

>> How do you find PHP now as compared to when you first started

A quote of the changelog of the PHP version I started with is “Added ‘output_handler’ INI directive (Zeev).” I rewrote output handling for PHP-5.4. It has at least evolved as much as I did.

>> Based on your experience, what are the good and bad parts of PHP

It’s a multi-paradigm, shared-nothing, rapid-results programming language. I think that both fits bad and good 🙂

>> What would be the Top advice to a PHP beginner

Read the fine manual. I literally dug it when I started.

>> To someone who wants to become a better PHP developer..?

Try to understand how things work and why they work that way. If you doubt the documentation or implementation, consult the source code or someone who is familiar with internals.

>> What are some common PHP mistakes you often see beginners make?

Concluding someone invented or designed PHP the way it is today. It has history and heritage.

>> ‘One programming tip that you wish you knew before you..’ – Complete the sentence while answering it.

started programming: That it is highly addictive.

>> The IDE that you use

I’m used to Netbeans when working with PHP and Eclipse when working with C. That’s why I have 32G of RAM. 🙂

>> How do you debug your PHP code?

I debug PHP with Xdebug, of course. Thank you Derick.

Derick Rethans - Father of Xdebug
Derick Rethans – Father of Xdebug

>> Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

I usually do NOT recommend DBALs because the gain for owned projects is little compared to what you have to sacrifice. I do like ORMs, though — as long as they provide me with some freedom and do not prioritize abstraction above usability. I know it is sort of schizophrenic, because ORM implementors benefit from a DBALs, but I as an ORM user do not benefit enough from DBAL usage, because I opt for Postgres whenever I can. PHP and Postgres is like the marriage of the elephants 🙂 I love them. So an ORM that exploits the power of Postgres would be my winner 😉

>> One PHP library/Project you really appreciate

I’d go for PhD http://doc.php.net/phd/ which was a huge leap forward for the PHP documentation ecosystem. And if I remember correctly, Hannes is already tinkering with the next step of evolution based on Markdown.

>> One PHP person that you admire and what strikes you about him/her

Xinchen Hui, also known as Laruence. He does so much mad stability work in the Engine that I’d highly recommend Zend to hire him!

>> Which was the worst programming mistake you did?

You probably have to be Austrian or know Krocha http://de.wikipedia.org/wiki/Krocha to understand the original, but I presented the following silly headline to 50% of visitors on a high-traffic landing-page: “Gulli heißt das Loch, drück die Spülung. Bamm oida!” probably translatable to: “Yo dawg! Gully is the hole, now flush.”

>> Things that you’ve learned from being part of The PHP Community

Do not take yourself too seriously.

>> If you could change one thing with PHP, that would be…?

I want Jani back.

>> How do you time manage all the stuffs that you do, coupled with your personal life?

I actually have no idea, it’s a total chaos 🙂

Michael Wallner & SmugMug & PHP full time

=> You have been hired to work full-time on the core of PHP by SmugMug, Inc.

>> First of all could you tell us a bit about SmugMug and its relationship with PHP?

SmugMug is a small family-owned company with great people aboard. PHP is one of SmugMugs core technologies and thus they are naturally interested in a robust, healthy and enabling platform.

>> How has the response of The PHP Community been so far with this?

Overwhelmingly positive! By the way: Thank you all, you’re awesome!

>> When we say the “core of PHP”, what does that actually mean and what is it comprised of?

At least everything in the official PHP git repositories http://git.php.net/, particularly php-src.git, also know as “the core.” 🙂

>> How does working full time on the core of PHP differs from working part-time or on your spare time?

Usually one concentrates on things that make fun or one is particularly interested in at the moment and can be done in a reasonable short period of time, because one is spending spare time, wants to have fun and success. Working full-time on PHP enables you to dig deeper like spending a lot more time with nasty opaque bugs, or to have bigger pictures in mind when developing features.

>> What are the challenges you are facing or will be facing?

Getting things done besides following 3 feature RFCs per week with 100+ messages on the mailing lists.

>> Being a full-timer, does it mean you are now accountable for all your time spent on PHP?

I’m a full-time employee of SmugMug Inc, not a contractor.

>> Is the expectation huge now? How are you coping with it?

I don’t know of any expectations, low or high. I’ll just continue to do how I did in the past, which has proven to be successful. Maybe I have just been lucky all the time 🙂

>> Will you be doing only fixing bugs? Tell us a bit what your job consists of..

Well, maintenance is a big part of my job and it’s not only about oneself fixing bugs, but also helping others to fix bugs. But it’s of course also about improving PHP with either enhanced features or better usability, higher performance or less memory usage. It’s about discussing features or ways how to fix issues. Communication on politics consume a lot of time in a community driven project like PHP, you have to fight the occasional troll, which population seems to have increased vastly lately, or help the occasional contributor to get his tiny (or not so) improvement committed. And last but not least I’m still an employee of SmugMug, so when there are problems with the platform PHP, I can be a direct source of enlightenment. 🙂

>> If someone wants to see all your php-related activities, where would you direct them?

That’s probably not possible, but considering solely past code changes to “the core”, then probably the git log:
http://git.php.net/?p=php-src.git&a=search&h=HEAD&st=author&s=Michael+Wallner

>> Are you more motivated being a full-timer? What are the inspirations and how this experience is going on so far?

I’m excited! I spent more than the last 10 years of my work time and lots of my free time with PHP or related surroundings and that just feels natural.

>> Now for many people, including me, this is quite a tricky part – why would a company hire someone to work full time on an open-source project like PHP? How does SmugMug benefit from this?
>> Can you give us some more examples of companies which hired or is hiring full time PHP guys like yourself?

Like I said above, they are interested that PHP is stable, fast and powerful. It is a shame, but I do not know any companies which devote full-time developers to PHP. Oracle has quite some people working on PHP, but I do not know to what extent. There have been other times when e.g. Yahoo had employed a load of PHP core developers. Nowadays, Facebook or the like mostly cook their own soup.

>> What are the parts of PHP that you think need revamping or need more focus on?

HTTP. It’s kind of an obsession. PHP is named web language and made it very easy to rapidly create web applications, but sophisticated HTTP support has only been important the latest time.

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

Welcome To The New PHPWomen – Interview with Michelle Sanver and Lineke Kerckhoffs-Willems

Purpose Of This ‘PHP User Group Interview’ Concept

This interview can be tagged as the #3rd set of ‘Know Thy PHP Usergroup‘ in an attempt to create more awareness of:

  • what is $this PHP UG about + get to know the leaders/Founders/Community behind it
  • what is a PHP User Group in general
  • to personally know all the PHP user groups Around The World – that excites me and I hope you too!

This concept is also a good opportunity for new #elePHPants to know about PHP UGs.

PS: Are YOU the founder or organiser of a php user group? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Welcome To The New PHPWomen

>> A brief history of PHPWomen

The 8th of October, 2006 as a call for the women of PHP to “stand up and be countedLigaya Turmelle and Elizabeth Naramore founded PHPWomen.

Since this time, PHPWomen has grown as a group and now has an active community spanning the globe.

>> What changes have been made in the organisation of PHPWomen lately?

Michelle Sanver - co-president of PHPwomen
Michelle Sanver – Co-President of PHPwomen

We have changed leaders where Elizabeth and Lig are still in the board, but Michelle and Lineke are the new co-presidents. There’s also three new European board members, meaning the board is more even in American and European members. We’re actively working on promoting PHPWomen with our website and physical presence at conferences and we are currently busy planning for CodeConnexx in November.

Lineke Kerckhoffs-Willems Co-Founder Of ProTalk.me
Lineke Kerckhoffs-Willems Co-President of PHPwomen & Co-Founder Of ProTalk.me

>> What is your (new) mission?

PHPWomen is an inclusive, global user group providing a support network within the PHP community.

Our aim is to provide a network of support in hope that women in the industry won’t feel so alone and isolated.

>> How do you plan to fulfil this mission with your future plans?

We have several plans to improve our website. Recently we had a new responsive design and we plan to add more features to connect our members with each other. Things like: member registration, where members are located and which members are going to which conferences are features to think of, maybe a newsletter in the future. We also plan to open source the website and we are looking for contributors to help improving our website.

We also have a new google group mailing list where members can communicate and we will post any announcements that we have, feel free to join: https://groups.google.com/forum/#!forum/phpwomen

Of course by organising our own conference every year and being more present and visible at conferences (and partnering up with conferences for free tickets or discounts) we hope to reach more people and extend our member base.

>> How many women are there till now participating/being part of PHPWomen? (approximately)

We don’t officially keep track of our members, but that is something that we are working on. If we would know who our members are it would be easier to offer things and help them in a different way. On our old forum we had about 1500 members, which is a pretty large number!

>> The conferences that PHPWomen has been part of

We were recently a part of Dutch PHP Conference and we will be present at PfCongres in September in The Netherlands and PHPNW in October in Manchester. We are actively approaching conference organisers to be a part of as many conferences as possible. If you are organising a conference, please get in touch, we’d love to be there!

>> Your thoughts about PHPWomen and Sexism

It’s not one of our goals.

>> Is there any private or women-only chats or meetings that women can/should join?

We don’t exclude men, anyone can join our irc channel and mailing list, anyone not being friendly will of course be kicked out ensuring a female friendly environment.

>> PHPWomen is worldwide, but are you aware of any local women-oriented PHP Usergroups?

No, but please let us know if you know of one. We’d love to get in touch with other groups as well.

>> Is there an increase in the number of women indulged in PHP or is it stagnant?

We wish we knew the answer to that question, but we don’t. It is really hard to tell but it’s good to see some women at conferences, who are also speaking. We wish for more female speakers, and it’s one of our aims. We are both speaking at conferences and we hope to be role models for other women in the community. Because it’s awesome to share knowledge!

>> How is PHPWomen contributing in creating an awareness to making women like PHP and programming in general?

We try to reach as many women as we can at conferences. We are encouraging members to go to conferences when they can and help make that happen through ticket giveaways and volunteer opportunities. At the beginning of the year we volunteered for the awesome PHPBenelux conference together and besides the fact that it is so much fun, it is also a way to show others that there are female developers out there doing PHP.

>> Apart from the gender-oriented nature of the PHPWomen user-group, how is it different from other normal (mixed) usergroup and the challenges involved

We are a world wide user group, not the default localized user group. This is definitely a challenge for us because it makes it harder to communicate in real time, it makes it harder to get together face-to-face, and it makes it harder to focus our efforts.

Because travel costs are so expensive, we rarely get the chance to all hang out together and spend time planning for the future, and building relationships with each other so we need to utilise the online channels more than the traditional user groups do.

Finally, while a traditional user group only needs to worry about spreading the word in a small local area, we are trying to spread the word in all corners of the world, which is a much bigger task!

>> PHPWomen is also hosting a conference called CodeConnexx, can you tell me more about it?

CodeConnexx is a two-day, one track conference taking place in Maastricht, The Netherlands, 8th & 9th of November. The conference aims to bring together everyone interested in talking about code.

As we know, choosing a career as a coder comes with its own set of life challenges, and we want to talk about those too. In short, this conference is a different kind of conference, as it connects those two pieces of the puzzle together in one event.

Every technical talk will be followed by a talk about life skills and work/life balance. There will also be plenty of social opportunities to get to know the other attendees. Not only do we want to help you bridge the gap between work and life, we want to help you connect with each other as well.

>> Some final words to encourage women working with PHP

No matter who you are, we are there to support you and help you in any way that we can. Be it your career or life in general. It is easy to feel alone and isolated, but by joining PHPWomen you will not only get support and career help, you will get friends for life.

PHP Women Spotted At The Recent ZendCon 2013

As you know, Zendcon 2013 (October 7-10, 2013) was last week and two PHP women, namely Elizabeth M. Smith & Sara Golemon, were there (amongst others). Thanks goes to Michelangelo van Dam for this picture.

Elizabeth M. Smith & Sara Golemon at Zendcon 2013
Elizabeth M. Smith & Sara Golemon at Zendcon 2013

What Does PHP Men Thinks About PHPwomen..

Thankful to Cal Evans for sharing his opinion about the PHPwomen initiative.

Cal Evans NomadPHP Organizer
Cal Evans NomadPHP Organizer

>> What is your opinion about PHPwomen

I’m a huge supporter. I’ve recorded podcasts with them, publically supported them, and am a proud member of their Board of Directors.

>> How do you think it is making an impact so far?

They are making a positive impact on both men and women in the PHP community.

>> Are women making an impact in the PHP ecosystem

yes, but obviously, we want more women involved in the ecosystem

>> Your list of inspiring PHP women?

  • Lig
  • Naramore
  • Beth Tucker Long
  • Sara Golemon
  • Lineke
  • Liz Smith
  • Amy Stephen

>> Your message to PHP women out there in the PHP ecosystem

GET INVOLVED! At ZendCon 13, they had 10-15% women, at Sunshine PHP they had 20% women IN ATTENDANCE. However for speakers, it’s still mainly guys. Get out there! Start speaking, get involved in your local UG leadership. Be vocal and step up.

Thankful to Michelangelo van Dam for also sharing his opinion about the PHPwomen initiative.

Michelangelo van Dam - President Of PHPBenelux PHP User Group
Michelangelo van Dam – President Of PHPBenelux PHP User Group

>> What is your opinion about PHPwomen

PHPWomen is probably the most friendly place where newcomers and veterans to the community can end up. This community is open to both men and women with an interest in PHP and are there to guide and assist where possible. With PHPWomen you never, ever get “RTFM” as a reply to a (newbie) question. I believe it’s the best place to start when you’re new to PHP and the best place to stay when you’re already more PHP savvy.
BTW, did you know that PHPWomen is not a women’s only community? Men are also welcome to join and be mentored or become mentors within this community. I think of PHPWomen community is what I call “Home”.

>> How do you think it is making an impact so far?

From what I’ve heard and experienced myself, there would not be a PHP community without the involvement of PHPWomen. They’re the ones that make things happen and provide a safe haven for anyone new to PHP.

>> How are women making an impact in the PHP ecosystem

We can’t ignore men and women are different, but that doesn’t matter as differences are good for the equation. And I have to admit, women have a rougher time than men in most cases as they are besides developers also mothers, wives and are involved with a bunch of things we men are merely standing on the side line. So yes, it’s often a good idea to have a discussion with female developers and learn how they combine work, children, household stuff and so on just to grow a bigger respect for them.
On the flip side of the coin I don’t make a distinction between men, women because I see them as PHP developers. They deal with the same development issues we have to solve and are equally part of the community. So making a distinction between men and women in development is in my opinion emphasising a stigma that should not be there.

>> Your list of inspiring PHP women?

The women in the PHP community who have impressed me with their talents are (and not limited to this list):
  • Elizabeth Naramore,
  • Ligaya Turmelle,
  • Sara Golemon,
  • Laura Thomson,
  • Lorna Jane Mitchel,
  • Lineke Kerckhoffs,
  • Michelle Sanver,
  • Elizabeth Marie Smith,
  • Beth Tucker Long,
  • Laura Beth Denker,
  • Erika Heidi Reinaldo,
  • Alison Gianotto,
  • Anna Filina,
  • Johanna Cherry,
  • Jenny Wong,
  • Kat Reeve,
  • eryn o,
  • Maggie Nelson,
  • Kana Yeh,
  • Jaime Schmidt
  • and of course the lovely, talented Kathy Evans.
Again, this list is not limited to these outstanding women in the PHP community, but are merely those that I could come up with and have been impressing or inspiring me the last year.

>> Your message to PHP women out there in the PHP ecosystem

First of all, connect to your local PHP community or user group. This is your first and foremost contact with the local development scene. The next step would be to join PHPWomen as it’s a cool community to be a part of and very helpful if you have questions regarding PHP or combining life with your professional PHP career.
See if you could make it to a PHP conference near you.
[Shameless Plug] Come and meet the PHPWomen at CodeConnexx in November in Maastricht (NL).

>> If you want to add something..

I’m proud to be a member of PHP community where in my opinion everyone is treated equally and respectfully (exceptions do occur sadly). I think that our passion for the technology and our drive to innovate and do things better are the reasons we have less gender wars in our community compared to other technologies. And for that reason I think that PHP is “the” technology for every man, woman or alien with no discrimination towards gender, race, sexual or religious backgrounds. Everyone is welcomed and encouraged to be awesome!

 

Thankful To PHPwomen & Lineke..

I was delighted when I received the following nice stickers from Lineke – 7PHP is yet another proud PHPwomen supporter 🙂

PHPwomen stickers
PHPwomen stickers

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

[NomadPHP EuropeanTime – 17 October 2013 Tickets] – Win Free Tickets To Hear Chris Cornutt Talk About “Dispelling the Myths About Authentication & Authorisation”

What Is This About?

Win Free Ticket(s)
Win Free Ticket(s)

 

Here I am again for another NomadPHP Ticket(s) give-away. Two tickets will be given away – to the 1st & 2nd draw winner!

If you did not know, NomadPHP is virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. But it is open to ANYONE around the world. I also remind you that NomadPHP is an initiative brought forward by the icon of The PHP Community, namely ‘His Awesomeness’ Mr Cal Evans. If you want to know further, you should probably read:

  1.  about the NomadPHP interview with Cal Evans – The organizer
  2. For more info, see NomadPHP’s current session announcement.
Who Will Be The Speaker Of NomadPHP 17 October 2013 Session
Chris Cornutt The Hero Behind PHPdeveloper.org
Chris Cornutt The Hero Behind PHPdeveloper.org

The speaker will be ‘The Hero behind Behind PHPdeveloper.org‘, I named Chris Cornutt!! He will be talking about “Dispelling the Myths About Authentication & Authorisation”.

How To Win The Free Ticket

Just make a comment below, that’s it! Also do provide your active email so that I can contact you easily and quickly!

The time for that session is at 8p.m CEST / European Time, but you can use this handy time conversion to know the exact time for your country. For example, for me in Mauritius (Port-Louis), the time is 10p.m

NOTE:

– TWO Tickets will be handed ==> 1st & 2nd draw winners!

Deadline

=> I will make the draw and finalize things on Wednesday 16th October, late night.

A Note..

Usually I would ask people to retweet and/or reply to my newsletter to participate in the draw, but this time I’m asking to comment directly on this article. This way I have the participants’ email to contact them immediately as compared to twitter where I need to wait for like a day for a response to contact the winner.

PHP Interview With Maarten Balliauw Technical Evangelist at JetBrains – Learn From Others & Talk About What Your Experiences And Issues Are

Purpose Of This Interview

This is the #36th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Intro..

Maarten Balliauw - Technical Evangelist at JetBrains
Maarten Balliauw – Technical Evangelist at JetBrains

In this edition I talk with Maarten Balliauw who is the technical evangelist at Jetbrains (the php ide PHPStorm is one its product you can recall). @maartenballiauw is of those few programmers who is indulged closely with both PHP and .NET worlds – meaning this interview will also have questions on both worlds. I now invite you to learn from his experience and get to know his personality.

And Now The Interview…

>> Please tell us a bit about yourself

My name is Maarten Balliauw. I currently work as a Technical Evangelist with JetBrains, promoting and teaching people about all our .NET tools as well as PHP tools such as PhpStorm. In the past years I’ve been active in both the .NET ecosystem and PHP ecosystem as I like both platforms a lot and they can both learn from each other.

>> How you started with PHP

My first lines of PHP were coded in college. It was the time web hosting and web applications were taking off and as a student, it was a low-cost programming language to start with. I founded my own company as well, doing mostly PHP hosting and PHP development. After college I decided I wanted to do something else and sold the company, but kept doing PHP on the side as it had been a few wonderful years learning the language from using superglobals and deciding against it after a while, building my own frameworks and so on.

>> Your LAMP stack comprises.. ?

I’m a WIMP guy. My primary operating system is Windows which comes with IIS as a web server. PHP runs perfectly on both, so I use them together.

>> How do you find PHP now as compared to when you first started

PHP as a language has matured very nicely. Things that I missed from doing C# such as namespaces, closures and generators are now all in the language and looking at the roadmap, it is a perfect dynamic language which has all dynamic features that made PHP what it is and a number of static language features that allow for better structuring, testability and static checks to ensure you are not creating bad code.
PHP as a platform and the communities that have evolved around it are just massive. There are so many communities around PHP, around specific frameworks or application servers that there is a lot of knowledge to gain out there.

>> Based on your experience, what are the good and bad parts of PHP

The good parts? Its dynamic features. The bad parts? Its dynamic features. Allow me to explain.

The dynamic nature of PHP makes it incredibly easy to learn the language, yet because of its dynamic nature there aren’t many language features that force you into writing proper code. One has to keep learning, keep reading blog posts, go to conferences and use PHP in the wild to learn all the do’s and don’ts. Did I say the dynamic nature is bad? Absolutely not! It provides a quick learning curve and once you know how to do things, you will appreciate the dynamic features even more.

>> What would be the Top advice to a PHP beginner

The best advice I could give is learn from others. Whether that’s through blog posts, forums, conferences or anything else. We all have had to learn the language and the platform, we’ve all made mistakes and found out how to do those things better. Most people writing and talking about PHP want to share those stories, share how to not fall into the same trap they fell in.

>> To someone who wants to become a better PHP developer..?

My advice would be the same. Go out there, talk about what your experiences and issues are, someone will probably be able to help you and coach you.

>> The best PHP book you’ve read

I enjoyed Pro PHP Security (Apress). It’s a book that covers nearly all pitfalls and tiny little security holes in a PHP application which make your application subject to attacks or abuse. It’s very PHP specific (although cross-site scripting attacks and so on are things that can happen on any platform), and a recommended read which will make you question how you build your applications every time you read it.

>> A PHP blog or resource you highly recommend

My favourite PHP site is www.phpdeveloper.org. It’s too much work to read all blog posts out there and filter noise from signal. If someone does that for you, like phpdeveloper.org, it saves you some hours each day and gives you all the info you need.

>> The IDE that you use

PhpStorm.

Yes, I work for JetBrains, but I have been using it before as well. It grew from being yet another PHP IDE back on version 2 to an IDE that is very powerful to use and comes with a lot of code quality analyzers, refactorings, debugging support, Composer integration and so on. If you want to use an IDE for PHP development this is probably the best choice.

>> How do you debug your PHP code?

With XDebug and PhpStorm. Although if it’s something small, I tend to quickly craft an echo or var_dump in my code.

>> A PHP framework you use and would recommend

Well, I’ve been a long-time fan of Zend Framework and it’s still a very good one.

That said, Symfony has been one I’ve been watching closely and like very much as well.

I would recommend looking at both of them, they are both very good, solid, have an active developer community behind them, lots of books and lots of documentation out there. Speaking of Symfony, they have extracted a micro-framework out of it focusing on HTTP requests and responses, Silex. I like it to quickly craft REST API’s.

>> A unit test framework you recommend using?

PHPUnit, no doubt. It’s been a long-term member of the PHP developer tool-belt and is very mature in terms of features and stability. From writing a simple unit test to one that uses mocking and stubs, PHPUnit supports it all.

>> A CMS that you think is worthwhile

When I really want to quickly set up a website, I tend to lean to WordPress. It has a wide variety of plugins (if someone else built it already, I tend to not build it myself), its structure is pretty simple and can be learned really fast.

>> Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

Working with Zend Framework, I’ve been using the database objects and abstractions in there a lot. On the Symfony side, Doctrine is a fun one to work with. Both are pretty solid and allow you to work with the set of classes you want to work with: the domain.

I hate having to think relational as code is typically expressed in objects that have references whereas a database has “link” tables, for example in many-to-many relationships. I always forget to query some things, I dislike having to think about doing a join over tables. These two ORMs do a lot of the heavy lifting for me. Can you forget about relational databases? No, as understanding them will help optimizing the things an ORM does. But I would recommend using an ORM as it helps speed up your coding and brings a formal way of working into your projects.

>> One PHP library/Project you really appreciate

Having done a lot of reporting, invoice generation and so on in the past, I’ve liked the project I started in 2007 a lot, PHPExcel (www.phpexcel.net). I don’t work on it anymore apart from some advice every now and then, but it’s probably the most feature-complete library out there that can be used for reporting, calculating spreadsheet formulas, convert between file formats and so on.

>> One function that you like (or which you tend to use frequently)

Var_dump() must be one I’ve used a lot in the past. Phpinfo() is another nice one which gives all the info I need about the server I am developing on or deploying to.

But the function I like the most is the search function on PHP.net. Just navigate to www.php.net/ucfirst and you’ll get the function reference, comments, examples of use and so on.

Maarten Balliauw & Jetbrains

>> You are a technical evangelist at Jetbrains – could you please share with us what this means and what comprise your responsibilities?

It’s a dream job for someone who likes to share things. My work consists of early testing of our products, writing blog posts on these products, creating written and video tutorials, speaking at conferences, meeting people at conferences and gathering feedback, …

>> Tell us a bit about Jetbrains and its relationship with The PHP Community

JetBrains is a company that makes tools to help developers work smarter. We have a range of products for Java, .NET, Ruby, Python, Objective-C, Android Development and of course PHP. There are also some tools like TeamCity and YouTrack that provide features for all these platforms as well. The main thing we want to do is make you more productive and learn while on the job. For example, PHPStorm will analyze your code and tell you if there are unused variables, if you are referencing a file that does not exist using require_once, if you are suppressing errors with the silence operator (@) it will tell you it’s probably not the best thing to do.

Since I started at JetBrains we are trying to do a webinar each month on how you can work with PhpStorm but also on how to do specific things in the best possible way. For example we had a webinar on unit testing and how to write unit tests, what to test and what not.

>> What’s your opinion about PHPStorm IDE? Is it the ultimate baby as far as a PHP IDE is concerned?

A number of years back I tried PhpStorm 2 and my feelings about it back then were sort of mixed. Yes, it provided a lot of features on paper but it looked like an airplane cockpit that had Java written all over it. I think my current boss will remember me sending him that exact same feedback J Good thing is it evolves quickly and it’s a really nice IDE to work with. It takes a while to get to know all the things in there but it pays if you do take some time to learn about all these features. It really does make you work smarter and faster. And helping people discovering those features is part of what I try to do by blogging at http://blog.jetbrains.com/phpstorm.

>> What is the secret behind producing something as elegant, solid and developer-friendly IDE?

The secret is probably being a developer yourself. Developers at JetBrains that build the tools also use the tools. The PhpStorm team builds PhpStorm using IntelliJ IDEA which is the platform on which PhpStorm has been built, for example.

Maarten Balliauw & Microsoft technologies

>> When we say Microsoft is now “into The PHP World” and “engaging the PHP community” – what does that mean? To what extent is Microsoft engaging with PHP?

Microsoft is making PHP a first-class language on Windows. They have a full-time contributor to the PHP sources and have been able to push a lot of performance and stability optimizations into the code. Want to work with SQL Server or are you forced to doing that by the customer IT department where you are working? No problem: there are now fully supported and stable drivers available for PHP. Remember where Java once said “write once, run anywhere?”. By having these contributions from Microsoft I think PHP is becoming that exact thing: write PHP once and run it everywhere you have a PHP runtime.

>> Tell us a bit about Windows Azure and how it can be of benefit to PHP Devs?

Where should I start! The Windows Azure platform is a set of services. There are a couple of ways to host your application, ranging from VM’s that run Linux or Windows over cloud services that manage themselves to a Heroku-like platform called Windows Azure Web Sites. There are services for storing data, database services, authentication and web service integration features, … It’s a nice platform and you can build anything on it, often making use of the services provided that provide a lot of functionality out of the box. If you would write an Android app… would you code a backend REST API in PHP to support it? What if Microsoft had Mobile Services where you can write your backend code as well, but all the heavy lifting in hosting it, scaling it and putting sources on GitHub is already done? They even support unified push notifications, making it possible to send ush notifications to all mobile platforms.

Closing Out With Maarten..

>> One PHP person that you admire and what strikes you about him/her

Michelangelo van Dam - President Of PHPBenelux PHP User Group
Michelangelo van Dam – President Of PHPBenelux PHP User Group

My fellow Belgian, Michelangelo van Dam. He’s probably the one guy in the community that has contacts with everyone else in the community. If you need specialized knowledge or just a highly enthusiast person who wants to move the entire community forwards, he’s your go-to guy.

www.phpbenlux.eu if you’re in Belgium, Luxemburg or the Netherlands.

>> Which was the worst programming mistake you did?

Not using a debugger and testing my code by putting a return true; in a function that authenticated a user. With any password, you could login for a few seconds before I realized that code had gone to production. Never going to happen again!
Another one was pushing my password for Gmail to a GitHub repository.

>> Things that you’ve learned from being part of The PHP Community

There is often a lot of religious talk on the Internet: Windows versus Linux, PHP versus C# versus Java. In essence, we’re all doing the same thing. All developers I have met so far are passionate about what they do (and that passion sometimes shows a lot of enthusiasm about a specific operating system or language), but in general we all want the same thing. Working with technology and making our customers and users work smarter. We all want our peers to get better at what they do and share knowledge and insights. Developer communities, not only PHP communities, are great ways of knowing that there are a lot of like-minded people out there.

>> If you could change one thing with PHP, that would be…?

Taking a time machine to the past and making sure that all string functions would have consistent parameter ordering!

>> The day you realised “You’ve made it to the A-List PHP arena” ?

I’m not sure I would put myself in that A-list or even if that A-list exists at all. Some day you just realize that the things you are doing and the days you’ve spent searching for a solution to a problem should be shared. That you want others to avoid having to spend 3 days looking for something that has been solved by someone out there. I know I’ve had those days where I wanted to throw my laptop out of the window, hoping it would be run over by a truck when it hits the ground. Being able to find a detailed blog post or a session by Googling around and making that problem vanish is the best thing that can happen.

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

How-To User Group – Hear It From James Titcumb & Organisers Of PHP Hampshire – “Be Decisive & Take The Lead”

How-To User Group – Hear It From James Titcumb & Organisers Of PHP Hampshire – “Be Decisive & Take The Lead”

Purpose Of This ‘How-To PHP User Group’ Concept

How-To PHP User Group
How-To PHP User Group

This is the #2nd set of How To Start A PHP user group in an attempt to help PHP guys all around the world to spring out a local PHP user group if they do not have one nearby. So before you embark on this journey, you need to know what you have to expect, how to prepare yourself, the pitfalls, the to-do lists, the workload behind, the commitment behind and above all the gratification this can bring to your PHP life.
In these respects, 7PHP invites YOU, elePHPants, to come flock together to learn, share and make our PHP User Groups better and to promote PHP to the best of our abilities and passion! Let’s do this!

PS: Are YOU the founder or organiser of a php user group? Do you want to share your experience and knowledge about User Groups with us? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “How-To PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Who Are James Titcumb & Organisers Of PHP Hampshire?

PHP Hampshire User Group
PHP Hampshire User Group

Last time I welcomed the PHP Hampshire User Group here on 7php – where James talked about the group, the crew, how it all started and everything else..

How-To PHP User Group From The Experience Of James Titcumb & Organisers Of PHP Hampshire

>> What are the things that we need to keep in mind before thinking of creating a user group

Is there a market? Are there ANY people around who are in PHP? If you live in the middle of no-where, don’t create a UG for your village. Either find one in nearby cities, or look into Nomad PHP.

>> What are the challenges that arise when creating a user group

Promoting is always the biggest challenge. Getting the word out about your group is intensely difficult, but thankfully other members of the PHP community are really helpful, for example the ug-admins mailing list on php.net.

>> How to create a user group – can you share with us your way of doing it

Decide how you want it to workmailing lists are a good starting point. I suggest getting at least two other people involved as well. Start by meeting at a pub, decide where you want the future to be.

>> Your tips & tricks of doing it right

The most important point I have learnt is that you must be decisive and take the lead. Have faith in yourself to make the right decisions, and don’t allow decisions left to the community to stagnate – gauge feedback, but at some point you need to make a decision in order to move forward.

>> What is expected out of the Founder of a group

A founder of a group is like a manager of a company – they are looked up to for direction, decision making, fairness and everything else.

>> Things that a founder MUST do

Founders must be decisive as I said. They are the leaders and you need to make sure your vision of where you want the UG to go. Smile, be nice and friendly 🙂

>> Things that a founder should AVOID doing

Don’t be prejudiced, and don’t ignore feedback from your UG.

>> Now, the ‘after-creating’ the user group, how should a leader keep the group active

Constantly get the group members involved where they want to (but don’t harass them). Make sure you keep organising meetups, otherwise people will forget about your group!

>> How to encourage members to participate and attend meetups?

Members are encouraged to participate by the organisers asking for opinions, help with organisations and asking for help with specific items (for example developing the website) on the mailing list and Twitter account.

>> How to find (good) speakers

Interestingly, so far our speakers have either been local people from within the group, or speakers that have approached us.

>> Criteria to select a speaker

Quite simple – they should have something interesting to share with everyone, and be done “the right way”.

>> How to find sponsors and why kind/type of sponsors do we need to look for? What is involved

So far we have only been sponsored by companies closely involved, so we have not had to hunt hard for sponsorship.

>> A mistake that you made and would like to share with us?

Our biggest mistake was thinking that there would be reasonably priced venues available to hold conferences – this is absolutely not the case, most venues are extremely expensive, sometimes prohibitively so!

>> Any other aspects that I missed and you think is important to be aware of?

It’s hard work, but is very rewarding knowing you are helping the community.

>> A final word before closing..

Absolutely support your local PHP user group. If there is not one, consider starting one. Alternatively, join Nomad PHP – there are no excuses not to learn more about your industry!

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

A Chat About Cloud Computing & PHP Development In The Cloud

A Chat About Cloud Computing & PHP Development In The Cloud

A Small Intro..

Cloud Computing & PHP Development
Cloud Computing & PHP Development

Whenever we talk about web development nowadays, there has to be an awareness or at least an interest towards cloud computing. We, as PHP Developers, should be aware of what development in the cloud has to offer and how we can leverage it to stay in the game. To this end, I bring forward a small interview with the Pro Cloud Computing guy, I named Vito Chin! Let’s hear and learn from his pro experience and advice..

Who Is Vito Chin?

Last time I did a thorough PHP Interview with Vito Chin (The Lead Maintainer Of Gmagick Extension For PHP & Co-Author Of the PHP book “PHP Development in the Cloud by Ivo Jansch and Vito Chin”), you can read his whole bio and PHP advice here: “PHP Interview With Vito Chin Lead Maintainer Of Gmagick Extension For PHP – Learn More About The Ecosystem That PHP Is Usually Part Of.

Vito Chin - The Lead Maintainer Of Gmagick Extension For PHP
Vito Chin – The Lead Maintainer Of Gmagick Extension For PHP

PHP Development & Cloud Computing – Let’s hear about it!

>> You co-authored a book with Ivo Jansch named “PHP Development in the Cloud“. Could you tell us a bit about it, what audience is it for and how is it useful?

PHP Development in the Cloud was published in 2011. To dramatise a little bit, I will like to think of the period as a time where a lot of individuals and organisations were in the middle of the exodus away from physical boxes and mainframes to the cloud. Nowadays, the “cloud” seem to be more of a norm than the exception, especially in start-ups. Many large organisations I know of are also looking at utilising the cloud to tackle some of the (mostly scale and performance related) challenges they face.

In the bigger scheme of things though, there are still a lot of things that needs to be iron out on the technical, user engagement and business level. Take for example the case of Tienlon Ho with Google. This highlights one of the less considered areas of SaaS: ownership, continuity and responsibility. On the technical front, there are quirky issues such as IP legacies (inheriting the reputation and legacy GET requests from rouge IP users). I am not saying there isn’t a resolution for these matters currently but that there is more room for the evolution of these matters towards a consensus that makes for a better ecosystem for everyone.

In the meantime, when you’re on the cloud, (i.e. as a SaaS user or hosting your software on a PaaS or have a virtual server on IaaS), a good background on the cloud will help. The book will be useful as it goes through some of the limitation of cloud-based solutions as it is currently. It also takes you through a plethora of stuff you can do on the cloud, from IaaS, to PaaS to SaaS. It will be suitable for anyone that is interested in using, developing or hosting software on the cloud.

>> Could you share your experience with PHP in The Cloud?

The one word I will use to describe PHP in the cloud if you’re deploying to an IaaS environment is: scalability. When I first started coding commercially, scaling means either going through the online server catalogue to acquire a new blade server, load balancer, etc or for projects with hosting companies, it means there will be some calls made and probably some documents to sign, etc. Additional computing resources takes anything from an hour to a week or more to acquire. Some of you may have the luxury of these being taken care of by dedicated administrators, but even this takes some time.

With IaaS such as Linode or AWS, it takes a few minutes. PaaS will even scale automatically if your software’s requirement is sufficiently run-of-the-mill to run on a PaaS. I might sound like an old man to younger readers here but I still find this transformation of computing resource from hardware to software very liberating.

>> Is there a different mindset/approach to be adopted when developing in the cloud?

Yes. Always bear in mind you have a lot more computing resources in your hand, which gives you more options with the architecture of your software. For example, lets say I am given a hard requirement that 500000 objects are to be analysed within 1 minute. Before the cloud, things does seem more daunting and cumbersome. There are more things to think about, i.e. does it make economic sense to get 3 blade servers and a dedicated message queue server to spread the work? Maybe I should write this in C so that the processing is more efficient so I can save on the number of servers, etc. A lot of these details are quite a put-off especially at times where quick delivery and idea proofing is the main focus.

Taking the availability of an elastic cloud into perspective, things become much simpler and I am able to jump closer to the task at hand. Servers to boost computing resources? We can trigger instantiation on the fly. Running out of database connections? The DB server can be easily updated. The point is, the cloud makes it so cheap and convenient for me to obtain these resources. This alters my attitude and ultimately my approach towards the architecture of software I design.

>> Pitfalls?

Sessions. This applies to non-cloud environment as well, but cloud instances made a load-balanced setup so prevalent and much closer to the software engineer that it is worth mentioning. When using sessions where requests are directed to different elastically instantiated web servers, you’ll need to ensure that the sessions are stored within a storage that is common to all web servers.

Configuration. Use a tool like Puppet on your servers, otherwise the management of configuration on your many server instances will quickly get out of hand.

Evaluate a PaaS offering carefully before adopting it as your deployment environment. Check that the versions of PHP, extensions and all other dependencies are compatible with your application’s requirement. Also, find out how frequently they update their packages and analyse how your application will be affected by these updates.

>> Best cloud platform you recommend using?

I keep finding myself using IaaS such as AWS and Linode, which are great and very practical for small and large projects alike. When a project is small and in development, I like to dabble around the environment a lot so having infrastructure level control is essential. On larger projects, we’ll usually spin off different instances for integration, testing, staging and production. IaaS is great for these things.

If I were to use a PaaS for some reason, I think I’ll go for Orchestra.

>> PHP Libraries/framework that you recommend using for PHP in the cloud?

Gearman is a useful framework for applications that needs to distribute work around. There are different reasons to do this. For example, you may want to allow the user to trigger some big-data analysis via a non-blocking GET request. Or you may want to farm out a piece of work that is best done within a C setting via your PHP front-end. Applications that will require Gearman are usually the kind of applications that you will run to run on a cloud. A PECL extension for Gearman is available.

Want To Be Cool? Do Something Simple!

1) LIKE 7PHP dot COM on FaceBook – if you appreciate what I do

2) Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me 😉

3) Make a comment below using the comment form – I’m sure you can at least say 1 word about this interview

{I’m thankful to your response(s)!}

PHP Interview With Corey Ballou Co-Organizer Of The Queen City PHP Meetup Group – Start A Web Development Blog & Write About New Things You Learn

Purpose Of This Interview

This is the #35th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Intro..

Corey Ballou Co-Organizer Of The Queen City PHP Meetup Group
Corey Ballou Co-Organizer Of The Queen City PHP Meetup Group

In this edition I talked with Corey Ballou who is the co-organizer of the Queen City PHP meetup group. @cballou has also been working as a developer with the cool mojoLive team. To be noted that Corey will be the speaker for the next, 3rd NomadPHP Online Talk this week and he will be presenting “Creating Realtime Applications with PHP and Websockets“. I now invite you to learn from his experience and get to know his personality.

And Now The Interview…

>> Please tell us a bit about yourself

I was lucky enough to be exposed to computers at a very young age. My mom was a systems analyst at the local power company, so I got a computer back in the days of AOL and 14.4k modems. I was fascinated with the whole warez scene and free software, which naturally progressed into dabbling with VBScript for nefarious purposes like punting people from AOL. I ran my first domain in the 6th grade, SnowBlown Snowboarding, where I basically compiled images of all of the top industry snowboarders into photo galleries and posted tips and tricks on moves I could only dream of performing. This exposed me to the intricacies of HTML as well as some Perl, CGI, and Server Side Includes. I officially had the web development bug. Ever since then, I’ve always known I wanted to be a web developer. I was self taught in middle school, took local college courses in high school, and received a bachelors degree in Computer Science at Clarkson University.

In terms of my professional career, I began working with design and development agencies for a period of 5 years. This was a phenomenal way to get into the industry. I was exposed to a plethora of projects, held to quick delivery times, and learned a metric ton. During this time I also ran a popular web development blog where I honed my skills in technical writing and exposed myself to reviews and critiques of others. After work, I was always working on side projects to hone my skills. I was coding 10-12 hours a day for those first 5 years.

And here I am today. I’m the current development lead at POP.co, which is a really cool startup that spawned at dotCO after us developers were tossing ideas around. We decided that getting a business or personal presence online was too difficult for the non tech savvy crowd. What we came up with was a tool to automate setting you up with a domain name, a custom email address, google apps, and the ability to enable and disable additional services in under a minute. It’s pretty revolutionary stuff. We even give our users a free 15 day trial with a custom domain name to see if they like it!

>> How you started with PHP

I started with PHP in college on my own. I was building my own music recommendation website because I thought the existing solutions out there were horrible. I didn’t have any formal PHP classes or training, I just picked up a book, read tons online, and began coding. The key is to always be looking for best practices. There’s so many horrible tutorials and open source libraries out there that it’s easy for a beginner to get in a spot where their website could be comprised by an attacker.

>> Your LAMP stack comprises.. ?

Personally, I tend to run CentOS or Ubuntu, nginx running as a reverse proxy, Apache, PHP 5.4, and MySQL 5.5. I also tend install some lesser known things on all my VPSes such as fail2ban, monit, and supervisord.

>> The relationship between You and The PHP Community comprises..

I have been co-organizing the Queen City PHP meetup group in Charlotte, NC for over 2 years now. We took it from a dying group with no monthly meetings to one that brings in some industry leaders a few times a year. Beyond that, I contribute to open source via my github account as well as openly blog at BLACKBELT. I do public speaking on occasion. I used to also heavily contribute on StackOverflow but have since backed off in that department.

>> How do you find PHP now as compared to when you first started

I believe it’s progressed for the better. The language as a whole has taken steps to keep it current with other modern languages. The community is stronger and more tightly knit than before. The general consensus has been to tighten up the tutorials and best practices for newcomers to PHP. When composer started gaining adoption, I believe it was a turning point for PHP. I think we still have room for growth in the package management department. We need a way to point people in the right direction by adding things like upvotes, rankings, and commenting to let others know what’s recommended.

>> Based on your experience, what are the good and bad parts of PHP

Good: It’s easy, it’s full featured, and it’s heavily supported across all hosting platforms.
Bad: It’s a bit more verbose than other languages and doesn’t impose very many restrictions on it’s usage. You’re left to your own devices.

>> What would be the Top advice to a PHP beginner

You really need to put in your hours. It’s the only true way to get better at anything. Consider doing at least one, if not all, of the following:

  1. Keep up on popular blogs, read tutorials, read source code.
  2. Join an existing open source project on github and contribute.
  3. Start a web development blog and write about new things you learn.
  4. Get out there in the community. Attend meetups, conferences. Meet and know your local developers.
  5. Never stop checking out new technologies and libraries. Our industry moves too fast for you to lock yourself in.

>> To someone who wants to become a better PHP developer..?

I’d say my advice for becoming a better PHP dev is the same as that I gave for beginners. I still do everything mentioned above to improve myself. One thing that I supplemented this with is speaking at conferences, local meetup groups, podcasts, etc. Getting yourself out there in public forces you to acquire a domain knowledge of the subject matter before presenting on it. You essentially force yourself to learn; just like a homework assignment. There’s always more to learn, so it’s next to impossible to run out of topics.

>> What are some common PHP mistakes you often see beginners make?

I’m a huge stickler on escaping input and sanitizing output. Security is a must. Always be cautious of XSS and SQL injection attacks. They’re by no means the only two attacks, but they’re ones you should never forget.

>> The best PHP book you’ve read

If you have a general understanding of PHP and are looking to learn best practices from some industry leaders, I recommend checking out PHP Master: Write Cutting Edge Code. It was written by three highly respected leaders of the PHP community: Davey Shafik, Lorna Mitchell, and Matthew Turland. This book isn’t tutorial driven and it’s not going to give you copy and paste code to solve your problems. It’s purpose is to satisfy eager, inquisitive minds who want to correct mistakes before they’re made.

>> A PHP blog or resource you highly recommend

Chris Cornutt The Hero Behind PHPdeveloper.org
Chris Cornutt The Hero Behind PHPdeveloper.org

Chris Cornutt writes about PHP web security at websec.io. If you haven’t already, check it out!

>> The IDE that you use

Don’t shoot me, but I’m actually using Komodo IDE. I’ve kicked myself several times for not just taking the jump into vim full time. The less you touch the mouse, the more productive you can be. If you’ve ever watched a vim guru, you realize how inefficient you are at programming.

>> How do you debug your PHP code?

I run xdebug for local debugging and use Monolog with a heavy dosage of info, error, and exception catching on our production code which outputs to a MySQL database, local log file, and remote Graylog2 machine. We receive notifications via email for anything exceeding a log level of error (so basically critical and alert). With this information at hand, I can usually track down the problem to within a few lines of code. Alot of this came with years of debugging under my belt. It’s like a black art.

>> A PHP framework you use and would recommend

I both use and recommend Laravel. This is coming from Kohana 3 and Zend Framework 2.

>> A unit test framework you recommend using?

You specifically mention unit testing, so I’d have to say PHPUnit. I’d also like to throw Behat into the mix for BDD. You can use both on your project at the same time.

>> A CMS that you think is worthwhile

I’ve always been a fan of WordPress, having written a number of plugins over the years. It’s very easy to customize the look and feel and the plugin repository is amazing. It’s not the prettiest solution under the hood, but the community support can’t be surpassed.

>> An E-Commerce cms you recommend

This is a tough one. My limited exposure to Magento left a bad taste in my mouth, but it’s definitely feature packed. To be honest, I really haven’t had to deal with many E-Commerce CMSes. I created a full blown one from scratch a number of years ago. It was perhaps one of the most painful experiences of my development career. Things like percentage discounts leave you with order totals that involve fractions of a penny. It’s a whole different ballgame.

>> Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

I’ve always been a proponent of writing my own queries by hand for the sake of readability. Anyone with a background in SQL knows what you’re trying to accomplish; it’s framework agnostic. In terms of database layers, I do love the “M” in MVC. Keep all your queries in the model!

>> One PHP library/Project you really appreciate

The combination of composer and packagist on top of PSR-0 standards is perhaps one of the biggest contributions to the community I can think of as of late. It’s giving libraries exposure and making it easier for young developers to get up and running with tested and battle hardened solutions to their problems.

>> One function that you like (or which you tend to use frequently)

I’ve been doing a fair amount of API design lately, so I’d have to say json_encode and json_decode have been at the top of my arsenal when I’m creating RESTful clients and servers. Beyond that, all of the cURL methods in general. I love and hate cURL at the same time.

>> One PHP person that you admire and what strikes you about him/her

Cal Evans NomadPHP Organizer
Cal Evans NomadPHP Organizer
  1. Cal Evans

I personally admire Cal Evans for not only his passion within the community. I’m most struck by his ability to respond to any and all emails. He’s super active, responsive, and always helpful to anyone he comes in contact with.

>> One PHP Community that you recommend

Any and all! I highly recommend getting on Freenode IRC and joining the channel #phpc.

>> Are you part of any PHP User group? Could you tell a bit about it if yes..

I’m actually a co-organizer of the Queen City PHP user group in Charlotte, NC. You can check us out at qcphp.org. We try to keep things consistent and interesting, scheduling events every second Monday of the month. If you’re ever headed our way and are interested in presenting, just give me a heads up. We love guest speakers!

>> A PHP Usergroup that you appreciate and would highly recommend

The Atlanta PHP user group is one that I believe all of us leaders look up to. They’re very successful, have consistent meetups, a great list of speakers, and have a great turnout to boot. Getting a consistent turnout is a very hard thing to do. It really takes the community on the whole to make the effort to show up.

>> Which was the worst programming mistake you did?

Working as root on a remote machine and performing something recursively such as “rm -r” or “chown -R www-data:www-data *“. Either that or not creating a MySQL backup before performing migration queries. Once you’ve done it once, you always remember to back your stuff up! Messing up a live machine makes your heart sink.

>> If you could change one thing with PHP, that would be…?

The stigmas. There’s so much negative energy coming from developers of other languages towards PHP. I’d like to think of PHP developers as being agnostics in the sense we openly use whatever tools necessary to complete the task at hand efficiently. If we’re more efficient at X than Y, so be it. I’m of the mantra “get shit done“. That’s the single most important thing in development: delivery!

Corey & PHP Conferences

>> The best conference you attended would be..

It’s tough to pick my favorite for the sake of being fair. I like conferences that are well organized and run smoothly with little wifi interruption. Most conferences have an overarching theme which dictates the atmosphere, attendees, speakers, and presentations. I will say that one of my favorite conferences is likely due to me being new to the industry, but it was a MySQL unconference up in Charlottesville, VA. The speakers were top notch and I was really schooled on MySQL performance and optimization. I went home and read the entirety of High Performance MySQL after that.

>> Can you please share the good, and may be not so good moments, of being part of all the conferences you attended

All of my experiences have been positive. My biggest gripe is when I end up in an intro level presentation on a topic I’m already familiar with. Sometimes it’s tough to distinguish the technical level of a presentation based on the summary. I personally prefer walking away from presentations feeling dumb, so it may just be me!

>> What are the main aspects of conferences that can really help a PHP guy to get better in his progression

There’s alot to be said about attending a presentation as opposed to reading the slides online. The slides themselves are missing all of the context. When you attend conferences, you’re already in the mindset of meeting individuals as passionate about your profession as yourself. Not only that, but the topics themselves tend to as current as possible. What I get most out of conferences is a drive to learn new things.

Closing Out With Corey..

>> How do you time manage all the stuff that you do, coupled with your personal life?

My primary work hours are my work hours. I don’t intermingle them with outside activities. If I’m working on a side project, contributing to an open source project, or doing something like blogging, I generally do it from 6 to 8 AM. If you’re an early riser like me, that gives you approximately 10 hours a week to do whatever you please in the mornings if you exclude weekends.

>> The day you realised “You’ve made it to the A-List PHP arena” ?

I’m not so sure I ever feel like I’ve made it. Maybe it’s just me, but there’s always a feeling of self doubt or “Am I really good enough?” I guess the day you’re accepted as a conference speaker gives you a sense that you’re on the right track. For those of you looking to make a personal brand for yourself, I could definitely give you pointers. Always open source your projects, try to get your name out there by blogging, create presentations in advance and submit them to conference CfP (call for papers), and make a conscious effort to meet other community leaders. People want to see your drive; your passion!

>> Why you are successful and why others are not?

I’d say part of my success is due to just putting myself out there for others to see. It’s a risk/reward system. I could put something out there really shitty and get some grief. Generally that’s not the case and people are receptive since you did something to benefit others. The real key is to spend your spare time helping others. By putting yourself out there in the public eye and teaching others, you force yourself to learn. Never stop learning.

>> A final word before closing up..

We need more active community members. More conferences. More proponents! If you’re generally on the sidelines as a passive participant, talk to your local user group and try to get a talk scheduled!

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

[NomadPHP July 2013 Tickets] – Win (TWO) Free Tickets To Hear Corey Ballou Talk About Creating Realtime Applications with PHP and Websockets

What Is This About?

NomadPHP is already on their 3rd edition and I’m hence also on my 3rd Ticket(s) give-away. So by now you should have heard about NomadPHP. If you still haven’t, you should probably read:

  1. the (first) Ticket Give-away here
  2. the second ticket give-away 
  3. +++ also read about the NomadPHP interview with Cal Evans – The organizer
  4. For more info, see NomadPHP’s home page.
Win Free Ticket(s)
Win Free Ticket(s)

Who Will Be The Speaker Of NomadPHP July 2013 Session

The topic of this 3rd talk will be centered around PHP and Websockets and will be presented by speaker Corey Ballou.

How To Win The Free Ticket

OPTION 1 => Via Email

Basically this is for people on my email newsletter list. If you are on my list or if you plan to join (it’s free btw), you will receive an email to which you just have to shoot me a blank reply.

OPTION 2 => via Twitter

Just tweet the following:

You Can Win #FREE Tickets to attend #Live #Online @nomadphp talk. Speaker=> @cballou Topic=> #PHP & #Websockets @7php http://7php.com/nomadphp-july-2013-free-tickets/

NOTE: You can participate in BOTH of them to increase your chance of winning

Deadline

=> I will make the draw and finalize things on Sunday 21st July – that is 1 week as from the date of this post.

Speaker & Attendee Feedback Of The Previous Laravel4 Talk Of NomadPHP June 2013

A Small Intro…

Previously on thursday 27th July 2013 (8pm CDT), NomadPHP hosted their 2nd talk which was about “Laravel 4” – the speaker being Phil Sturgeon. I also announced my 2nd free ticket giveaway for this online event – a generosity awesomely made possible by the ever-awesome @NomadPHP organizer; Cal Evans. In this short (as compared to the previous one) article, the spotlight will be on the speaker and an attendee. I’m thankful to both for their responses and sharing their NomadPHP experience with us. We’ll also have a quick (as in very quick) glance at the ticket winners.

Before We Move.. Did You Read The Interview With NomadPHP?

If you did not, you are missing things that you do not know about NomadPHP!

Phil Sturgeon – The Speaker Of The 2nd NomadPHP Talk

If you follow 7PHP, you would recall that I did a PHP Interview with Phil Sturgeon (founder of PyroCMS). So “The Englishman in New York” should be no stranger to you. Let’s now head towards his NomadPHP interview..

Phil Sturgeon - PyroCMS Founder
Phil Sturgeon – PyroCMS Founder

>> How has your talking experience with NomadPHP been?

I just hopped onto some voice conference software from a hotel room I happened to be in, and gave my talk. That’s easier than going somewhere!

>> As a speaker, how was the response of your listeners. Were they active, engaging?

There was plenty of chatter in IRC, but reading it while trying to talk would have been tough.

>> Your message to the listeners?

Come back next month and Invite your friends.

>> The best question you were asked

I threw the Q&A over to Taylor Otwell who was hanging out in the background. I figured we’d both get some questions but nobody wanted to talk to me with the creator of the framework in question on the line.

>> Areas / things that you think NomadPHP can improve upon?

They’re doing a great job, it just needs time to grow and maybe a little more advertisement. Hopefully this interview will help them get a few signups!

>> Your opinion about NomadPHP in general?

I can’t remember who said it first but I’ve heard it a lot:

If you don’t know who your local PHP user-group leader is; its you.

That said, having a user group for people who don’t have a user group is genius. You loose out on the whole “at the bar” afterwards bit, but it’s better than nothing for sure – especially in rural areas where you might be the only person interested in tech for several miles.

>> Any other thing you want to mention..

I was very impressed with the NomadPHP listeners. I put up a link to my BrakingAids charity bike ride and got over $100 in sponsorship from the listeners, which was really unexpected! It’s a kind, global community and I was happy to be the 2nd speaker to help get them going.

Welcoming Don Gilbert + His Feedback On NomadPHP’s Talk As a LIVE Attendee

Don Gilbert - The Joomla Framework Maintainer
Don Gilbert – The Joomla Framework Maintainer

>> Hi Don! Could you present yourself to 7PHP’s audience..

I am Don Gilbert, a PHP Developer and currently a Framework Maintainer for the Joomla Project. I work for a web design company in the Chicago area, and we use the Joomla CMS for all our medium to large clients, so I try my best to make it better.

>> How has your listening experience with NomadPHP been?

This was my first NomadPHP I’ve attended. I really enjoyed the experience. Getting to know other like-minded people and to be able to ask questions and learn is always good, and NomadPHP makes that possible. There are several PHP groups in Chicago, but I don’t get to attend as much as I’d like with my work and family schedule, NomadPHP was able to fit in right when I needed.

>> Did you have any software issue to setup yourself to watch the talk?

There was software to setup, but there were no issues. Cal sent out an email explaining exactly what to do, and it worked out great. No issues that prevented me from enjoying the meetup.

>> As a listener, how was the response of the speaker?

Phil’s a great guy – I really enjoy talking to him every chance I get. He did a great job with the presentation. This week we got a bonus though because Phil was attending PeersConf at the time, and was able drag Taylor Otwell (of Laravel fame) into the talk as well, and we were able to ask him questions. Since I’m a framework maintainer, like Taylor, this was a great opportunity to ask him about some of the struggles I’ve been having and get some good insight. It was really enjoyable.

>> One thing you learned and would like to share?

I learned that there is so much for me to learn still, but I think it’s like that for everyone. Seriously though, I learned that in order to succeed in the software world (from a project standpoint) you really need to focus on what sets you apart; what makes your special. In this new world of PHP where major projects are starting to collaborate (Drupal and Symfony, for example) or you can pick up any micro-framework and just pull together all the things you need for your project from Packagist using Composer, people need a good reason to use your code instead of someone else’s. (We DO all want others to use our code. That’s why we release packages, right?) Focusing on what sets you apart will make those choices easier. Lots to think about when applying this to the Joomla Framework.

>> Things that have caught your attention?

The openness and willingness for the leaders in this community to share their experience and knowledge is really amazing.

>> Your good and may be not so good moment(s)?

When Phil’s audio cut out and no one knew what happened, that was the only not-so-good part. Everything else was a blast.

>> Areas / things that you think NomadPHP can improve upon?

Getting the word out and getting more people to join in the fun. It’s just the second meeting, so things are still getting ramped up, but I expect to see more people on next time! 🙂

>> Your opinion about NomadPHP in general?

I like it a lot, Cal and the other organizers are doing a great thing. As I said earlier, I’m able to fit NomadPHP into my schedule. If I don’t have time to attend, I could just watch the videos at a later date. It’s really convenient.

>> Anything you want to add..

Thanks for requesting this interview. Totally unexpected and greatly appreciated.

Go Joomla!

And.. The TWO Ticket Winners Of NomadPHP June 2013 Were..

  1. Daniel Euchar (@daneuchar) – for OPTION 1
  2. Grega Koprivnikar (@greentech77) – for OPTION 2

Do You Want To Try Your Luck Winning The Next Free NomadPHP Ticket?

If you want to try your luck (you have two chances of winning a ticket), follow @7php – stay tuned for the next Ticket(s) Give-away!

Closing Out..

NomadPHP is driving forward with a nice concept. As with anything, an event or an endeavour is nothing without attendees and supporters. My message to YOU is, try to support NomadPHP by any of the following:

  1. Talk about it with your friends
  2. Share each talk on your network (facebook, google+, Linkedin..etc)
  3. Propose to give a talk
  4. If you have a local user group, ask your members to all unite and have a mutual watch and be active
  5. Blog about NomadPHP
  6. If you are a company, try to sponsor NomadPHP
  7. If you have other ideas, just email Cal and discuss about it
  8. Lastly, spread this article since I believe it contains useful info about NomadPHP

I remind you that NomadPHP is a virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. If you do not have a local user group, join the Nomad elePHPants! If you already have one, you can still join to make it more awesome!

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

Know Thy PHP User Group Know The PHP Hampshire User Group – Find An Independent Venue Rather Than Conference Venues

Purpose Of This ‘PHP User Group Interview’ Concept

This is the #2nd set of ‘Know Thy PHP Usergroup‘ in an attempt to create more awareness of:

  • what is $this PHP UG about + get to know the leaders/Founders/Community behind it
  • what is a PHP User Group in general
  • to personally know all the PHP user groups Around The World – that excites me and I hope you too!

This concept is also a good opportunity for new #elePHPants to know about PHP UGs.

PS: Are YOU the founder or organiser of a php user group? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Welcome To The PHP Hampshire User Group

PHP Hampshire User Group
PHP Hampshire User Group

>> Could you, the leader(s), tell us a bit about yourself..

I am James Titcumb (@Asgrim) – I’m part of a team of 5 organisers of the PHP Hampshire user group – the other 4 are:

  • Richard Holloway – (@richardjh_org)
  • Lee Boynton – (@leeboynton)
  • Simon Wade
  • Jon Wigham

My day job managing the development team at the Ed Group in Fareham. I’ve got about 11 years of experience in PHP and I still love learning more about my field.

>> What is a user group?

User Groups mean different things to different people. To me, a user group is a group of people with similar interests gathering to share, discuss and learn more about their field.

>> What is your User Group about?

PHP Hampshire is about what I think a user group should be – to share, discuss and learn more about PHP. We’re not strictly limited to PHP though – think of it more like PHP + other web-based technologies, but PHP is our primary focus.

>> The exact place where this group resides?

The PHP Hampshire group is based in Portsmouth, Hampshire in the United Kingdom. We aim to cover all of Hampshire, so although our meetups are currently in Portsmouth, they may not stay that way in the future.

>> The web presence of this group..

We have the following web presences:

  1. Website – http://phphants.co.uk/
  2. Google Groups (mailing list) – https://groups.google.com/group/phphants
  3. Twitter – https://twitter.com/phphants
  4. Facebook – https://www.facebook.com/pages/PHP-Hampshire/538143879532090

>> What are the objectives and aim of this user group?

Our mission is to ensure that we are sharing knowledge, helping the community and learning new things.

>> When was it first launched?

Our very first meetup was way back on 12th March 2011. However, we had very few attendees and eventually we stopped organising meetups for several months. Richard came to me keen on starting a PHP UG in the area, so we started it back up again with more of a plan this time!

>> Number of people in the group..

We’ve got 21 people on the mailing list, and we had about 15 attendees at our March meetup. Many of the attendees at the March meetup are not actually on the list. We’re still only small at the moment, but we’re steadily growing!

>> Could you briefly tell us about the key people behind this group and their respective roles..

  • Simon is our treasurer
  • Richard and Lee liase with the speakers at our events
  • me and Jon deal primarily with sponsorship and venue

>> Could you lay down some “daily routine” or functioning of this group..

We don’t have a daily routine – our meetups could be up to 3/4 months apart, so things move pretty slowly for us – just promoting things really until a couple of weeks before a meetup, then it’s tying up any loose ends.

>> How is the routine task dispatched among the team?

We occasionally have “organiser” meetups where the 5 of us will… well, erm, organise 🙂

>> How many meetups have been organised till now?

We’ve had 14 meetups so far, although technically only a handful of those have been since we “reformed”.

>> How do you plan your meetups and what is involved?

As mentioned, we have organiser meetups. We ensure we still know what we are trying to achieve. Then we decide what our aims for the event are – capacity, who we might like to do presentations to approach and so on.

>> Frequency of meetups..

At least every quarter – we are considering hosting smaller monthly meetups.

Updated on 27 Nov 13:

The meetup is now every month

>> The average number of attendees to meetups..

I suppose over time, the average is about 5 attendees, but it’s only the last few meetups that are growing bigger.

Updated on 27 Nov 13:

30-40 attendees a month

>> The highest number of attendees to meetups..

15 attendees at the last event – we are planning a bigger event in July!

>> Do attendees comprise only members?

No – our events are open to all, but we encourage joining the mailing list and getting involved in the group.

>> How do you go about finding sponsors, what are the key aspects to successfully find sponsors?

Businesses mainlythrough business contacts, companies we work for. As of yet, we haven’t had sponsorship from companies where one of the organisers doesn’t have a relationship with.

>> Challenges involved in finding sponsors..

I expect when we grow and need more sponsorship, we’ll find convincing businesses that it’s a good investment and great for the community. The difficulty will be finding sponsors whose vision is aligned with our own (openness, freedom, sharing and learning).

>> Do you also organize conferences open to the general PHP Community? Frequency?

Yes, our main events are conference style events, and they are open to anyone.

>> What is this famous ‘call for paper’ and how is it scheduled?

I believe a Call for Papers is the event organisers openly asking the community to come and speak in an event. As of yet, we haven’t really had a CfP – speakers have approached us anyway, or we have contacted them.

>> How is it different from other PHP user group?

I’m pushing hard for openness and ensuring that we are sharing knowledge with each other. At this stage, making money is unimportant (although inevitably as the group grows, we will need to generate revenue to fund future events) – so much so that at the moment we are aiming to keep our events as free as possible, and whenever the time comes that we must start charging for entry to our conference events, to minimise the cost to the attendees. PHP Hampshire is for the community – not for profit 😉

>> Lessons learned so far..

That even if people say they’ll come, they don’t. And that venues are very very expensive. Find an independent venue, for example social clubs, rather than hotels or conference venues.

>> How is organizing and running a user group different from organizing a conference?

We do both – so to me they are one and the same 🙂

>> A mistake that you made and would like to share with us..

Not promoting the UG well enough in the first instance. We could’ve got the group running bigger, much sooner had we been more motivated!

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

PHP Interview With Phil Sturgeon The Man Behind PyroCMS – Follow A Standard It Doesn’t Have To Be PSR-1 or PSR-2

Purpose Of This Interview

This is the #34th set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Intro..

Phil Sturgeon - PyroCMS Founder
Phil Sturgeon – PyroCMS Founder

In this edition I talked with Phil Sturgeon who is the founder of the CMS named as PyroCMS. He also wrote a book about it called “Catapult into PyroCMS“. @Philsturgeon is very much involved in The PHP Community; he regularly participates in conferences, is a prominent voice and voting member of The PHP-Fig (aka the PHP Framework Interop Group, I also asked him a few questions about it) and he has been amongst the core contributors of PHP Frameworks like CodeIgniter (CI) and FuelPHP, although he is now opening his arms towards Laravel PHP framework (the PHP Framework for Web Artisans). On the professional scene, he is the Lead Engineer at Kapture. I now invite you to learn from his experience and get to know his personality. (I’m also thinking of doing a follow-up on PyroCMS with him soon!)

Something worthwhile to mention is that Mr Sturgeon is participating in the “Autism Awareness and Research” where he’s cycling/participating to raise money – to know more about how to donate or participate, see his personal home page at: philsturgeon.co.uk.

And Now The Interview…

>> Please tell us a bit about yourself

I am Phil Sturgeon, a PHP blogger who has worked on a bunch of open-source projects, written loads of articles about programming stuff and occasionally talk at conferences. I spent years freelancing and consulting for various people, before recently laying the anchor as Lead Engineer of Kapture. Here as well as PHP I write a lot of Python and work with all sorts of devops magic.

>> How you started with PHP

I used to manage a website called GameZone3000 when I was 11, it was all about flash games, video games, reviews, cheats, etc and implemented Amazon referral codes to make money. I managed the whole thing with static HTML and it was incredibly hard work – with only iframes seeming to help out. A friend pointed me to phpBB and sent me some PHP tutorials and suddenly life became a LOT easier.

>> Your LAMP stack comprises.. ?

For basic CMS-based projects I just use MAMP Pro, but for anything more complex I use Vagrant to run Ubuntu, PHP 5.4, (My/Postgre)SQL

>> The relationship between You and The PHP Community comprises..

  • I used to write a lot of articles about CodeIgniter and release a lot of code for it; so much so they eventually let me be a core contributor, where I added a load of features along with the rest of the “CodeIgniter Reactor Engineers” and oversaw the merging of thousands of pull requests.
  • I was the second team-member on the FuelPHP project where I mostly worked on the CLI utility “Oil“,
  • founded the CMS PyroCMS,
  • contributed huge chunks of text to PHP the Right Way,
  • am a voting member on the PHP-FIG
  • and started up a podcast called PHP Town Hall with my friend Ben Edmunds.

>> How do you find PHP now as compared to when you first started

The language itself has come on leaps and bounds since the PHP 4 days, and while it still has plenty of room for improvement things like namespaces and anonymous functions have given us the basic tools to build some really interesting components. Composer has given the ecosystem a massive boost and we’ve been enjoying a renaissance for the last year thanks to it.

>> Based on your experience, what are the good and bad parts of PHP

I can smash out prototypes like a man possessed, which means I can get paid more faster. Beyond that using frameworks like CodeIgniter and Laravel 4 I can build a solid code-base which I can then hand off to the most junior developer and have them look after it, which means I don’t get client calls years after the hand-off asking me to update their contact form…

>> What would be the Top advice to a PHP beginner

  1. Go through CodeAcademy
  2. Google every error message. You’ll always end up on StackOverflow, but it’s worth searching just in case a blog pops up

>> To someone who wants to become a better PHP developer..?

  1. Read PHP The Right Way. It’s got some advanced stuff on there, but it has something for everyone and a lot of best practices.
  2. Follow a standard. It doesn’t have to be PSR-1 or PSR-2, but it definitely could be.

>> What are some common PHP mistakes you often see beginners make?

[lang=”php”]
if ($foo === true) {
return true;
} else {
return false;
}
[/lang]

Urf.

>> The best PHP book you’ve read

I’ve not read many PHP books, but I liked Larry Ullman‘s PHP Advanced and Object-Oriented Programming

>> A PHP blog or resource you highly recommend

The comments get super petty, but on the whole its an amazing resource for fresh PHP happenings.

>> The IDE that you use

All Sublime Text 2 all the time.

>> How do you debug your PHP code?

  • I have a lot of logging set up on complicated projects, so things like Graylog2 and Monolog can be a nice solution.
  • Xdebug is great if you can get breakpoints set up, but don’t be afraid to just var_dump() everything until you find a solution.

>> A PHP framework you use and would recommend

Laravel 4 is an amazingly powerful, quick and flexible framework. If you’ve never used Laravel, or have used a previous version, you’ll be in for a surprise.

>> A unit test framework you recommend using?

There are alternatives to PHPUnit? (#troll)

>> Do you recommend using database layers and ORM? If yes, what database “framework” you would recommend?

Laravel 4 has a ORM called Eloquent which can run entirely by itself. It’s simple, lightweight, and handles relationships, eager/lazy loading, mass assignment protection, etc nicely.

>> One PHP library/Project you really appreciate

Obviously Composer, but that’s a boring answer.

Alex Bilbie has created a spec compliant, PSR-2 compatible, OAuth 2 server which has PDO drivers, Eloquent drivers and some Mongo drivers floating around somewhere.

https://github.com/php-loep/oauth2-server

>> One function that you like (or which you tend to use frequently)

Not only does it have a cool name, but its great for “Did you mean…?

>> One PHP person that you admire and what strikes you about him/her

Taylor Otwell (author of Laravel) has broken into a crowded marketplace (who hasn’t released a PHP framework before…) and made a massive storm in the community, without treading on anyone else’s toes or developing an unbearable ego. He’s created a framework with beautiful syntax, kept innovation moving, kept the community involved and more importantly put up with me pestering him on Skype at all hours of the day and night whenever I spotted a bug or had an issue.

>> One PHP Community that you recommend

PHP-FIG isn’t somewhere to go to make friends, but it is a great community of people trying to make a lot of PHP-land better. Join up, weigh in, and maybe help shape the future of some big projects.

>> A PHP Usergroup that you appreciate and would highly recommend

PHPNE in the UK is amazingly welcoming to outsiders and full of awesome people. They also know how to drink.

>> Which was the worst programming mistake you did?

I once left a line of debug in some code which would run in a for loop up to 10 times on a login attempt, each time sending out an email. Somehow this got past peer review, and the QA team. When a few thousand users started logging in at 9am it smashed the mail servers and caused some real problems on the network… Oops.

>> Things that you’ve learned from being part of The PHP Community

People are quick to laugh at me, or judge me for being “just a PHP developer“, but I love the attitude of most PHP developers. We might not have impressive neck-beards, or leather jackets and Ray-Ban’s, but our code is powering 80% of the internet and it hasn’t fallen over yet.

>> If you could change one thing with PHP, that would be…?

Named parameters. Arrays just don’t cut it (you can’t properly document an array) and creating objects just as parameter bags is ridiculous. Ruby and Python do this perfectly, but the PHP core developers who want this have always been outnumbered by people calling this “unnecessary” or “overly-complicated”, which it obviously isn’t. At all.

>> You are also a Ruby (Ruby-on-rails) developer – what aspects of Ruby, can we PHP developers learn from it?

Ruby’s usage of blocks (PHP has callbacks, which is close enough) can inspire excellent API design. PHP developers focus too much on long-winded argument lists, when passing a few objects to a anonymous function can be a lot neater.

>> What things does PHP lack as compared to Ruby?

PHP still has a terrible REPL in the core. If you have php5-readline then its a little nicer, but to be any real use you need to install Boris.

https://github.com/d11wtq/boris

PHP also needs a little longer to build out quality code packages. People are all hard at work building Composer packages, but Gems have been going a lot longer. You think of it, Rails has a Gem for it. It might not work with all the other gems you expect it to (no Ruby-FIG to help guide the interaction I guess…) but when they work they are extremely awesome.

Other than that, PHP is just lacking a little syntactic sugar compared to Ruby, but that’s never really been something I care about.

NOTE: (REPL means Read-Eval-Print-Loop)

>> What things can Laravel or any other PHP Framework learn from Ruby-on-Rails?

Laravel has already learned a lot from Ruby-on-Rails. The Schema system and Migrations are very similar. Database Seeding, generic queue interface, tasks, etc are close to feature parity with RoR.

>> Areas where PHP excels from Ruby?

Portability and speed. It might not be as beautiful, but PHP will run on any $5 a month SSH-less VPS and it will do it relatively well.

Phil and PHP-Fig

>> How did PHP-Fig come around and who started it + when?

From the FAQ: “The group was bootstrapped by a number of framework developers at php|tek in 2009. Since then various other members have applied and been voted in, increasing the size of the group from the first 5 to over 20.

>> The initial sole aim of creating it?

I wasn’t around for the decision making, but the idea is to see how different projects can work together to make everyone’s lives easier. By defining standards and interfaces we can reduce the amount of “adapter” code bridging the gaps between packages, and stop developers constantly have to switch their IDE settings (and brain) to use a different standard for every project they work on.

>> Do you think that aim is still being preserved?

Absolutely. The number of PSR’s per year has been low, but there are several proposals tantalizingly close to reaching the voting stage, so 2013 should see another 2 at least.

>> It is not The standard for The PHP Community, but ‘a’ standard for most (or all?) framework developers to adhere to. Is this true? What is your opinion?

Sort of. PSR-0, 1 and 2 are all standards which anyone in the PHP community is absolutely welcome to use, but nobody is forcing you to use it. It’s not just for frameworks, but for component/package developers, open-source applications, and anyone who feels like using an existing standard at their company instead of inventing their own.

>> I have observed there are alot of confusions and disagreement going on among peers and collaborators. Could you talk a bit about some of those discomfort zones going on and why you think they are happening + what solution do you propose?

Every now and then there is a bunch of noise in the PHP community from people who consistently misunderstand the aims of the FIG. This is usually because some developer thinks “They’re coming to take away my tabs” or “I’m Allman until I die!”. Now and then somebody misunderstands the point of an auto-loader spec, thinking we should be defining some auto-magical auto-loader that loads all historical PHP code to ever exist.

There are a lot of ways to skin a cat, and with a community as large as PHP we’re never going to get 100% agreement on anything. What I appreciate about the PHP-FIG is that we’re all making compromises with our coding standards. Folks seem to think its just Zend and Symfony telling everyone what to do, but in reality everyone gets a vote with equal weight, so Symfony gets as much say as PyroCMS does, and we historically have very different ways of going about things.

>> Are you happy with the way PHP-fig is moving?

I certainly am. A quick look at our board might make us look like a bunch of argumentative jerks, but things are moving forward all the time. We might not be improving the entire community this year, but every step being made has been a good step forwards. Tortoise, not the hare.

>> Your message to The PHP Community with regards to PHP-fig

The PHP-FIG is part of the PHP Community. Every voting member has joined up because they care about PHP and want to help projects work together. If you have an open-source project and want to be represented then get on the Mailing List, get involved in conversation, find yourself a sponsor (someone to say “Yep, this dev is alright”) then request membership.

More importantly, don’t let your own personal preference destroy community progress. Blogging hate about the FIG just because you prefer to use tabs over spaces is not helping anyone, and to be fair you could just switch your IDE settings…

>> If you have to change certain things with it, what would they be?

The PHP-FIG is a definite sausage-fest. Getting more female developers involved in the conversation would be useful, as after all, the PHP-FIG is meant to represent the PHP community and the PHP community isn’t 99% male.

Phil and Conferences..

>> The best conference you attended would be..

True-North PHP was a blast, with good content and a good bar. Can’t go wrong with that.

>> Can you please share the good, and may be not so good moments, of being part of all the conferences you attended

The best part of attending a bunch of conferences is meeting all the people behind the projects and Twitter handles. You name an interesting PHP project and I’ve probably had beers with the people that made it! That makes life a lot easier when I have a problem, feature request, etc.

The worst part is probably when sponsors force a badly prepared yawn-fest of a presentation down your throat. “Oh, you’re hiring developers for an incredibly boring job? I’ll quit my job immediately, your mundane presentation has me sold!” Sponsors have to remember to keep it interesting, and always send an evangelist (or someone with energy) over the MD.

>> What are the main aspects of conferences that can really help a PHP guy to get better in his progression

Speak! As soon as you spot the un-conference boards go up sign up for a slot. There is often not much competition and its relatively first-come first-serve. If you don’t get it first time, try again at the next conference. Tell people about what you are working on, what you’ve discovered and how you got over any problems. People will give you feedback to improve if it sucks, so there is no harm done. My first few talks were awful – I was a nervous wreck – but then I got some practice and now I am noticably better. It’s always scary, just do it.

Closing out with Phil (aka The Englishman in New York)

>> How do you time manage all the stuffs that you do, coupled with your personal life?

Every project I am part of has a number of amazingly talented, committed, hard-working developers either in the core team or as open-source contributors. I am lucky in that respect, and it gives me time to ride my bike and get to the pub.

>> The day you realised “You’ve made it to the A-List PHP arena” ?

I don’t think I’m A-list, I just spread my opinion, talk about stuff I like and occasionally make a fool of myself at conference hotel bars. People listen to my advice and suggestions because I’ve done things wrong enough to know how to do them right.

>> Why you are successful and why others are not?

For people to notice you, you have to shout. Blog, screen-cast, submit talks, send pull requests, get active in the community. You can be the best PHP developer in the world but if you just quietly get on with your job and go home then nobody other than your boss (who is consistently taking all the credit for your work) is ever going to know you exist.

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

[NomadPHP June 2013 Tickets] – Win (TWO) Free Tickets To Hear Phil Sturgeon Talk About Laravel 4

[NomadPHP June 2013 Tickets] – Win (TWO) Free Tickets To Hear Phil Sturgeon Talk About Laravel 4

What Is This About?

If you did not hear about NomadPHP, you should probably read about the previous (first) Ticket Give-away here and also read about the interview with Cal Evans – The NomadPHP organizer.

NomadPHP is already on their 2nd edition and a 3rd one also is looming around. For more info, see their home page here.

Win A Free Ticket
Win A Free Ticket

Who Will Be The Speaker Of NomadPHP June 2013 Session

The topic of this 2nd talk will be centered around Laravel 4 PHP Framework (which is gaining lots of momentum since it’s birth back in April 2011) and will be presented by speaker Phil Sturgeon who is:

  • the founder of PyroCMS
  • has been part of the core teams for CodeIgniter and FuelPHP PHP frameworks
  • one of the prominent voice behind PHP-Fig

To know more about Phil, read his PHP Interview!

How To Win The Free Ticket

OPTION 1 => Via Email

Basically this is for people on my email newsletter list. If you are on my list or if you plan to join (it’s free btw), you will receive an email to which you just have to shoot me a blank reply.

OPTION 2 => via Twitter

Just re-tweet the following:

ReTweet To Win FREE Tickets to attend Live Online @nomadphp talk. Speaker=> @philsturgeon Topic=> #Laravel /cc: @7php http://7php.com/nomadphp-june-2013-free-tickets/

NOTE: You can participate in BOTH of them to increase your chance of winning

Deadline

=> I will make the draw and finalize things on Sunday 23rd June – that is 1 week as from the date of this post, so act fast!

PHP Interview With Vito Chin Lead Maintainer Of Gmagick Extension For PHP – Learn More About The Ecosystem That PHP Is Usually Part Of

Purpose Of This Interview

This is the #33rd set of PHP Interview to help aspiring PHP developers and PHP fans alike to get inspired by listening from those PHP guys who are already highly involved into the PHP Ocean and being ‘there’ taming the waves and surfing better than ever to make themselves an Awesome PHP Expert both in their own eyes (for self-accomplishment) and for the PHP Community. On the other side, this is an opportunity for new PHPers to get to know their “PHP Elders. I hope you will derive as much fun to read my interviews as I’m having by interviewing those A-List PHP guys.

A Small Intro..

Vito Chin - The Lead Maintainer Of Gmagick Extension For PHP
Vito Chin – The Lead Maintainer Of Gmagick Extension For PHP

In this edition I talked with Vito Chin who is a multi-talented, cool geek; @vitoc has a first class honors degree in Software Engineering, is a co-founder of lentor.io, is the lead maintainer of the Gmagick extension for PHP and is the co-author of the PHP book “PHP Development in the Cloud by Ivo Jansch and Vito Chin” – (btw Rafael Dohms, our Brazilian PHP Ronaldo made a review of that book here). I invite you to learn from Vito’s PHP and programming experience..

And Now The Interview…

>> Please tell us a bit about yourself

  • I am Vito Chin (www.vitochin.com), one of the founders of Lentor Solutions (www.lentor.io).
  • I am a minimalist.

>> How you started with PHP

It was 2001, a friend who came back to town on summer holiday from the University of Leeds told me about this new language he’d picked up at the university. I was mostly doing Java back then, but I had decided to check out PHP for a bit and preferred it since, most of the time.

>> Your LAMP stack comprises.. ?

It depends a lot on the project. I always run “LAMP” on a VM because every project has a different sandbox-ing ecosystem. For L, I now prefer Centos with Les RPM de Remi 🙂

>> The relationship between You and The PHP Community comprises..

I maintain Gmagick – a PECL extension that wraps GraphicsMagick and write articles occasionally for PHP magazines and sites. I am also fortunate enough to had worked with many that are really active in the PHP community through various commercial projects.

>> How do you find PHP now as compared to when you first started

How PHP has evolved is evidence that open source software can be very practical and sensible. When I first started, OO within PHP was still at its infancy and was still evolving. Now OO within PHP is mature. I definitely enjoy PHP more now, with the introduction of namespaces and anonymous functions.

>> Based on your experience, what are the good and bad parts of PHP

PHP allows us to shoot from the hip, its good and bad because of that. Like most languages, PHP code can be written in all sorts of ways. Though with PHP, it does seem much easier to string together quick code that does the trick right now but may come back to bite you some time in the future when it is used as part of some other piece of code.

PHP doesn’t impose a lot of rules on you, that’s pretty good if you need to be in the flow when not implementing based on specification but rather just idea-ting from code in the first place. Though for many larger projects, we kind of need more rules around for the sake of security, re-usability and teamwork.

>> What would be the Top advice to a PHP beginner

var_dump($var);
exit;

>> To someone who wants to become a better PHP developer..?

Learn more about the ecosystem that PHP is usually part of; tools such as Puppet, supervisord, Varnish, Jenkins and memcached. Also, check out PECL more.

>> The best PHP book you’ve read

  • Ivo Jansch’s Guide to Enterprise PHP Development

This is a rather old book now, but I think it was written at a pivotal time where a lot of PHP guys in general had decided to move towards introducing more formality to their development process. I met Ivo around the time the book was published and still remember how exciting it was back then that PHP is getting a lot of love from enterprises.

>> A PHP blog or resource you highly recommend

PECL.php.net

>> The IDE that you use

Sublime Text hands down.

>> How do you debug your PHP code?

Mostly:

var_dump($var);
exit;

>> A PHP framework you use and would recommend

Zend Framework 2

>> A unit test framework you recommend using?

PHPUnit

>> One PHP library/Project you really appreciate

I really appreciate the range of functionalities that PECL projects covers.

>> One PHP person that you admire and what strikes you about him/her

There’s too many to name. I can’t choose one 🙂

>> A PHP Usergroup that you appreciate and would highly recommend

I enjoyed PHPLondon. Great location, great atmosphere. I remember it was always a dark, cold night walking from Charing Cross to this rather ancient pub to listen to great speakers sharing on PHP.

>> Which was the worst programming mistake you did?

All I can say is, if you use mysqli, after creating a statement like this:

$stmt = $mysqli->prepare($query);

It is always a good idea to check the return value of $stmt->execute(); before going any further in your code. ESPECIALLY in a high load environment 🙂

Vito Chin and Performance

>> How do you define performance as applicable to a PHP project

There are different ways to look at performance of a PHP application. Typically, look at execution time, CPU utilisation and memory consumption at least.

>> When should someone care about performance?

Good question. I had just been thinking lately that re-usability and performance may not necessarily be seeing each other eye-to-eye all the time. Reusability though had been much more emphasised and exclaimed in popular literature. Holistically, software engineers will always have to balance the factors when it comes to designing and writing software. Performance is one of these factors. For projects with a hard goal on performance, it will be nicer if everyone thinks about it early on than have it patch on later with some brutish mechanism.

>> What areas of the system usually need to be listed for performance assessment?

  1. CPU
  2. memory
  3. network bandwidth.
  4. Database connections
  5. web server MaxClients

>> When I’m coding something, how can I test the performance of my system, what is the setup that is needed?
(Any tools that you use and would recommend?)

Xdebug has a nice profiler that you can turn on via:

xdebug.profiler_enable = 1;

Once that is enabled, Xdebug churns out cachegrind output that you can visualize with KCacheGrind or xdebugtoolkit.

>> Other notable tools out there?

There are a lot of tools out there that tests performance under load such as Apache JMeter. BeesWithMachineGuns may be a good look, runs micro EC2 instances.

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

Things You Don’t Know About NomadPHP + The ‘After-First-Talk’ Of NomadPHP – Features 5 interviews with The Organizer, The Speaker & 3 Attendees

A Small Intro…

The 'After-First' NomadPHP Talk
The ‘After-First’ NomadPHP Talk

(Last) Wednesday 22nd May 2013, NomadPHP hosted their first talk which was about “Zend Framework 2” – a talk by Rob Allen. I even announced a two-ticket giveaways which was made possible by NomadPHP. In this article you’ll find short interviews which will showcase the opinion, feedback and suggestions from the NomadPHP organizer (Cal Evans), Rob Allen (The Speaker) and three attendees – two of which were the 7PHP Ticket winners.

NomadPHP – The Interview

If you did not know, the organizer behind this new virtual UG concept, aka NomadPHP, is ‘His Awesomeness’ Cal Evans. Yet again with another awesome initiative, Cal (once again) demonstrate why he is The Icon Of Thy PHP Community.

Cal Evans NomadPHP Organizer
Cal Evans NomadPHP Organizer

>> How did you come up with this initiative, what motivated you?

Honestly? I got to thinking about you one day. You live on an island, off the coast of an island, off the coast of a continent. We’ve never met but we are friends now. Not only that but from your remote location, you participate in the PHP community more than 99.99% of the developers out there.

I got to wondering how many other developers are out there that can’t or won’t get involved in a physical PHP User Group. They still need to learn. So I’ve set out to try and make the speakers that we in North America and Europe take for granted, available to every PHP developer.

>> The objectives set by NomadPHP

  1. Give every PHP developer, around the world, a chance to learn.
  2. Give new speakers a chance to get their name out there.
  3. Give User Group leaders and conference organizers a chance to see new talent first hand and decide if they are right for their meetings or conference.

>> Can you tell us what we should expect to see with Nomad PHP ahead, any planned roadmap?

I’m not ready to talk about the future right now.

Right now I just want to see if this little experiment is going to work. There are a few friends who know the big picture though. Let’s just say that this is just the tip of the iceberg. 🙂

>> The frequency of the talks?

Once a month.

>> The number of talks per session?

One.

Well, for now, one. There is a great discussion going on over on the UG-Admins mailing list about how meetings are run. I may change the format in the future to allow for a show-n-tell or a lightning talk before the main talk.

>> Any information about the pricing scheme

Pricing is simple, $10 per ticket.

1/2 of that goes directly to the speaker. The rest of it goes to pay the bills and buy a bottle of good Bourbon every month or so. 🙂 This isn’t a get-rich quick scheme. Neither I, nor the speakers are going to retire on what we make from Nomad PHP. The whole point of charging is that people take it more seriously when they have to pay, even a little. Also, I know what it takes to write a good presentation. There is a lot of time and talent that goes into these things. I think the speakers deserve a little something for their time. All that having been said, I usually give away about 1/4 of the tickets. For the inaugural event, someone tweeted after it had started and asked if it was too late. I DMed them the event info and invited them to join as my guest. Mostly the free tickets to go people who I feel are doing something for the PHP community and I want to say thank you, even in a small way.

>> Will we be able to download the videos after the session in future? (since now I see it’s online viewing only)

No, the videos will not be available for download, only streaming and only for 3 months. After that, they go away. The reason is simple, most of the speakers are shopping these talks to conferences as well. I don’t want to ruin the market for them.

>> What are the challenges that a 100% virtual PHP User Group faces as compared to one in real life?

Interaction.

A lot of people are hesitant to ask questions on-line in a group of people they don’t know face-to-face. In real life, you usually know the people in your group so you aren’t as self-conscious about asking questions in a meeting. I hope that as we start to meet regularly, we will get more comfortable with each other and overcome this.

>> How can it be better than a real life one?

You can attend where you are. Doesn’t matter if you are at home, at the beach, or sitting in an airport. I’ve actually run a virtual conference from the Nashville airport. I got there early, ran it, and then got on my plane. Also, Nomad PHP has a much larger speaker talent pool to draw from than any physical group.

Don’t take that the wrong way – Nomad PHP is not, and never will be – a replacement for a physical user group. If you have a local user group, GET INVOLVED! NOW! Nomad is for those that don’t have one, those that can’t make it to their local group, or those that want to hear a speaker that can’t normally hear.

>> I have noticed a timezone issue, for example for US people the time is evening which is good. But for people in Europe or myself in indian ocean, this is kinda hyper early morning (ranging from 1a.m to 4a.m). Will you take this into consideration?

Yes…but I’m not talking about that right now. 😉

>> Your message to The PHP Audience?

The PHP community is one of the greatest assets you have in your programming career. GET INVOLVED! Ask for help, and when you can, help someone else.

>> Criteria that any potential speaker should adhere to, to be able to get easily selected and to deliver a good talk?

You have to have an interesting topic. That’s pretty much it. It helps if you have given at least 1 talk in real life but that’s not a strict requirement. I don’t care what your gender, religion, race, or political affiliation is, I don’t care if you are a cat or a dog person. If you’ve got a good topic and you want present, send me an email, cal@nomadphp.com, I’m listening.

>> Software/technology that the online talk is using

Fuzemeeting.com I LOVE THOSE GUYS! If they would get their crap together and get a Linux client complete, they would be perfect. I can’t recommend FuzeMeeting enough. I’m not an affiliate or anything but if you need a webinar solution, check them out.

>> Any medium of exchange for Nomad-ians to regroup, discuss and talk? (forum, irc, fb/g+ groups..etc?)

Not yet, and quit trying to steal my thunder. 😉 As we get settled and in the groove, I’ll announce these things. Right now, we’ve got the mailing list, but that’s just meeting announcements and the monthly newsletter.

>> Twitter hash to be used?

#nomadphp

>> If anyone wants to help and/or contribute to Nomad PHP in one way or the other, how can he/she proceed?

Right now, I am looking for 2 things.

  1. Publicity. If you want to help make Nomad PHP a success, send an email to EVERY PHP DEVELOPER YOU KNOW and tell them about it. Then start going through your LinkedIn, your Facebook, etc. 🙂
  2. If you have an idea for a topic, speaker or you want to pitch me on presenting, email me. If you don’t hear back from me, EMAIL ME AGAIN! 🙂

>> I’ve read you are really motivated to support local groups in one way or the other. Can you tell us a bit about it and what *cookies* are available for them?

Well, right now, since we are jsut starting off, I’ve only got one. Any User Group leader that wants to attend Nomad PHP, drop me an email. Give me your name, your group’s name, and your group’s URL. I’ll give you a free Video Only ticket. (If you are a member of the UG-Admin list, you already knew this) 🙂

Since part of the idea behind Nomad PHP is to help speakers get better known, I want the people who make the decision to be able to hear them speak.

>> Any other things you want to add?

Nomad PHP is designed to be a gateway to PHP User Groups. My hope is that attendees come away excited about getting together with other programmers and go seek out their local group. Here’s a hint, if you look around and can’t find the leader of your local PHP User Group, guess what, you are it! 🙂

Rob Allen – The First Speaker Of The First NomadPHP Opening

If you follow 7PHP, you would recall that I did a PHP Interview with Rob Allen last year (2012). So he should be no stranger to you. But for those that don’t know this Pro-PHPer & Pro Zend Evangelist, you can have a glance at his 7PHP interview here! Let’s now head towards his NomadPHP interview..

Rob Allen Main Author Of The PHP Book Zend Framework in Action
Rob Allen Main Author Of The PHP Book Zend Framework in Action

>> Hi Rob, could you tell us a bit about yourself

I’m a software developer and consultant with many years experience in web development with PHP. I recently started my own business, Nineteen Feet, where I help companies by developing web applications and providing training for their developers. In recent years, I have been using Zend Framework extensively and am active in the community contributing code, QA and documentation to the Zend Framework project. I can be found online at akrabat.com and on Twitter as @akrabat.

>> How has your talking experience with NomadPHP been?

I enjoy presenting and providing training on Zend Framework 2 and this time was no different. I find it a little harder to present virtually as you can’t see the audience and gauge the reaction to what you’re saying. However, judging by the feedback, the talk went well which was nice.

>> As a speaker, how was the response of your listeners. Were they active, engaging?

When I’m presenting, I minimise all other windows as its too distracting. I can’t read an IRC chat channel and also present and so concentrate on the providing the best presentation I can. The channel was lively when I got back to it after the talk.

>> Your message to the listeners?

I hope the listeners feel that they now have a good top-level view of how Zend Framework 2’s MVC system works!

>> The best question you were asked

Adear asked about how to do authentication in ZF2. I recommended using a module from http://modules.zendframework.com such as ZfcUser.

>> Areas / things that you think NomadPHP can improve upon?

Cal is very good at virtual conferences with Day Camp for Developers which is excellent. NomadPHP is a smaller version and the first meeting went smoothly.

  1. I would like to see a community build up on the irc channel (#nomadphp on Freenode)
  2. it would be nice if the meetings could happen at more EU or AUS-friendly times.

>> Your opinion about NomadPHP in general?

I like the idea. Not everyone has a PHP user group close to them and being able to interact with fellow developers and listen to a monthly talk on a relevant subject is very helpful.

>> Any links to your slides or recording?

As I understand it, the recording is only available to people who buy tickets. However, the slides are available at http://akrabat.com/wp-content/uploads/20130522-nomadphp-zf2-intro.pdf.

>> Closing up message

Keep an eye on www.nomadphp.com and if a talk interests you, make sure that you attend! Next month, Phil Sturgeon is talking about the Laravel 4 framework which promises to be very interesting indeed.

The TWO Ticket Winners Of May 2013 Was..

If you follow-ed me on Twitter or facebook, you already knew the winners of 7PHP’s [NomadPHP May 2013 Tickets] – Win (TWO) Free Tickets. For those who haven’t, the winner for [OPTION 1] was the lucky David Weinraub (@papayasoft).
Unfortunately there was no participation for [OPTION 2]. In that case, I opted out to reward a 7PHP fan/follower, I named Peter Kokot. @peter_kokot has been following me on 7PHP since nearly it’s birth, I’m really humbled and touched, and no doubt I opted him as the Winner in replacement for [OPTION 2]. I also did a small interview with them to get some feedback on their NomadPHP experience as an attendee and ticket winner..

Note that these two guys’ experience are different in the sense that one attended offline (David), while the other attended LIVE (Peter). So it’s kinda interesting to know how these two scenarios were like and I’m sure Cal Evans would find them useful in his future NomadPHP talks.

By offline, I mean that the talk is viewed by streaming the recorded talk. Yes, if you bought a ticket and you were not able to attend it, nomadPHP will send you the recorded version. And another difference is that you cannot interact with the attendees and you cannot ask questions to the speaker.

Welcoming David Weinraub + His Feedback On NomadPHP’s Talk As an Offline Listener

David Weinraub First Ticket Winner
David Weinraub First Ticket Winner

For those wondering where this pic was taken, David says it was at Khao Sok National Park in Surat Thani, Thailand.

>> Hey David! Please present yourself to 7PHP’s audience..

I’m a PHP developer living in Phuket, Thailand for approx 11 years. I’ve got a wife and two great, exhausting, wonderful kids. My first “web” development project was actually back in 1997 using Microsoft ASP on the server and VoiceXML on the front-end, nearly none of which I actually remember anymore. It was only later that I moved to PHP development and real HTML-based web-apps.

I’ve largely functioned as an independent one-man-show until about a year ago when I hooked up with Diamond Web Services based out of Los Angeles and run by Joe Devon (@joedevon) and Robert Cuadra (@robertcuadra). They’re both wonderful guys, smart as all get out, and have built a great team of devs doing interesting work on significant projects. I’m crazy grateful to be working with such an excellent team.

>> How has your listening experience with NomadPHP video recording been + did you have any software issue to listen to the recording ?

Well, first I need to thank 7PHP and NomadPHP for organizing the contest. It was a great surprise to win the draw and a pleasure to be able to attend the talk.

I had initially planned to join Rob’s talk live, but the timezone difference put it right in the middle of early-morning-get-the-kids-to-school time. So, I ended up watching the recorded version.

The FuzeMeeting system worked flawlessly. A simple Flash viewer that just worked. Audio came through clearly. Slides visible right in sync with audio. This is in marked contrast to other meeting sites/apps I have used as an attendee that either required a custom Windows or a Mac client that I could only get to work by connecting via a virtual machine.

>> As a listener, how was the response of the speaker.

I had heard Rob speak several times before, both online and in person at ZendCon, and this presentation featured the same calm, clear, intelligent exposition that is consistent with all my previous experience with him.

>> Would it have been different if you were to listen live?

I don’t think it would be much different for me had it been live. In general, I incline more towards being a quiet observer than an active participant in these kind of settings. In those occasional instances where I know what the speaker is trying to convey, but he’s stumbling a bit and expressing it in a potentially suboptimal way, I might jump in with a question largely intended to clarify for the group. But I have a hard time imagining a circumstance where Rob would need rescuing like that, let alone from me. 😉

>> One thing you learned and would like to share + Things that have caught your attention?

The first thing is that it seemed well targeted at app-developers. In the same way that most of us know how to drive a car, but have only a general sense of thr specifics going on inside – and almost certainly could not build one ourselves – I suspect that the vast majority of us are app-developers rather than framework-developers. We want to use/consume the framework to build apps. While it’s always helpful to know what’s going on under the hood, and the ultimate goal is total and complete understanding of everything, I think an introductory talk like this is well-served by keeping focus on the outer layers and only sparingly alluding to the internals.

Towards that end, the talk kind of felt like a story: how a typical ZF2 application handles a request, from config/bootstrap, to routing, to dispatch/controller, to view rendering. And at every stage, Rob noted how the operation is affected by configuration of the core ZF2 components: the event manager and the various service managers.

It was kind of like “ZF2: A Request Processing Oddyssey. My God. It’s full of service-managers.

>> Your opinion about NomadPHP in general?

NomadPHP – a virtual PHP user-group for those without a local IRL PHP user-group – is a great idea and Cal deserves a lot of credit for bringing it to life.

It appeals, in particular, to someone like me who has largely functioned as an independent developer in a geographically low-developer-density environment.

The Web is certainly full of resources that allow us all to learn and to experiment with new ideas and technologies, but it’s so much more satisfying and productive to have peers and colleagues with whom you can share questions and ideas.

Thailand actually has lots of professional software development, but the bulk of it tends to be in the commercial center of Bangkok and to a lesser, but still significant, extent in the academically-seeded area up north around Chiang Mai University. And while Phuket has no shortage of development shops that do the majority of their server-side work in PHP, we haven’t really coalesced as a group.

One of these days, I will actually carve out the time and use the phuketphp.com domain that I reserved to set up a PHP user group here. But until then, NomadPHP will serve as my home PHP user group.

>> Areas / things that you think NomadPHP can improve upon?

Not a thing. Got my CalEvans/Akrabat/ZF2 fanboi hats on at the moment. 😉

>> Anything you want to say or add..

I guess the only thing I would add is that all the senior PHP guys are right: community – however you experience it – makes a big difference. So, whether it’s following prominent PHP community leaders on Twitter, reading/commenting on blog posts, answering questions on StackOverflow, or contributing to open source projects (by submitting bug reports, assisting with documentation, or even writing code), getting out there and sharing your expertise (and your ignorance!) helps you to learn more and makes the whole development endeavor more satisfying. At least that’s my experience.

Welcoming Peter Kokot + His Feedback On NomadPHP’s Talk As a LIVE Attendee

Peter Kokot - Dojo Toolkit JavaScript library contributor
Peter Kokot – Dojo Toolkit JavaScript library contributor

> Hello Peter, Please present yourself to 7PHP’s audience..

I’m Peter, web developer from Slovenia. I’ve been using PHP for over 10 years and can say I have many experiences with PHP and web development. Most of the time I’m using Symfony framework. In the spare time I contribute to many open source projects on GitHub as well. I’m also Dojo Toolkit JavaScript library contributor.

>> How has your listening experience with NomadPHP been?

It sure was a very profound experience. Good audio quality, lots of useful information regarding Zend Framework for beginners and experts …

>> Did you have any software issue to setup yourself to watch the talk?

NomadPHP requires 3rd party tool called Fuzebox. It worked OK because it has two options to attend the presentation: web based solution and desktop application. So it is useful for all operating systems which is great. I haven’t any issues setting it up.

>> As a listener, how was the response of the speaker?

Speaker was also available on IRC channel #nomadphp before and after the talk. This was a good addition for questions, answers and getting to know each other.

>> Your good and may be not so good moment(s)?

I haven’t get the chance to setup my development environment during the talk and try Zend Framework together with the speaker. Luckily there is also a recording of the entire presentation available later on and I was able to go through some of the mentioned approaches of Zend Framework.

>> Your opinion about NomadPHP in general?

I’m sort of new to online presentations and haven’t seen much of this presentations online besides some webinars and videos after conferences. It is very useful to have such an alternative for a good price. If you don’t have possibility to visit PHP conferences in your area this will be very usefull to get to know some of the great PHP tools available today with some different approach as well. It is useful and inspires you a lot for everyday PHP development as well. Only catch is the time difference for these presentations. It was 2:30 AM in the morning …

Welcoming PJ Hagerty + His Feedback On NomadPHP’s Talk As a LIVE Attendee

PJ Hagerty - Team Lead At Engine Yard
PJ Hagerty – Team Lead At Engine Yard

>> Hi Hagerty, could tell us a bit about yourself

My name is PJ Hagerty (@aspleenic) and I work for Engine Yard as a Team Lead on their world class Application Support Team! Additionally, I am a Ruby developer and community activist interested in how meet ups can better function and how we can open more people to the things going on in tech.

>> How has your listening experience with NomadPHP been?

I thoroughly enjoyed the NomadPHP experience. The content was great ad the delivery was a good way to get the message out and teach the Zend Framework without distractions

>> Did you have any software issue to setup yourself to watch the talk?

I had no issues.

>> As a listener, how was the response of the speaker.

I felt he was responsive, though much of the talk was ons sided, not a a lot of Q&A.

>> One thing you learned and would like to share?

The Zend Framework MVC reminds me a lot of Ruby and Rails. It makes the idea of using PHP more approachable.

>> Things that have caught your attention?

Overall, I loved the idea of NomadPHP and look forward to it expanding.

>> Your good and may be not so good moment(s)?

There was a little bit at the end where the audio got fuzzy, but other than that, the whole thing was great.

>> Areas / things that you think NomadPHP can improve upon?

Not much, just get more exposure so more people can take advantage.

>> Your opinion about NomadPHP in general?

Loved it! Can’t wait for the next one.

>> Anything you want to say or add, you are welcomed to add it here

I look forward to the expansion of nomadPHP and hope it becomes a way for people world wide to contribute to tech groups and become part of the global conversation.

Closing Out..

I hope you enjoyed reading this article. NomadPHP is driving forward with a nice concept and this is just the beginning. But as with anything, NomadPHP is nothing without attendees and supporters. My message to YOU is, try to support NomadPHP by any of the following:

  1. Talk about it with your friends
  2. Share each talk on your network (facebook, google+, Linkedin..etc)
  3. Propose to give a talk
  4. If you have a local user group, ask your members to all unite and have a mutual watch and be active
  5. Blog about NomadPHP
  6. If you are a company, try to sponsor NomadPHP
  7. If you have other ideas, just email Cal and discuss about it
  8. Lastly, spread this article since I believe it contains useful info about NomadPHP

I remind you that NomadPHP is a virtual PHP User Group mainly for people who do not have the chance to avail of a local PHP user group. If you do not have a local user group, join the Nomad elePHPants! If you already have one, you can still join to make it more awesome!

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

How To Start A PHP User Group – Hear It From Craig Willis Founder Of The LeedsPHP Usergroup – “The Meetup Must Have A Theme”

Purpose Of This ‘How-To PHP User Group’ Concept

How-To PHP User Group
How-To PHP User Group

This is the #1st set of How To Start A PHP user group in an attempt to help PHP guys all around the world to spring out a local PHP user group if they do not have one nearby. So before you embark on this journey, you need to know what you have to expect, how to prepare yourself, the pitfalls, the to-do lists, the workload behind, the commitment behind and above all the gratification this can bring to your PHP life.
In these respects, 7PHP invites YOU, elePHPants, to come flock together to learn, share and make our PHP User Groups better and to promote PHP to the best of our abilities and passion! Let’s do this!

PS: Are YOU the founder or organiser of a php user group? Do you want to share your experience and knowledge about User Groups with us? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “How-To PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

How-To PHP User Group From The Experience Of Craig Willis

>> Could you tell us a bit about yourself + the user groups you created

I’m Craig Willis, the founder/organiser of LeedsPHP

The Leeds PHP User Group (LeedsPHP)The Leeds PHP User Group (LeedsPHP)
The Leeds PHP User Group (LeedsPHP)

>> What is a user group

Our user group is aimed at PHP Development.

>> What is the aim of a user group?

In my opinion a User Group is a place where people who share a similar interest can get together to share knowledge.

>> What are the things that we need to keep in mind before thinking of creating a user group

One thing I took into account was, is there a need and is there something similar that already exists? I had seen many businesses in the area that had adopted PHP and was willing to set up a group to target developers in the area.

>> What are the challenges that arise when creating a user group

There are several:

  1. Making enough interest is one of them.
  2. Finding people who would attend regularly to make the user group worthwhile.
  3. Sourcing speakers or content is another.
  4. You need to keep people interested in your user group.
  5. Deciding early on what you expect from the user group is also a challenge.

There are other things such as venue (etc) that are more superficial, but having a clear understanding of the aims of the group is important

>> How to create a user group (what kind of process should be adopted) – can you share with us your way of doing it

We started with a Twitter account. I followed a few people in the area and gradually had a base of about 30 people. We then organized a small ‘LeedsPHP Intro‘. This was were people who would potentially attend have their thoughts and ideas raised. From there, we had a rough idea of what people wanted from the group. We then set up a website and had our first talk a month later. I think keeping it all simple is quite important. You don’t want to rush into something.

>> Your tips & tricks of doing it right

  • Having regular contact with your attendees is a good approach. Either by a news feed, Google Groups, Twitter or a mailing list.
  • Find a venue that can adequately fit your needs, whether be an office, pub etc. People need somewhere they can sit down listen and discuss.
  • Finding the right content for your user group. If you are meeting regularly, then have content that people can listen to and maybe go home/work and use

>> What is expected out of the Founder of a group

As we have no hierarchy in terms of founder, organizer..etc, there are a lot expectations, such as having a talk, a venue and making sure that everything goes well.

>> Things that a founder MUST do

  • Keeping everything ship-shape is key.
  • Making sure you know who and
  • when your next event is,
  • promoting the event as much as possible is also key.

>> Things that a founder should AVOID doing

For us, making money wasn’t our main focus. So I think staying away from making money is important. That’s not and will never be our focus. Also try to avoid sponsors that are mainly focused on their own business/service. Another one is try not to change the format of the group too often. This can lead to confusion.

>> Now, the ‘after-creating’ the user group, how should a leader keep the group active

Make sure sure that you have some sort of schedule. Keeping the website, twitter etc regularly updated. There’s nothing worse than your members not knowing what’s going on. Have an actual meet-up is also important. You don’t want the group to go stale by not having your attendees a reason to be active in the group.

>> Your Top 3 tips to Sustain a user-group

  1. Communication – between all parties (attendees, venue, speaker etc)
  2. Have a meet-up regularly
  3. The meet-up must have a theme or have content that the attendees can take away

>> How do you plan meet-ups?

As we have a regular time and place for our meet-ups, that aspect is pretty much a certainty. The only other planning is to source the speaker and book the venue. We usually ask from within the group if anyone has a talk they’d like to present the following month, or we usually ask outside of the group (a couple of months prior) if anyone would like to come and do a talk

>> How to encourage members to participate and attend meet-ups?

This is quite hard to do. Within the group, we have about 20 who come down each month. From that, we also have 4-5 who regularly contribute with talks. So we are quite lucky in that aspect. We try to keep people interested by the content of the talks and more recently, with offers such as software licenses and books. We’ve also had members contribute in terms of website and hosting.

>> How to find (good) speakers

Again, this is quite difficult. As we’ve had several members help out with talks, finding people from outside can be a challenge. We’re quite close in terms of location to other user groups, so at times we’ve asked if anyone would be willing to help us out and vice-versa.

>> Criteria to select a speaker

As our main aim is promote PHP as a whole, we don’t turn down speakers. We’ve had some speakers who have never done so before and it is both beneficial to them to gain experience and also the community as a whole for them to share their knowledge and experience. We try to look at things that are relatively popular, such as Web Services, TTD or things that we feel could be used within PHP Development, such as Mobile Applications.

>> How to find sponsors and why kind/type of sponsors do we need to look for? What is involved

We initially had no sponsors, for quite some time. We had been approached by some, but felt that they weren’t right in what they offered us. For us, the financial aspect wasn’t that important. We wanted to find a sponsor that was actively interested in the group and not themselves looking to promote their own services. Every group is different and every group may have different reasons for sponsorship. you have to find a balance that doesn’t affect the user group as a whole in a negative way.

>> A mistake that you made and would like to share with us?

One mistake, has probably been handling a lot of the responsibility single-handedly. For a long time, everything was managed by myself, which was quite time consuming. Handling some of that to others has helped quite a lot.

>> Any other aspects that I missed and you think is important to be aware of?

Not that I can think of.

>> A final word before closing..

User groups are a great way of meeting new people. They are a fantastic way of giving back to a community that you love. It’s like a child, you watch it grow and are proud of it’s achievements. I’m proud to be in a position where I can help others.

If You Appreciate What I Do Here On Seven PHP :: 7PHP, You Could Consider:

  1. LIKE-ing 7PHP dot COM on FaceBook
  2. Help diffuse this interview to the PHP ecosystem – Share, tweet and spread the word to your audience ==> That would be a FREE way to thank me
  3. Make a comment below using the comment form

{I’m thankful to your response(s)!}

Know Thy PHP User Group Know The Leeds PHP User Group (LeedsPHP) – “Choose A Sponsor That Is Actually Interested In Promoting PHP In The Community”

Purpose Of This ‘PHP User Group Interview’ Concept

This is the #1st set of ‘Know Thy PHP Usergroup‘ in an attempt to create more awareness of:

  • what is $this PHP UG about + get to know the leaders/Founders/Community behind it
  • what is a PHP User Group in general
  • to personally know all the PHP user goups Around The World – that excites me and I hope you too!

This concept is also a good opportunity for new #elePHPants to know about PHP UGs.

PS: Are YOU the founder or organiser of a php user group? Get in touch with me for a similar interview, make a comment below with your email and I’ll get back to you!

Join This Concept And Initiative On Facebook & Google+

This 7PHP “Know Thy PHP usergroup” Series also has a group on FB and G+, do join us there!

  1. The PHP UG on FaceBook Group
  2. The PHP UG on Google+ Community

Welcome To The Leeds PHP User Group (LeedsPHP)

The Leeds PHP User Group (LeedsPHP)The Leeds PHP User Group (LeedsPHP)
The Leeds PHP User Group (LeedsPHP)

>> Could you, the leader(s), tell us a bit about yourself

Hi. I’m Craig Willis. I’m a PHP Web Developer base