PHP Classes

Readying PHP 7 for its Release - Lately in PHP podcast episode 58

Recommend this page to a friend!
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog Readying PHP 7 for it...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (0)  

Author:

Viewers: 48

Last month viewers: 1

Categories: Lately in PHP Podcast, PHP opinions, Sponsored

According to the proposed PHP 7.0 timeline, on March 16 started a period on which there will be only finalization and testing of the implementation of proposed features.

This was one the main topics commented by Manuel Lemos and Arturs Sosins in the episode 58 of the Lately in PHP podcast.

They also commented on important approved features like the scalar type hinting, exceptions in the engine, anonymous classes, and the proposal to have consistent function names.

They also talked about interesting articles like one about urgent maintenance tasks site owners need to perform, improving MongoDB applications with Symfony listeners and creating PHP daemon services.

Listen to the podcast, or watch the hangout video, or read the transcript to learn more about these interesting PHP topics.




Loaded Article

HipChat Promo ShotThis Podcast is Sponsored by HipChat Team Communication.

Hip​Chat combines every communication method you’d ever need - IM, group chat, screen sharing, file sharing, link sharing, video and voice calling - into a single solution.

Working remotely, working across time zones, and working with the person right next to you becomes infinitely simpler and more efficient.

Start chatting, it's free! Go to http://hipchat.com/phpclasses.


This post is sponsored via Syndicate Ads. If your company wants to sponsor a blog article or podcast on the PHP Classes site, please go to Syndicate Ads site to learn more about the sponsorship opportunities

Contents

Introduction (0:20)

Introducing HipChat Team Communication (0:55)

PHP 5.4.39 and 5.5.23, PHP 5.6.7 released (2:30)

RFC: Consistent Function Names (and parameter order) (4:14)

Exceptions in the Engine Proposal passed (7:58)

Anonymous Classes Proposal passed (10:34)

PHP 7 Scalar Type Hinting Finally Approved (12:40)

How PHP 7 Can Help You Write Better Tests (16:52)

Feature Freeze of PHP 7.0 (18:25)

5 Urgent Maintenance Tasks You May Need to Perform on Your Site Now (20:09)

Improving the use of a MongoDB database with the help of Symfony Listeners (32:07)

Creating a PHP Daemon Service (33:08)

JavaScript Innovation Award Winners of January 2015 (36:17)

JavaScript Innovation Award Rankings of 2015 (38:00)

PHP Innovation Award Nominees of January 2015 (39:40)

PHP Innovation Award Rankings of 2015 (46:02)

Conclusion (49:04)



Contents

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

Watch the podcast video, subscribe to the podcast YouTube channel

Read the podcast transcript


Click on the Play button to listen now.


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

View Podcast in 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.

Show notes

Introduction (0:20)

[Music]

Manuel Lemos: Hello. Welcome to the Lately in PHP podcast. This is episode 58. As always, I have here with me, Arturs Sosins, from Latvia. Hello, Arturs. How are you doing?

Arturs Sosins: Hello. I'm actually doing fine. It's finally starting to get warmer here, probably not as warm as you in your place, but it's OK.

Manuel Lemos: Over here, it's still not cold enough to call it cold, but I think here, it's never really, really cold.

Introducing HipChat Team Communication (0:55)

Manuel Lemos: Anyway, we're here to talk about PHP. This episode is special because we have the pleasure to be sponsored by HipChat. HipChat is a team communication tool by Atlassian. Basically, HipChat combines every communication method you ever need like instant messaging, group chats, screensharing, file sharing, link sharing, video, voice calling, all into a single solution.

It allows you to work remotely, working across time zones and working with the person right next to you, if it becomes ever more efficient. So you can start using HipChat right now. The basic plan is free, and if you are interested, you can go to HipChat.com/phpclasses to start taking advantage of this great tool.

There is also an article about HipChat in the PHP Classes blog, and I will mention it in the Show Notes.

PHP 5.4.39 and 5.5.23, PHP 5.6.7 released (2:30)

Manuel Lemos: So now, starting actually talking about more specific events, things that had been happening in the PHP world, let's start about the latest releases.

Let me share the screen here.

OK, first, we'll talk about the latest updates of PHP 5.4.39. In this case, as in the previous months, it is just fixes for security issues. Then, there was also PHP 5.5.23, which apart from many security fixes, it also has some feature fixes. The same for PHP 5.6.7.

