Stefan KoopmanschapOn submitting to CFPs (24.6.2016, 09:55 UTC)

One of the first things you do if you want to speak is that you submit to a CFP (Call for Papers) of a conference. Most conferences use this system to get a nice selection of talks out of which to compile the schedule for a conference. The idea is that speakers tell the conference what they want to speak about and the conference can make the selection of speakers and topics for their conference.

Having been a conference organizer as well as a speaker, I've seen both sides of the CFP process. Because of that, I've made some decisions as a speaker on how I handle CFPs. Since I've discussed this with several people in the past year but it keeps coming up, I've decided to document one of my decisions here.


Today I tweeted:

#firstworldproblems #speakerproblems call for papers closing before other conferences in same period have announced their speakers

To give this some context: I was looking at the currently open CFPs (thanks to the awesome CFP Report newsletter) and noticed that the CFP for PHP[world] is closing today. Now, I submitted some talks to ZendCon, which is in the same period, and I can't really handle two North-American conferences in such a short time period so I need to make a choice. However, ZendCon has not sent out acceptance/rejection e-mails, so I don't know if I get accepted there yet.

Andreas Heigl responded with:

@skoop apply and then see what happens. First one calling wins ;)

This is actually what I used to do, and I know other people do this as well. And from the speaker perspective, this makes sense. Having been on the other side, however, I've decided not to do this anymore. Let me explain...

The CFP process

Most conferences get hundreds of proposals, where they have between 5 and 25 slots to fill, depending on how big the conference is. You may already notice the problem: You'll have to make a very small selection out of a big pile of proposals.

My experience with a CFP is that it is usually pretty easy to discard the first 10% of the proposals. They are one or more of the following:

  • Unclear
  • Not appropriate for the theme of the conference
  • A single talk for an international speaker (too expensive for most conferences)
  • Just plain bad

I must admit that the last reason is actually becoming more rare. Speakers are putting much more effort into their proposals and talks than they used to, but it sometimes still happens.

The biggest problem with this is: After removing 10% off the big pile, you still have a pretty big pile of appropriate, high-quality talks left. You'll have another 70-80% of the talks to reject.

The process of going through all these talks is hard. It usually involves a lot of reading, research, trying to find a balance in the offered subjects, deciding on how many international speakers you can afford to fly in and trying to find the right talks to accept for those international speakers (international speakers usually need at least two talks to be accepted to make it financially viable to invite them).

I've been involved in the CFP team for a lot of conferences. This whole process is usually a team effort of between 2 and 20 people. Imagine the amount of time that goes into creating a balanced schedule out of the CFP. Hours and hours of work.

Now, imagine what happens when you finally send out the acceptance e-mails, and one or maybe even two or three speakers respond with "sorry, I can't make it".

That response means (part of) the above process begins again. I know it happens, but it is not a nice experience as a conference organizer. So...

My personal rule

As a result of the above, I've set a personal rule only to submit to the CFP of a conference when I know for sure I can make it (emergencies and such are the exception to that rule of course). It seems only fair to conference organizers that I can make this guarantee when I submit to their conference.

Now what?

I'm not saying all speakers should adhere to this rule, but I hope this blogpost will give a better perspective to new and existing speakers about "The Other Side" of the CFP.

Voices of the ElePHPantInterview with Chris Russell (24.6.2016, 09:00 UTC) Link
Nomad PHPCommonMark: Markdown Done Right (24.6.2016, 04:01 UTC)

September 2016 - US
Presented By

Colin O'Dell
September 22, 2016
20:00 CDT

The post CommonMark: Markdown Done Right appeared first on Nomad PHP.

Nomad PHPA Deepdive Into The .git Directory (24.6.2016, 04:01 UTC)

September - EU
Presented By

Joshua Thijssen
September 22, 2016
20:00 CEST

The post A Deepdive Into The .git Directory appeared first on Nomad PHP.

Ilia AlshanetskyPHP-Excel v1.0.2 Released (23.6.2016, 15:14 UTC)
The v1.0.2 of PHP-excel extension is finally out, this release includes few extra functions & fixes and introduces PHP7 support. So now you can use excel extension with latest & greatest PHP version.

The PHP5 sources can be downloaded here:
The PHP7 sources can be downloaded here:

the Github repo is available at:

Full ChangeLog is Below:

* Fixed bug in ExcelSheet::addPictureDim() (see issue #120)
* Fixed bug in ExcelSheet::isLicensed() (see issue #122)
* Added new methods (requires LibXL 3.6.2)
- ExcelBook::setAutoFitArea()
- ExcelBook::printArea()
- ExcelBook::printRepeatCols()
- ExcelBook::printRepeatRows()
* Added support for LibXL 3.6.3
* ExcelSheet::addPictureDim() & ExcelSheet::addPictureScaled() now support position parameters
* Includes official PHP7 release
* Added support for libxl compiled from source
PHP ClassesPHP and JavaScript Innovation Award Report June 2016 Edition - March 2016 nominees (23.6.2016, 06:33 UTC)
By Manuel Lemos
This is the June edition of the Innovation Award podcast hangout recorded by Manuel Lemos and Arturs Sosins to comment on the outstanding features of all the past month nominees and winners PHP and JavaScript packages, the prizes that the authors earned, starting with the nominees from the month of March 2016.

Listen to the podcast, or watch the hangout video to learn why the nominated packages were considered to be innovative, as well the current rankings of the Innovation Award Championship by author and by country.
PHP: Hypertext PreprocessorPHP 5.5.37 is released (23.6.2016, 00:00 UTC)
The PHP development team announces the immediate availability of PHP 5.5.37. This is a security release, several security bugs were fixed. All PHP 5.5 users are encouraged to upgrade to this version. For source downloads of PHP 5.5.37 please visit our downloads page, Windows source and binaries can be found on The list of changes is recorded in the ChangeLog.
PHP: Hypertext PreprocessorPHP 5.6.23 is released (23.6.2016, 00:00 UTC)
The PHP development team announces the immediate availability of PHP 5.6.23. Several bugs were fixed in this release, including security-related ones. All PHP 5.6 users are encouraged to upgrade to this version. For source downloads of PHP 5.6.23 please visit our downloads page, Windows source and binaries can be found on The list of changes is recorded in the ChangeLog.
SitePoint PHPUsing Halite for Privacy and Two-Way Encryption of Emails (22.6.2016, 16:04 UTC)

Cryptography is a complex matter. In fact, there is one golden rule:

* Don't implement cryptography yourself *

Picture of keys hanging on strings

The reason for this is that so many things can go wrong while implementing it, the slightest error can generate a vulnerability and if you look away, your precious data can be read by someone else. Whilst this is not an exhaustive list, there are several important guidelines to follow when using cryptography:

  • Don't use the same key to encrypt everything
  • Don't use a generated key directly to encrypt
  • When generating values that you don't want to be guessable, use a cryptographically secure pseudo random number generator (CSPRNG)
  • Encrypt, then MAC (or the Cryptographic Doom Principle)
  • Kerckhoffs's principle: A crypto system should be secure even if everything about the system, except the key, is public knowledge

Some of the cryptographic terms used in this article can be defined as follow:

  • Key: a piece of information that determines the functional output of a cryptographic algorithm.
  • CSPRNG: also known as a deterministic random bit generator, is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers (or bytes). To be cryptographically secure, a PRNG must:
    • Pass statistical randomness tests
    • Hold up well under serious attack, even when part of their initial or running state becomes available to an attacker.
  • MAC: is a short piece of information used to confirm that the message came from the stated sender (its authenticity) and has not been changed in transit (its integrity). It accepts as input a secret key and an arbitrary-length message to be authenticated, and outputs a MAC.

To further read about cryptography and have a better understanding, you can take a look at the following pages:

Some libraries out there implement cryptography primitives and operations, and leave a lot of decisions to the developer. Examples of those are php's own crypto library, or Defuse's php-encryption. Some PHP frameworks implement their own crypto like Zend Framework's zend-crypt or Laravel.

Nevertheless, there is one library that stands out from the rest for its simplicity and takes a lot of responsibility from the developer on the best practices, in addition to using the libsodium library. In this article we are going to explore Halite.


Continue reading %Using Halite for Privacy and Two-Way Encryption of Emails%

PHP ClassesNotable PHP package: Zephir HandlerSocket Client (22.6.2016, 05:37 UTC)
By Manuel Lemos
Zephir is a statically typed language derived from PHP that can be compiled into native PHP extensions which can run along with PHP code based on the Zend Engine.

This HandlerSocket Client package is the first Zephir based package to be published in the PHP Classes site.

This package is able to connect to a MySQL database server and treat INNODB tables as NoSQL databases, thus allowing PHP developers to take advantage of both worlds in the same application: the world of transactional databases with regular SQL and the world of NoSQL databases.

Read this article to learn more details about how this notable PHP package works.
LinksRSS 0.92   RDF 1.
Atom Feed   100% Popoon
PHP5 powered   PEAR
ButtonsPlanet PHP   Planet PHP
Planet PHP