PHP Classes

PHP and JavaScript Innovation Award Report July 2015 Edition - April 2015 nominees

Recommend this page to a friend!
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog PHP and JavaScript In...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (0)  

Author:

Viewers: 16

Last month viewers: 4

Categories: PHP Innovation Award, Lately in PHP Podcast

This is the July 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 April 2015.

Listen to the podcast, or watch the hangout video, or read the transcript to learn why the nominated packages were considered to be innovative.




Loaded Article

Introduction

This is the latest podcast hangout episode on the PHP Innovation Award  and the JavaScript Innovation Award about the nominees of April 2015. We comment only on past nominees to avoid influencing the voting results. This way we are only talking of packages published already in April. The nominees of April were voted on May. In June the results were announced.

You may listen to the audio recording, or watch the hangout video, or read the transcript below.

JavaScript Innovation Award Nominees of April 2015 (00:20)

RankClassAuthorScorePointsPrize
1JavaScript HTML Table Excel Export
Export HTML table data to Excel format
Gianluca ZanferrariThe Netherlands37.50%7
2WDE
Web based editor for several programming languages
Andras TothHungary25.00%6One year server license IP to country, region, city, latitude, longitude, ZIP code, time zone, area code database
2JS Sortable Table
Make HTML tables sortable with clickable headers
Jackson KnowltonUnited States25.00%6One downloadable e-book of choice by O'Reilly
4Array Generator
Initialize arrays using several methods
Stephen ChapmanAustralia12.50%4
5JavaScript Analog Clock jQuery Widget
Use CSS rotate the pointers of an analog clock
Suresh KumarIndia<1.00%3
5JS Dots and Blocks Game
Render and manage a 2 player dots and blocks game
Dan ThanhFrance<1.00%3
5GPS2Country
Determine the country at a longitude and latitude
Dusan BoskicSerbia<1.00%3

JavaScript Innovation Award Rankings of 2015 (07:19)

Award Winners by Author of 2015

RankAuthorPackagesPoints
1Andras TothHungary415
2Suresh KumarIndia310
3Gianluca ZanferrariThe Netherlands17
3Dusan BoskicSerbia27
5Jackson KnowltonUnited States16
6Danish SattiPakistan14
6Mostafa Abd-El-HamidEgypt14
6Diego La MonicaItaly14
6Stephen ChapmanAustralia14
10Arturs SosinsLatvia13

Award Winners by Country of 2015

RankCountryPackagesPoints
1HungaryHungary415
2IndiaIndia310
3SerbiaSerbia27
3The NetherlandsThe Netherlands17
3United StatesUnited States27
6ItalyItaly14
6AustraliaAustralia14
6EgyptEgypt14
6PakistanPakistan14
10IndonesiaIndonesia13

PHP Innovation Award Nominees of April 2015 (09:13)

RankClassAuthorScorePointsPrize
1Horus Plus
Process asynchronous I/O in pure PHP like Node.js
Mohammed Al AshaalEgypt25.00%16One downloadable e-book of choice by O'Reilly
2PHP Deprecated Function Checker
Find deprecated functions and suggest replacements
Dave SmithUnited States15.91%15One downloadable copy of PhpED Professional
3ExTemplate
Extensible template engine with callable functions
Matthew KnowltonUnited States13.64%14One book of choice by Packt
4PHP Sentence Parser
Parses and analyzes words in sentences
Samuel AdeshinaNigeria11.36%13One copy of the Zend Studio
5PHP Backup to WebDav Server
Backup files and a database to a WebDav server
Dmitry MamontovRussian Federation6.82%12One copy of VS.PHP
6WordPress SEO less something
Remove comments introduced by Wordpress SEO plugin
Alessio FelicioniItaly4.55%11PhpStorm IDE personal permanent license
6Maratus PHP Backup Databases
Backup many types of database to multiple storages
Jasenko RakovicBosnia and Herzegovina4.55%11One year server license IP to country, region, city, latitude, longitude, ZIP code, time zone, area code database
6Log4PHP ElasticSearch Appender
Append log messages to ElasticSearch using Log4PHP
Muhammad ArfeenPakistan4.55%11One downloadable copy of Komodo IDE
6Quick PHP MySQL Parser
Parse MySQL queries into tokens
Abius XIran4.55%11SourceGuarding PHP encoder tool
6PHP Azure Active Directory
Manage users and groups of Windows Azure
Mostafa Abd-El-HamidEgypt4.55%11One subscription to the PDF edition of the PHP Architect magazine
11PHP Inline Class
Combine several classes into a single PHP file
Alex LushpaiRussian Federation2.27%6
11Joomla Component Creator
Generate the files for a Joomla component
Max StemplevskiBelarus2.27%6
13frdl Autoloader
Autoload classes with PSR-0, PSR-4, mapping, etc.
Till WehowskiGermany<1.00%4
13PHP Singleton Trait
Implement the Singleton pattern as a trait
Kiril SavchevBulgaria<1.00%4
13PHP PRONOM drip
Recognize file formats using PRONOM registry
Cyril VazquezFrance<1.00%4
13CodeIgniter Develbar
CodeIgniter library to show a developer toolbar
SimoMorocco<1.00%4