Well, I don't think there is really much to comment about these things. It's just the usual recommendation. Just go there, and see if it something that affects your applications. And if so, you should consider to upgrade as soon as possible, so you are not affected by the issues that were fixed here.

RFC: Consistent Function Names (and parameter order) (4:14)

Manuel Lemos: Now, moving on, let's start talking about the usual set of proposals that have been going on for PHP 7, see what is being planned, what is being proposed.

I'm going to start precisely by this proposal that refers to common complaint about people that often want to campaign against PHP, and also PHP developers that do not like the fact that the function names of PHP are not very consistent. Sometimes, the words in the names are not separated by any characters. Sometimes, they are separated by underscores.

This proposal is precisely to address this issue. Basically, the proposal is to have functions with the naming style everywhere. All names should be separated by underscores. Also have the old names that were not consistent with this coding standard to also be available as alias of the same functions.

I think this is good, probably to stop some complaints. I don't know, what do you think, Arturs? Is this really important improvement or maybe not so much?

Arturs Sosins: At first, my first thought was that OK, do we really need it? Will it change much? We all know PHP, we all know how it works. We all know also the function names, so why would it need it? But actually, reading the proposal, the author has prepared lots of interesting paragraphs in many cases for what he anticipate it could be, I objected to him.

In the end, he kind of convince me, yeah, we could do it. If he is going to do all of the job, and it really seem that he cares about it, so why not, if we still can use old code, old function names and new developers could learn the new function names. We almost might also convert sometime. I don't think it hurts anyone, so why not?

Manuel Lemos: Yeah. Well, at least the new code that use the new function naming, it will not be backwards compatible, but probably the people that are concerned with this do not care making their code compatible with past PHP versions.

In the proposal, you may see a long list of functions that need to be aliased to have consistent function naming. This is really long, so it will be a lot of work. But OK, most of the work of finding these functions is already...

Arturs Sosins: Done by the author.

Manuel Lemos: Yeah. So that's it.

Exceptions in the Engine Proposal passed (7:58)

Manuel Lemos: Now, moving on to another proposal. Actually, there is a proposal that is already approved because it was voted already. Let me share the screen here. Basically, it's a proposal that will allow exceptions that happen in PHP Engine... I mean, errors that happen in PHP engine that previously would trigger fatal errors and would call the error handler.

Now, they would be turned into exceptions, so you would be able to catch those exceptions and eventually do something probably cleaner, because you can catch the exception near in the code, near where the error happens, rather than having a global error handler that has to be able to catch all types of errors.

So I think this is a good feature. What do you think, Arturs?

Arturs Sosins: I have nothing against exceptions and it is always better if you are not sure with some cases, you could process handled exceptions better rather than it crashes and produces an error. I don't know if in PHP, it matters much. It probably you redirect all the error output to some log or something like that, and then user won't see anything at all. But it gives more control over it, that's definitely.

Manuel Lemos: Yeah, and there is also the problem that when you have a fatal error, probably the only hacked way to intercept it is to use a registered shutdown function. Still, you would not have much of the context of the error, just the file and the line and not where that code was called.

So I think this is good. This also ties to another thing that we're going to comment ahead.

Anonymous Classes Proposal passed (10:34)

Manuel Lemos: But first, we're going to comment about another proposal. So this proposal is about having anonymous classes. Actually, this proposal is not new, but it came back. It was voted, and it was approved. Basically, it will allow to have just creating a class that probably the intention is just to use one object of that class like getting a subclass that just overrides one function or another.

The idea here is to be able to create classes without having to declare their names and such. The proposal is here. I think this can be useful in some cases, I'm not sure if it will be useful for many people, but I think it will be useful for some, at least.

Arturs Sosins: Well, that's definitely something new. I can't say I have seen something like that in other languages. At least, I'm now thinking and can't remember any example. But it would definitely be useful in couple of cases.

One, for example, of course, would be testing to generate some stub classes, specifically for the test on the runtime would be great. Others would be create objects that represent some information in the database like ORM, or something like that, and you could dynamically create them, even needs specific class to define, or something like that, that will also be used.

Manuel Lemos: Yes. Somehow, this seems to be a proposal that was mostly consensual because most people voted in favor of it.

PHP 7 Scalar Type Hinting Finally Approved (12:40)

Manuel Lemos: Now, moving on to another issue. It's about also the proposal of having scalar type hinting was finally approved. Actually, it was not one proposal. There were many proposals, and finally there was one that was approved.

There is this article written by Joseluis Laso from Spain that had written an article on the PHP Classes blog. It tells about what is scalar type hinting for those that are not aware. Basically, a way to tell that function parameters returned values can be of scalar types. The scalar types are like integers, floating points, strings and booleans. So far, PHP have type hinting for objects and arrays but not for scalar types.

There was finally a proposal. There was a great, great discussion about this. We've been talking about it a bit before.

I think the greatest issue was regarding about strict typing. Some people just wanted strict typing. Other wanted a more weak typing that would allow some kind of type promotion, rather than throwing a more stricter error.

So since this is a very important feature that was being proposed, I think it was great for the community in general. What do you think, Arturs?

Arturs Sosins: I think it actually is great for PHP Classes and authors who submit classes because, previously, when you create some kind of library that other developers would use, you would need to anticipate every value that they would provide to your function like they provide string or integer. And you would need to anticipate all the cases and handle it themselves.

In this case, you would just define that if this function accepts this type, it would be on the developer's end who uses it to provide the specific type.

Manuel Lemos: Actually, it will also be a cleaner way to... For instance, IDEs that are able to scan the code and determine the right types of functions that are expected. Previously, they would use PHPDoc and parse the submissions there.

Not that PHPDoc would become obsolete; it just that not everybody wants to use PHPDoc. At least with this syntax to declare the types that are expected. It will be a different, cleaner way to accept the type that are expected here.

So I think it was a great proposal that was voted. Congratulations to the author, Andrea Faulds originally, and the final version by Anthony Ferrara that created the final proposal that was accepted by the majority of the voters.

How PHP 7 Can Help You Write Better Tests (16:52)

Manuel Lemos: Now moving on to another topic that is actually related, which is another article by Joseluis Laso. Let me share the screen here. This is just a follow-up article on which he talks about how scalar type hinting helps you write better test because now, you can declare the types there. With the type declarations there, you don't have to, for instance, check the actual types in your testing code.

With the type declarations, it will throw exceptions, and your test suite will catch those exceptions and a detect tests that fail. Previously, you would probably have to write some code to check if the actual type is really of what the type it was expected. Still that would only apply to parameters, not return values of functions.

So that's basically what this article is talking about.

Feature Freeze of PHP 7.0 (18:25)

Manuel Lemos: So now, moving on with a another topic, which is just to mention that now, PHP 7, entered what is called the feature freeze period. Basically, according to the timeline that was proposed last year, starting March 16th until June 15th, there will be a period to just finalize the implementation of features and tests for those features, so no new features will be accepted for PHP 7.0.

There can be feature proposals for future versions, PHP 7.1, 7.2, but now, practically, the feature set for PHP 7 is well-defined and no more features will be implemented.

Arturs Sosins: But that is according to this timeline. There is no official statement, I think.

Manuel Lemos: Yeah, well, there are always some proposals to that were being voted. I don't know, I think some of them were already voted after this deadline, March 16th. But that's OK, this is not meant to be rigorous.

5 Urgent Maintenance Tasks You May Need to Perform on Your Site Now (20:09)

Manuel Lemos: OK, so moving on now to another topic, which is about an article that I felt I need to write because lately, I've been through a lot of work, not very pleasant work... basically maintenance work, just to keep the sites working with changes that were somehow, some of them were planned with some time, others not so much.

But I thought I should talk about this because probably not every developer is aware that they need to perform maintenance tasks, either in their code or in their sites structure to actually keep them working well.

Well, one of the things, if you have a site that is for mobile devices, it should render well according to Google, so it keeps ranking well on Google. If you do not do this until April 21, it may happen that the pages that are not very well adapted for mobile users, they lose rankings in favor of pages of other sites that are ranking better.

Do they say ranking of mobile users or of all users, all things including desktop?

Manuel Lemos: No. This only affect the rankings for mobile users.

Arturs Sosins: OK.

Manuel Lemos: It wouldn't affect users that are using desktop computers or even tablets. This is just made for devices with small screens, mobile phones and so.

Actually, I mentioned it here, but there is also an article in here by Pedro Dias, which is a former Google employee that is a specialist on search engine optimization. He has written a nice article. There is a version in English and then in Portuguese. So in this article, you'll find the links to those articles.