PHP Innovation Award Rankings of 2015 (22:37)

Award Winners by Author of 2015

RankAuthorPackagesPoints
1Dave SmithUnited States330
2Matthew KnowltonUnited States227
3Ghali AhmedTunisia326
4Dmitry MamontovRussian Federation223
5Alessio FelicioniItaly222
5Till WehowskiGermany322
5Dan ThanhFrance222
8Mohammed Al AshaalEgypt116
8André LiechtiSwitzerland216
10wapmorganRussian Federation214

Award Winners by Country of 2015

RankCountryPackagesPoints
1Russian FederationRussian Federation870
2United StatesUnited States662
3GermanyGermany634
4EgyptEgypt328
5TunisiaTunisia326
5FranceFrance326
7ItalyItaly222
8NigeriaNigeria220
9PakistanPakistan219
10SwitzerlandSwitzerland216

Contents

Listen or download the podcast, RSS feed and subscribe in iTunes

Watch the podcast video, subscribe to the podcast YouTube channel

Click on the Play button to listen now.


Download Size: 24MB Listeners: 1007

Introduction music Harbour used with explicit permission from the author Danilo Ercole, from Curitiba, Brazil

View Podcast in iTunes

RSS 2.0 feed compliant with iTunes.

In iTunes, use the Subscribe to Podcast... item of the Advanced menu, and then enter the URL above to subscribe to this podcast.

Watch the podcast video

Note that the timestamps below in the transcript may not match the same positions in the video because they were based on the audio timestamps and the audio was compacted to truncate silence periods.

See the Lately in PHP podcast play list on YouTube and Subscribe to this channel there.

Read the podcast transcript

JavaScript Innovation Award Nominees of April 2015 (00:20)

[Music]

Manuel Lemos: Well, those were lots of books and lots of articles, but we finally reached one of the last sections on which we comment about the Innovation Award.

Let's start with the Innovation Award of JS Classes. We start with the nominees of April. They were voted in May, and in June, the results came out. We have in April seven nominees, many packages at least for the average of the JS Classes site, which is great but will give us lot more work to comment about them.

Let me share here just to give you an idea. Ok, here they are.

OK, of these seven, which ones would you like to comment, Arturs?

Arturs Sosins: Let me share the screen, and probably to zoom in also, right?

So first one I wanted to comment is an interesting package by Andras Toth, which is called WDE: Web based editor for several programming languages.

I was actually looking for something that I could write code online in, and it seems to be using some existing tool in extending it and implementing different features and even some testing using PHP integrations.

I wanted to try to see a demo but it seems their demo account was changed, and I can't log in. So it says state your name or password, but still, I wanted to mention it.

Andras got one year server license IP 2 location for this package.

The second one I wanted to mention is Gianluca Zanferrari's package JavaScript HTML Table Excel Export. So what it does, it does an interesting thing that it takes a current HTML Table in the HTML Code and formats it in a way that it could be exported and used in Excel.

In case of Internet Explorer, it also uses ActiveX control to even launch the Excel program. So if you want to allow users to edit HTML tables in Excel, that's the way to go.

Manuel Lemos: Yeah, actually, if you're not in Internet Explorer, it still will open a file and make it open Excel, if you're on Windows or whatever is compliant in your platform.

Arturs Sosins: The last one I wanted to mention is Jackson Knowlton from the United States. He developed JS Sortable Table. Well, I think he's actually one of the rare developers who actually put a demo on it. As you see, it's a simple sortable table that could be applied to any table in your HTML and provide it certain function.