I also mentioned an article that I have written before... and we commented here in the past episode... about things that you can do to adapt your websites to mobile devices with least of the efforts. Because if you want to do a full job, it probably would take you a long time, but you can give priority to certain things and achieve results faster. Well, if you are not aware about this article, just go and read it, and they will know about it.

Another thing that is being deprecated is the Google Webmaster Tools API. It's probably is not an API that many people are using or know about it. It is an API that Google has been using, what they call the ClientLogin, which is a method of authentication that requires a username and password, and since Google is deprecating that, all APIs of Google that use ClientLogin will stop working after April 20.

In this article, I'll tell you a bit more how I am using this API. Actually, I have published a class that uses that API. We don't have much time to actually explain it here. What you need to know is that if you were using this API, you need to take care because after April 20, at least parts of that API will stop working.

Now, another thing related with Google is the Goo.gl shortener. I don't know, maybe it was a mistake that I did, but it stopped working for me like last month. I was not aware what was going on. I just saw lots of error because I used this shortener to put links in Twitter posts, and it was giving like this error here.

It was a bit odd because I didn't know what that was about, and it seems that for some reason, now they require a parameter in the URL of the API call, that at least in the past did not require. This is a bit odd, so I realized what was not right.

I'm not sure if it was Google that broke the API or just me that misinterpreted it. So if your use of Goo.gl shortener stopped working probably for the same reason, now, you know what you can do about it.

Another topic also related with Chrome... actually a Google product... starting Chrome 41, if you are using SSL certificates that is SHA1 signatures, Google start considering them insecure, your sites may appear like this.

I realize this because I got a notification from GoDaddy, because I bought a certificate from them, and they said that I need to upgrade. I did not do it yet, but I will have to do it soon because it's not good to have warning saying that a site that is secure is not secure.

That is something that probably many sites that uses SSL need to do, which is to upgrade their certificates. Upgrading does not cause anything because you'll get the same certificate, it would just be a different signature.

Finally, one last topic related with Facebook. Facebook is changing their APIs. It's forcing everybody to start using at least Version 2.0 of the Graph API. So if you are using the old version starting April 30, it will automatically use the Version 2 if you are not specifying any version in the function calls.

This is probably not a big deal. What maybe a big deal is that you, if you have a site or a mobile that integrates with Facebook, depending on the permissions that you need, you may need to go through a review process.

This review process, there will be a human reviewer that will reproduce the steps that you are using to use your API. I mean, the Facebook API, and he'll verify if it will comply. I have gone through a painful process with this review. I finally test it.

You also had said to go through the review, right?

Arturs Sosins: Yeah.

Manuel Lemos: So did it work? Was it through regarding also the publishing post?

Arturs Sosins: No, it was more game related, writing users and stuff. And yeah, it was really a ping-pong, like submitting and then they reject, submitting, they reject, and where you would need to point really specifically the specific button in the game and the dialogue, how you do it or else they just reject and say, "Oh, your application does need a permission. I reject it," or something like that. So it was really a painful process.

Manuel Lemos: Yes, this is actually a... Well, I don't know... they sometimes do not really read all the instructions that we give.

Arturs Sosins: Yeah, exactly. It seems so. Me also.

Manuel Lemos: Because in my case, it is a bit odd because they wanted to verify the Facebook login process. In the case of PHP Classes, it does not use the Facebook login to authenticate the users. That is done on the separate site. What was happening is that they were trying with a test user that would not work in that separate site which is the Icontem Accounts.

I had to explain to them. I had to create a test user just for them to log in and finally, they got it. But I had to post lots of screenshots, and lots of errors... click here, go there.

And this is really painful. I have only done it for PHP Classes, now I have to do it again for JS Classes. So it was not really fun. I thought it will be an impossible mission because it seems that we cannot communicate with the reviewer. We'd just submit the process and that's it, but OK.

Well, anyway, this is just some of the pains sometimes you have to go through. It's certainly not what we want to do. We rather build things than have to fix other things that probably are not broken. I don't know, Arturs, did you have to go through any other painful maintenance processesrecently other than these that I mentioned.

Arturs Sosins: Actually, no, I don't think so. Nothing much.

Manuel Lemos: But it's funny that... It seems that all these maintenances had to be done precisely at the same time of the year, as if we do not have already a lot of work to do for now.

Improving the use of a MongoDB database with the help of Symfony Listeners (32:07)

Manuel Lemos: Anyway, moving on, let me just comment about few articles that were posted in the PHP Classes blog. There is one by, again, Joseluis Laso. This is an article about how he managed to deal with large amount of information to filter from a MongoDB database application, where he used Symfony listeners to actually do the filtering, if I got it right.

I'm not familiar with Symfony framework, so I'm not explaining not very clearly. Anyway, if you are into using the Symfony framework, you may want to take a look at this article.

Creating a PHP Daemon Service (33:08)

Manuel Lemos: Another interesting article, this time written by Dmitry Mamontov. It is an article about creating Daemons. I mean, Daemons in the sense of ...

Arturs Sosins: What Daemons?

Manuel Lemos: Linux Daemons, like those that start servers when the machine starts... boots, and then, they stay there monitoring, processing information, monitoring data.

This is a very detailed article. In fact, he teach step by step what to do to write a Daemon completely written in PHP and make it efficient using Asynchronous I/O using Libevent extension, and even how to distribute it using the PHAR format.

It's very interesting, very detailed. Probably not something that most developers will do, but I think many applications need to write their own Daemons, not Daemons in the sense of machine-level Daemons, like database Daemons or Web server Daemons.

But for instance, if you have a mailing list, you probably need to send a message to a mailing list, send the message to your queue. The Daemon will look at that queue, and process the message and send it to all users. That is a type of Daemon that you can implement on your PHP application.

You probably do not need to implement all the steps that Dmitry explains in this article, but it is quite interesting, what he has written. So congratulations to him for the very detailed article.

Arturs, did you look into this article. What do you think?

Arturs Sosins: Yeah, I remember I actually tried to do something like that but I failed. My idea was to run Daemon, which listens to Skype. There was a previously a Skype API that could be used in PHP even, I think, and something like that. So a post like this would definitely help me, but I think the Skype API is already deprecated. But the idea is great.

Manuel Lemos: I think most large enough applications will need to have their own Daemons so this could be an interesting article to read for people that want to write their own Daemons.

JavaScript Innovation Award Winners of January 2015 (36:17)

Manuel Lemos: So moving on, we are going to now talk about the Innovation Award. We will start about the Innovation Award of JS Classes. We will talk about winners of January that were voted in February, and then in March, the results came out.

So in January, unfortunately, there was only one submission. Unfortunately, this is just what we got that month. It was actually a very interesting application called Call Me. It can establish video chat communication between users.

It was written by Andras Toth from Hungary. It is very, very interesting, and I think everybody should try it because it is very neat to see video chats working on a browser which is done in pure JavaScript, although it relies on the service called PeerJS.

For this, Andras picked one book of choice, a Packt.

JavaScript Innovation Award Rankings of 2015 (38:00)

Manuel Lemos: Well, even this, despite in January there was only one nominee, the current Innovation Award ranking already takes in account also the nominees of February. Guess who is in first place?

Arturs Sosins: Really hard to guess. It was not intentional. It was not intentional.

Manuel Lemos: Yeah. Arturs is leading now the ranking with just one package, but got three points; followed by Ovidiu Bokar from United Kingdom with one package and two points; then, Jason Gerfen and Andras Toth with one package and one point.

By country, it's also nothing surprising because it's practically the same ranking of the nominees. Latvia is in first with one package and three points; then United Kingdom with one package and two points, and then United States and Hungary with one package and one point.

Well, fortunately, then in March, there is some more nominations, so I hope this JavaScript Innovation Award gets more interesting. We can talk about it next month.

PHP Innovation Award Nominees of January 2015 (39:40)

Manuel Lemos: So now, we are going to move on with the Innovation Award of the PHP Classes. Again, we'll start to talk about the nominees of January. In January, there were like nine nominees. They were voted in February, then in March, the results come out.

So Arturs, which package would you like to comment?

Arturs Sosins: So let me share the screen, I don't know if that was the correct screen. Yes, this should be it. Let me just zoom in a little.

So the first package I wanted to comment is VsWord, which basically allows you to create, generate Microsoft Word documents from HTML.

This actually is quite great, because I remember previously, I was looking for lots of components. Some of them were using Com components for PHP. Some of them define XML files, and well, it was always kind of messy. I think in PHP, to generate Word documents with HTML is the best way, and this is what is provided by this class.