I think that's basically it. Oh, and yeah, he got one downloadable e-book of choice by O'Reilly for this package.

Manuel Lemos: OK, on my behalf, I also would like to talk about a few packages. Let me share the screen here. The first package that I wanted to comment is one that is interesting. Fortunately, I also have a demo, which basically is an analog clock. Well, the demo was supposed to appear here, but it doesn't. Maybe the author removed it.

Well, anyway, let's see if I can open the screen. Oh, it opens, but not when...

Arturs Sosins: Not like in iframe?

Manuel Lemos: Inline, iFrame.

Well, anyway, as you may be able to see here, it's an analog clock. It just uses some CSS tricks to rotate the pointers, and it gives a nice effect.

OK, the next package that I wanted to comment is GPS2Country. This is very interesting because usually...

Sorry, I forgot to mention that the previous package was published by Suresh Kumar from India.

The next package that I wanted to mention, as I mentioned, is GPS2Country. It allows to determine the country at a given longitude and latitude. So it take the latitude and longitude. And this package by Dusan Boskic is able to determine if that coordinate is inside a given country.

This all is done without creating a remote Web services. So it contains information about the boundaries of each country, and then it tells if a given coordinate is inside that country or not. So it was a great package.

The next package I wanted to comment is the Dots and Blocks Game implemented in JavaScript, which is interesting. We don't have demos but I have a screenshot here.

Arturs Sosins: So two player, it means playing on the same screen, not like online.

Manuel Lemos: Yeah. This is interesting because... I didn't know about this game, but it is always interesting the way that some people implement this games in JavaScript. In this case, as I mentioned, is for two individual players playing against each other.

Finally, the last package that I wanted to mention is an array generator by Stephen Chapman. And this is to initialize arrays with special sequences, special values, ranges, and ranges of numbers, ranges of letters.

And this is very convenient because sometimes, you have the need to pre-populate arrays in a certain manner, and if you have a solution that addresses those cases, it is always useful.

This package was, I already mentioned, by Stephen Chapman from Australia.

JavaScript Innovation Award Rankings of 2015 (07:20)

Manuel Lemos: Now, let's take a look at the Innovation Award rankings so far for 2015. So far, Andras Toth is leading individually with 4 packages and 15 points, followed by Suresh Kumar with 3 packages and 10 points, Gianluca Zanferrari with 1 package and 7 points.

Then, also with 7 points, Dusan Boskic. And then, there are several other authors with just 1 package but less points... Jackson Knowlton, Danish Satti, Mostafa Abd-El-Hamid, Diego La Monica, Stephen Chapman, and Arturs Sosins.

[Laughter]

Well, by country, this thing's actually more or less tied to who is leading because, unfortunately, JS Classes does not have many, many authors submitting packages, so many of them just represent their country all by themselves.

So in first place, there is Hungary with 4 packages and 15 points. Then, India with 3 packages and 10 points, Serbia with 2 packages and 7 points, Netherlands with 1 package and 7 points, and then United States with 2 packages and 7 points. I think United States is probably the only country that has more than one participant in this ranking.

Then, there is Italy (1 package and 4 points), Australia (1 package and 4 points), Egypt also with 1 package and 4 points, Pakistan, also 1 package and 4 points, and Indonesia with 1 package and 3 points.

Well, we have had lots of contributions. JS Classes have been rising a lot this year, so we hope this competition becomes interesting.

PHP Innovation Award Nominees of April 2015 (09:21)

Manuel Lemos: Now, let's move on to the Innovation Award of PHP, and for the month of April, we have lots of nominees. So we have to run to talk about these nominees. They were voted in May, in June the results come out.

We are not complaining. It's a lot more to talk about these nominees, but it is still lot of packages to comment, so let's try to do this very quickly. Arturs, which ones would you like to comment?

Arturs Sosins: Sure, let me again share the screen, and here it is.

The first one I wanted to mention is Dave Smith. We talk about him a lot. Dave is from the United States. He developed the package, PHP Deprecated Function Checker. So as we discussed, there are a lot of things getting deprecated in PHP, so it would be great to have your source analyzed.

This package does exactly that. It takes your source code and parses it and determines if you're using any functions that are deprecated. And it even uses the list of deprecated function from external formats, so you can update it to the different PHP versions and test your code again, since it see if there's anything that might break.

And that's why basically I like the package. Dave got one downloadable copy of PHP ED Professional for this submission.

The next one, I also like, really this package by Samuel Adeshina from Nigeria, and it's a PHP Sentence Parser. What it does, it parses the simple sentences in PHP. It tries to interpret them, breaks them into words, and stuff like that, but most interesting part is that it tries to generate similar new sentence using different synonyms and other grammar-specific rules.

And so, you could use it in your web site when you're reblogging to try to re-sentence, put the same title in other words, so Google won't penalize you. That would be the great usage for this package, and that's why I like it. Samuel got one copy of the Zend Studio for this package.

Next one that I wanted to mention is the package by Mohammed Al Ashaal from Egypt. He developed Horus Plus, process asynchronous input-output in your PHP. So basically this package provides asynchronous input and output basically like a Node.js basic callback functions.

The way it does it is it use libevent extension which probably not available in all systems, but if it's available, you can take use of it. It would work right.

Next one is Matthew Knowlton from the United States, with the package ExTemplate. Well, this is like a common template package, but the special thing that it does is that it allows to dynamically extends new command and an action call I think, register callable functions.

Next one is a package by Dmitry Mamontov from Russia, and he developed PHP Backup to WebDav Server. WebDav is a special HTTP-based file transfer protocol. This package creates a PHAR archive and can transfer this PHAR archive to different WebDav servers, even with the common ones that the package supports. Dmitry got one package of copy of VS.PHP for this package.

The next package is by Alessio Felicioni from Italy, and he developed WordPress SEO less something package that seems kind of interesting. As pointed out, it detects if you have SEO (search engine optimization) plugin installed in WordPress and removes some of the comments that do HTML outputs. So probably there is some issue with that, and this package would fix it.

Manuel Lemos: Well, if you have lots of comments in HTML, you are bloating your page with needless HTML.

Arturs Sosins: Yeah, sure. Sure. True.

The next package is by Jasenko Rakovic from Bosnia and Herzegovina, and it's called Maratus PHP Backup Database. And you can back up lots of different databases like MySQL, PostgreSQL, Couch, Mongo, Redis, and SQLite. And it also has integration with different backup storages like Google Drive, Dropbox, or FTP server that you can back up.

And the last one I wanted to mention is a package by Muhammad Arfeen from Pakistan. It's called Log4PHP ElasticSearch Appender. So basically, there is a Log4PHP logging library, and ElasticSearch engine was a full text search engine with REST API. And this package extends Log4PHP to send the logs to that ElasticSearch engine, so they could be full text searched later when needed. And he got one downloadable copy of Komodo IDE for this package.

And that's it on my part.

Manuel Lemos: OK, on my behalf, I also would like to comment a bunch of packages. I would start by this package by Abius X from Iran. He developed a parser for SQL queries. It is interesting because it can divide the queries into tokens that can be identified. And with that, it can analyze if two queries are similar and probably group them in a useful way.

For instance, I would see this package useful if you go through MySQL slow query, you could identify if certain queries that are being detected as slow are actually the same query with different values. Using this package, you could actually implement that solution.

For this, Abius X... I'm sure it's not his real name, it's probably an alias... got a prize which is SourceGuarding PHP encoder tool which is ...

Arturs Sosins: This is a new prize.

Manuel Lemos: It is a new prize and it's already popular because many people want PHP encoders.

The next package that I want to comment is a package to manage users and groups users for Windows Azure. Windows Azure is that cloud-hosting platform by Microsoft. This package was developed by Mostafa Abd-El-Hamid from Egypt. It is useful if you are using Windows Azure.

For this package, Mostafa got one subscription to the PDF edition of the PHP Architect magazine.

The next package that I want to mention is one that does something different, which is combine several classes into a PHP file. So if you have several classes, you probably want to give them to just put them into a single code to simplify things for certain situation. You can use this package to combine the classes into a single file. And this package was developed by Alex Lushpai from Russia.

The next package that I wanted to comment is very specific for those that are working with Joomla. It's a Joomla Component Creator by Max Stemplevski from Belarus. He provides a solution that lets you easily create Joomla components from scratch without having to go through a lot of documentation, provide an interface to make it easier.

While I'm commenting about this, one thing that I have implemented recently but didn't comment before is that now packages have more details about them, details provided by the author in the actual package.

For instance, if you have file, authors of the package can tell, "Show this Read Me file in my package page." And this option's making the package page more useful because it contains more information. So far, the packages only have the description and sometimes the Innovation Awards comments, but now they can also have additional comments.