It was created by Raskin Veniamin from Russia, and he got one copy of the Zend Studio for it. It's a great class. That's why I like it.

Manuel Lemos: Yes, that's really very pragmatic because most people already have their PHP application generated in HTML, so if you can use that same HTML to generate the Word documents, it's a very straightforward solution.

Arturs Sosins: Exactly. Next one I would want to comment is PHP Push Notifications and what it actually does, it sends cross-platform notifications to both Android and iOS devices. I once also needed to implement services to test them, and they have different APIs and some differences. So combining it was a challenge and this class does exactly that.

This class was developed by Young HyeongRyu from South Korea, and I think he didn't have a prize for it, right?

Manuel Lemos: Yeah. Actually, sometimes it happens, I emailed winners, "Well, what prize do you want?" And sometimes, they do not reply. I don't know, maybe the message went to his spam folder and now, he didn't get a prize.

Well, if he's listening to us, please contact us. You still have time to get your prize. He's not the only person that this happens. It seems to happen more with people that are not very familiar with the English language. Probably, they don't understand the message that has been sent. But anyway...

Arturs Sosins: So if you need to send notifications from those devices, you can use this class. It would be great if it also supported Windows phone, sending notifications... wink, wink, but we'll see.

Manuel Lemos: OK, on my behalf, I would also like to comment about a few classes. Let me share the screen here.

So the first class I wanted to comment is an interesting solution for a problem. The author, in this case, Michal Kowalik from Poland, created a package that adds hints to Google API code. So Google distributes class libraries to access their APIs, but they don't have type hinting comments on the code. He process the code files and adds those type hinting to make them more useful, for instance, in IDE.

So this is an interesting solution for a problem that should not exist. Presently, it exists.

Arturs Sosins: Well, when you put it that way then it must be a trend.

Manuel Lemos: Yeah, well, it was quite a hot trend right now.

Anyway, Michal got one downloadable copy of PHP ED Professional. Congratulations for his package.

Another package that I wanted to comment is a simple one, which sometimes some sites would like to display, "Today is Day so and so," and, "Several years ago, it was the day of something... a birthday, somebody died, somebody lost a battle," or something like that.

This class called PHP What Happened Today by Amer Hendy from Egypt, can extract that information from CSV file that you can update with whatever are the relevant events that you want to show. It can extract the events that happened today and other days... in other years, I mean. This is a very interesting package.

PHP Innovation Award Rankings of 2015 (46:02)

Manuel Lemos: Now, we are just going to see how are the rankings for the Innovation Award of 2015. Since the PHP classes has much more contributions, the competition is getting hotter.

Individually, Andre Liechti from Switzerland is ahead with 2 packages and 16 points, and then followed by Raskin Veniamin with 1 package and 9 points, as well by Ruturaj Maniyar from India with 1 package and 9 points; Lucas de Oliveira from Brazil with 1 package and 8 points; YoungHyeong Ryu from Korea with 1 package and 8 points. Rafael Rodriguez has the same points but he has 2 packages from Cuba, as we mentioned before. And then, several other authors with one package and seven points.

This is getting very interesting because there are many more than 10 authors already in this ranking, but we are only showing ten here.

By country, so far Switzerland is ahead, tied with Russia with 2 packages and 16 points. It is followed by Brazil with 2 packages and 15 points; India, with 2 packages and 10 points; Germany, 2 packages and 8 points. Then, we got South Korea with one package and eight points; Cuba with two packages and eight points; Nigeria and France, one package and seven points; and then, The Netherlands with one package and six points.

So this competition is getting very interesting. We have been having a great number of contributions. Actually, I would like to even apologize to all authors that had been submitting packages, because there are many packages in the queue, almost 30 packages, I have not having enough time to approve all of them.

Unfortunately, I've been really having health problem in the stomach. I'm feeling better now, but I feel a bit tired and cannot work as fast as I hope, but I hope from now on, things will work faster.

Arturs Sosins: We forgive you.

Manuel Lemos: Oh, thank you.

Conclusion (49:04)

Manuel Lemos: And with this, we practically ended this podcast. I would like to thank you Arturs for coming. On my behalf, that is all for now. Bye.

Arturs Sosins: Bye.

[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 Readying PHP 7 for it...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (0)