This is more like to show details about the package because sometimes the authors want to mention, "Oh, this package is hosted in GitHub." If you have a Read Me file, that mentions that you can assign that to your package and make your...

Arturs Sosins: It should be a HTML file?

Manuel Lemos: No, it must be either text or markdown.

Arturs Sosins: Markdown. OK, that's also great.

Manuel Lemos: Yes. And I have developed a package to render markdown. It is not yet perfect. It doesn't handle all the cases, but I've been improving it recently because it didn't do very well. For instance, when you have code to show, it did not show the code very well. But now, with this, you can enrich the package pages with more information that is useful. It will appear below the section details provided by the author.

OK, moving on, the next package that I want to mention is an autoloader that supports different standards, different forms of autoloading files. It supports the PSR-0 and PSR-4. These are specifications defined by the FIG, which is the PHP Framework Interoperability Group.

They define how to autoload certain classes with certain names and directory conventions, including conventions to handle namespaces and also convention that he calls mapping. So you just specify this script as this class and it extracts the class name from there. And this package was developed by Till Wehowski from Germany.

The next package that I wanted to mention is from Kiril Savchev from Bulgaria. He implemented a package that probably many people do not understand yet, because they are not used to what is called a traits. Traits is a feature introduced in the recent PHP versions, and implements the Singleton pattern as a trait.

The Singleton Pattern is, as you know, a way to assure that at a given moment, there is only one object of a certain class. Since many classes use this Singleton pattern, instead of re-implementing the code for the Singleton pattern in every class that you need it to be a Singleton, you could use a trait.

A trait is basically a piece of code that you can include inside, for instance, a class. You can define new functions, I think, new variables too. In this case, Kiril implemented the Singleton pattern as a trait.

The next package that I want to comment is called PHP PRONOM drip, and this is useful to recognize file formats, probably binary file formats, weird formats that nobody heard about. But it uses the PRONOM registry, which is a site in UK that has metadata to determine what is the type of certain format. So this package was developed by Cyril Vazquez from France, and it is very useful for this purpose.

Finally, the last one, the package that I wanted to mention is the CodeIgniter Developer Toolbar. It is interesting if you are using CodeIgniter. CodeIgniter was one of the more popular frameworks, and this package implements a toolbar that makes useful information about the requests and benchmark libraries and so on that you are using in a current page being generated by the CodeIgniter framework application.

PHP Innovation Award Rankings of 2015 (24:42)

Manuel Lemos: So with this, it's time to take a look at the Innovation Award ranking of 2015. As we mentioned, this is becoming very, very competitive.

By author, Dave Smith is leading with 3 packages and 30 points. Dave is from the United States. An then, also from the United States is Matthew Knowlton with 2 packages and 27 points. Then, Ghali Ahmed with 3 packages and 26 points. Ghali is from Tunisia.

Dmitry Mamontov is from Russia ,and he has 2 packages and 23 points; Till Wehowski with 3 packages and 22 points; Dan Thanh from France. Alessio Felicioni is tied with also 2 packages and 22 points. He's from Italy.

Andre Liechti from Switzerland with 2 packages and 16 points, then Mohammed Al Ashaal, I think, from Egypt with 1 package and 16 points. And then, wapmorgan follows with 2 packages and 14 points.

So this ranking is very, very tight, because many people has been participating, which in turn is also making the ranking by country also very interesting. So far, Russia is leading with 8 packages and 70 points, followed by United States with 6 packages and 62 points.

Then, Germany also with 6 packages and 34 points, then Egypt with 3 packages and 28 points, France (3 packages and 26 points), then Tunisia also with 3 packages and 26 points. Then, Italy (2 packages and 22 points), Nigeria, (2 packages and 20 points), Pakistan (2 packages and 19 points), and then Switzerland ( 2 packages and 16 points).

This is getting very, very competitive because the ranking by author is lead by two Americans, but that was not enough to pass Russia.

Arturs Sosins: Be in first place? Yeah.

Manuel Lemos: Yeah. So I think we will see very interesting developments in this ranking around this year. So this already takes in account the rankings of May. In June, we'll also have lots of packages that are still being voted. So let's see how these rankings will evolve.

[Music]




You need to be a registered user or login to post a comment

Login Immediately with your account on:



Comments:

No comments were submitted yet.



  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog PHP and JavaScript In...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (0)