Download Size: 31MB Listeners: 2436
Introduction music: Harbour by Danilo Ercole, Curitiba, Brazil
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.
PHP Fog - Cloud hosting solution dedicated specifically to PHP
Apply to a job at PHP Fog company by sending a resumé to email@example.com
- Get a PHP Fog hosting with a special discount for Lately in PHP podcast listeners
- Article on the Robert Eisele's PHP 5.3.6 forked version
Article on the Top 10 PHP 5.4 features being voted
Interview with Lucas Carlson, PHPFog founder and CEO (0:46)
PHPClasses 12th anniversary and the New Site Features (30:57)
PHP 5.3.6 forked version (42:11)
PHP 5.4 being voted (45:39)
PHP Programming Award nominees of April 2011 (51:50)
The good and the bad of PHPClasses site according to Lucas Carlson (58:30)
Manuel Lemos: Hello, welcome to the Lately in PHP Podcast. I am Manuel Lemos, always the usual host of the podcast. This is episode number 13, and also as always I have here with me Ernani Joppert is my co-host, hello Ernani, how are you doing?
Ernani Joppert: Hello, Manuel, I'm doing great, I'm glad to be here and lots of interesting topics to talk about today, so looking forward to it.
Interview with Lucas Carlson, PHPFog founder and CEO (0:46)
Manuel Lemos: Sure. Actually, this is a special episode for several reasons, not only the PHP Classes site is celebrating 12 years of age which makes it practically a teenager, but also we have a special guest, Lucas Carlson of PHP Fog.
Lucas gladly accepted an invitation to become a sponsor of the podcast, and Lucas has been working on a very interesting project that fills an important gap in the PHP world, and he today comes here to talk about that project. Hello Lucas, how are you doing?
Lucas Carlson: Hi, thank you so much. Thank you, I'm very, very happy to be here and I'm excited to tell you guys about what we're working on and to talk PHP.
Manuel Lemos: Exactly. Well, let's move on precisely to that topic about your project which has now given a very serious step which resulted in being a funded project, PHP Fog. First it would be interesting if you could give us an overview for those that are not familiar with what it is all about?
Lucas Carlson: Yeah, so PHP Fog is a platform as a service specifically for the needs of PHP. So, what we have built is a system... in the past when you have PHP projects you only had two options, you could go with shared hosting where you have very little control but it's very easy, or you could go with dedicated hosting where you have to do everything yourself, the upside is that it can be more fast, scalable and powerful.
And so those were your two options. What we have built at PHP Fog makes it just as easy as shared hosting but just as powerful and scalable as dedicated hosting. And that's kind of what platform as a service sets out to do.
So about a year ago I came up with this idea for PHP Fog, and I thought why hasn't somebody built something that's so easy, that takes advantage of all these new technologies and all of this new infrastructure options to deploy PHP applications in The Cloud.
And so that's exactly what I set out to build, and as you mentioned we got funded which is awesome, we raised 1.8 million dollars at the end of December.
Manuel Lemos: Great. It's a lot of money. I suppose that gives you a lot of space, opportunities to hire qualified developers, but you can give us more details about it while you are finishing explaining what PHP in The Cloud, what is platform as a service.
Lucas Carlson: Absolutely. So, with platform as a service... so we all know about Amazon Web Services and Cloud systems, we keep hearing these terms, but a lot of us have tried to do this and it's still very, very hard.
You can start getting started with Amazon Web Services and configuring things, you spend a lot of time and in the end your server can go down without you even being notified. So you're still in the same problem as you were with dedicated hosting.
So what we built with PHP Fog from the ground up is an N-tier scalable system, so we don't put all of the services on the same box, Apache, MySQL, everything you're familiar with has its own set of boxes in The Cloud for you.
And when we set up an application it's deployed onto each of these systems, so I'll list everything we provide for you right out of the box. We give you a caching server which is something that a lot of people don't set up themselves.
Manuel Lemos: You mean caching content or caching PHP scripts or what is it?
Manuel Lemos: It's like a local content distribution network.
Lucas Carlson: Yes. And we also provide load balancers which is important because you get dedicated virtual machines with PHP Fog, as soon as you start paying us we set up virtual machines for you in The Cloud that our load balancers hook up to automatically.
So as your Web site becomes more popular you can start adding servers and they automatically get added to the load balancer, and if one of the servers goes down it is handled by the rest of the servers while another one is spawn up for you.
Manuel Lemos: Right. And it seems that you are providing this infrastructure to whoever becomes your client, but I suppose, well, if you had to hire that yourself from a regular hosting company you would have to pay a lot because each machine costs its own cost, but what kind of amount would that cost when hiring your services, your PHP Cloud hosting from you? Would it be cheaper or about the same level of money as dedicated machines?
Lucas Carlson: Yeah, it would actually be cheaper with us and here's the reason. So with us the starting price is free, we actually have a free level of service so you can't beat that, and you still get the N-tier system.
The difference is that each part of the system is multi-tenant, so you're sharing the same resources as other people, then when you start paying us the cheapest paid plan is $29.00 a month.
With $29.00 a month you get a dedicated machine that runs just your Apache, just your PHP, so you're not on the same service as anyone else but you share the database, you share the varnish caching and you share the load balancer.
So it's actually a pretty good deal because a dedicated server in Amazon can cost you $19.00 a month and if you're going to run four separate systems it's actually more than that because we have redundancy at all the layers.
So we're running multiple load balancer, multiple caching servers, in case anything goes wrong it will still stay up.
Manuel Lemos: Right. That's interesting to know but, well, since you mentioned Amazon I would also like to if you could clarify are you in the end hosting the machines in Amazon or similar server or you have your own data center or how does that work?
Lucas Carlson: Yeah, so right now we are on Amazon, all of the systems run on Amazon, but we built the system to be agnostic for the infrastructure and so having other providers is definitely something that will be coming down the line.
Manuel Lemos: So that will be transparent for whoever deploys in your system.
Lucas Carlson: Yes, that's right.
Manuel Lemos: Right. I think that's quite interesting because comparing the prices with Amazon it seems it costs more if you consider also the data transfer costs. Are you charging any additional value for data transfer or it's all included?
Lucas Carlson: Yeah, a base amount is included in data transfer, and on top of all of those parts we provide extra services that you wouldn't even get. So aside from having it all set up for you automatically and not having to pay somebody thousands of dollars to do it yourself we also have features like a Git deploy system.
So we use version control and the version control we support right now is Git, and as soon as you create an application on PHP Fog, we create a Git repository for you where you can commit to it, as soon as you push your changes to us all of your code is deployed to all of your servers immediately for you.
So it's a very transparent system that takes care of everything, systems, maintenance, backup, scaling, all for you without even worrying about it, all included at $29.00 a month.
Manuel Lemos: Yeah, it's interesting that part of using Git as a form of deployment, is that the only form of deployment or like a traditional way of using a very simple file upload to deploy the files, but in your case you probably have to make it work in a distributed way. So is Git the only way to deploy the files of a project or do you provide any other alternative method?
Lucas Carlson: Yeah, so Git currently is the only way to deploy on PHP Fog, however, there are a few things. One is that we also provide what we call jump starts. So if you want to get started with a WordPress site or a Drupal site or a Joomla site and aren't necessarily interested in modifying the code just yet, you can just go to PHPfog.com, create an application and tell us you want WordPress and we will get it all set up for you.
We'll go through all of the configuration steps, we'll set up MySQL, hook in the permissions and all of the account information, go through all of the setup process for WordPress and within a few minutes you'll have a fully functioning WordPress blog in The Cloud.
Manuel Lemos: Right. So if I got you right you sort of have some templates for deploying common PHP applications.
Lucas Carlson: Yeah. Yes, that's right. And it even goes beyond some of the other one-click installations you've seen before. It's really one of the most beautiful seamless installation processes you've seen. And in the end you do get a Git repository with all the code so you can start modifying it when you're ready.
The other thing is that we are working on an FTP to Git interface, so people who aren't used to Git we don't have it yet ready but we are working on an interface so that FTP will work as well.
Manuel Lemos: Yeah, that's interesting. Is that Git repository hosted by yourselves or people can point to GitHub or some other Git repository somewhere in the Internet?
Lucas Carlson: Currently it's hosted by ourselves, and one of the main reasons is that you have to pay for private repositories on GitHub. So we don't want our users to have to pay to use another service just to use our service, so we provide completely free private Git hosting for you.
Manuel Lemos: Right. And obviously you will take care of all the backups.
Lucas Carlson: Yes.
Manuel Lemos: It seems it simplifies a lot of the work, and I'm sure it addresses one of the most pressing needs that I've been noticing in the PHP community for years.
In previous podcasts and also blog posts I wrote in the PHP Classes blog, we keep complaining about Google not providing support for PHP in AppEngine.
And well too bad for them if they don't want to take advantage of the large size of the PHP community, and I'm glad that you have taken that space because you seem to be very knowledgeable about how PHP works, how PHP application works, and that will certainly be reassuring for people that are considering solutions to PHP in The Cloud.
Lucas, what is your PHP experience, how long have you been working in PHP?
Lucas Carlson: Yeah, so the first language I ever learned was PHP, and I did eight years of professional PHP contracting. I also contributed a library to the PHP Classes Web site.
Manuel Lemos: Yeah, I noticed that, actually it was quite a long time ago you even reminded me about it because it was 2004, so that makes seven years ago. But please carry on, let's talk a bit more about your solution.
Ernani Joppert: I have one question.
Manuel Lemos: Yeah, sure.
Ernani Joppert: Regarding I understand that the current deployment mechanism is based off of Git, and when you're submitting database scripts in order to maintain it or at least to make changes to it, and even dumping the contents of it, how is this process done? I would like to understand it better.
Lucas Carlson: Yeah, so one of the things we also provide at PHP Fog is built in PHPMyAdmin interface so that you can easily go in, download your database, modify it, inspect it and be able to work with your database in a very easy way.
We don't currently allow you to directly connect to your database externally, and one of the reasons for that is security. So it lets you be prevented from denial of service attacks and from password guesses.
Ernani Joppert: Oh, yes, that's really important.
Manuel Lemos: By the way, do you also support other types of databases, say PostgreSQL or just MySQL for now?
Lucas Carlson: MySQL for now, but we are working on expanding our offering to include especially things like Memcached and MongoDB and CouchDB which are very popular and highly requested.
PostgreSQL might be in the list as well. One of the things that I'd love to hear is your users' feedback, let us know because one of the things for me is I, as you said, want to build for what the PHP community needs.
I don't want to build something that I think PHP people need, I want to hear from people. One of the things I did early on was collect lots and lots of surveys, so I talked to over 2,000 PHP developers while developing PHP Fog.
Manuel Lemos: So you must have a very good overview about the PHP developers' needs.
Lucas Carlson: Yes, definitely.
Manuel Lemos: Yeah, that's very important or else you wouldn't be able to provide a very specific service targeted to the PHP community.
But regarding your company, you mentioned that you were funded, right, you've got a non-trivial amount of money to invest in your company, I suppose that allowed you to expand your team. How is your team composed, how many people are working on the whole project?
Lucas Carlson: Yeah, so we have eight employees right now, but we're growing very quickly and I would love to get resumes from anybody listening to this podcast. If you send an email to firstname.lastname@example.org I would really love to hear because we are excited to be growing very, very quickly, we have a lot going on and a lot needs to be done.
Manuel Lemos: Sure, but please can you detail a bit more about what would be the skills that you are looking for on the eventual candidates. The PHP Classes site has a PHP jobs section but it is important to know the skills that are required before people apply, and you can browse the PHP Professionals Directory and narrow the search, but maybe you have very specific skills that you need from the candidates. What would those skills be?
Lucas Carlson: Yeah, so I actually think of it kind of in reverse to that question. I don't think of it so much as the skills necessary for the job, but more I want to hire really smart people and in order to do that I want to tell them about what technologies we use at PHP Fog to do our job day-to-day and what we've used to build PHP Fog.
So these aren't necessarily the technologies that people need to know in order to be hired at PHP Fog because to me smart people can figure out these technologies.
So some of the things we look for, we're using internally, we're using Ubuntu Linux, we're doing a lot of systems automation, the languages we use include PHP, Ruby, Python, Erlang, Bash, the databases that we use include MySQL, Redis and MongoDB, the web technologies include Apache, Varnish and nginx, AJ Proxy, and so those are some of the technologies we use at PHP Fog.
Manuel Lemos: Right. I think that opportunity that you have for hiring smart people, as you mentioned, comes right in line with the interests of many of the listeners of this podcast, but there is one convenience I would say that many of the potential candidates would like to know if you are offering which is whether you would be able to accept candidates that would work remotely for your company eventually from other countries, or do you require people to be on site?
Lucas Carlson: Yeah, so in general I am a big supporter of remote working, I have done many, many years of working remotely so I understand it and I'm not scared of it, but on the other side of that token I do prefer to be local or to be able to eventually be local, so it's a bonus to be able to have some flexibility.
We're based in Portland Oregon and if that might be something that could be interesting to you that would definitely be a plus, but I'm very, very open to remote work.
Manuel Lemos: Right. I would say that most of the developers that are listening to the podcast are not even U.S. based and to move to the U.S. they would require a Visa and we know that is kind of hard, that's why I asked if you would be eventually considering candidates from other countries, but I understand your need to work with people more closely on site, that would make things more fluent.
But moving on with the podcast, I would like to ask you in this interview about what plans, interesting things that you are considering for future versions or future developments of the system that you are building.
Lucas Carlson: Yeah, so one of the interesting things that we just released a few days ago was the ability to what we call private multi-tenant systems. So the idea is that you're buying a server for $29.00 a month with us, and on that server we now let you put multiple applications so that it's multi-tenant but it only has applications that you have created so you're not on the same server as random strangers.
So people are really excited about this, on our larger plans you can put up to 125 applications on the same server and this lets people have great economy and reduce the cost per application with PHP Fog.
We've got some interesting stuff coming around soon with add-ons, so having Mongo and Memcached is very exciting to us. And we have a whole lot of features that I'm really excited that will be announced on the blog soon.
Ernani Joppert: Lucas, one question I also have is imagine I have a specific application that is tied up with Flex or either other RIA architecture and makes use of file system uploads and other file manipulation within the file systems of the cluster that I'm on.
Imagine that I need to extract those informations in a specific timeframe. You mention that you use Git for allowing us to browse the code and to make changes and commit and either push it once working locally within the local Git repository, and I would assume that those files that the system does any changes would also be replicated under Git but maybe somewhere else.
Lucas Carlson: Yeah, so that's a great question. One of the features that we're working very hard on is the ability to have all of your systems share the same file system, and this is a very difficult problem so we're very excited to be offering it but it's not ready just yet.
And so the way that is best supported right now is when files are uploaded to your system if those files are transferred to a system like S3 from Amazon, or a similar system that is specifically built for holding static assets, that is the best supported method that we have right now, but we are definitely working on having a shared file system.
Ernani Joppert: Oh, I see. Thanks a lot.
Manuel Lemos: That's very interesting, but I also wanted to comment, ask a bit more detail about the previous question. You mentioned multi-tenant systems, I'm not sure if that is what is meant, I think most listeners are not exactly familiar with the concept. Is it related with eventual applications that are ready to deploy multiple times in your hosting environment, how does that work?
Lucas Carlson: Yeah, so the idea with multi-tenant is traditionally what would happen when somebody offered you multi-tenant what that meant is that there would be lots of people uploading their applications to the same server.
So you might be on the same computer as 6,000 other people and you don't know who these are, you can't trust them, and if one of their websites gets hacked into they have access to your code too.
So that's obviously very bad and we wanted to prevent that at PHP Fog. So what we provide is a dedicated multi-tenant environment where it's only your system but you can have as many applications up to a certain limit as you want. So the multi-tenancy is just the fact that you have different applications uploaded to the same server.
Manuel Lemos: Oh, I see, it's not... I was thinking more regarding which is probably something that you may also provide, and I want to ask if you allow third parties to provide their own applications that expand the offer of applications available in your system besides WordPress and the others that are common.
So the question would be are there opportunities for third party developers to provide their own applications and eventually monetize on them using your ecosystem?
Lucas Carlson: Yes, your instincts are right on. That is actually one of the very exciting features that will be announced, it's something that we're working on to make just right so that when it's available it will be seamless and easy to use, but that's absolutely something we're working on.
Manuel Lemos: Right. For me it sounds quite promising your solution, and maybe we can have you back in the future to talk to us about other launches of features and important abilities that your system will provide.
I don't know if you would like to mention anything else besides what I have asked, do you have anything else in mind?
Lucas Carlson: Well, the only think I'd like to add is that try us out at PHPfog.com because it is extremely easy to get started, you can have yourself up and running in 20 seconds, so it's not going to be a big time-sync for you.
But, yeah, I'm really excited and thank you so much, I'd love to keep up-to-date and talk with you guys when we come out with some new features.
Manuel Lemos: Right. And for the listeners of the Lately in PHP podcast you have previously mentioned to us that you have a special offer that you can make for a limited period of time so they can benefit.
Lucas Carlson: Yes, absolutely, so all you have to do to get a 15% discount is email email@example.com mention this podcast and the email address to use to sign up with PHPfog.com to get a 15% discount on your first month.
Manuel Lemos: That's great to learn about. I'm sure many of the listeners will appreciate it and will take the chance to evaluate your system benefitting from the discount.
Lucas, thank you very much for your participation, your sponsorship, and I wish you the best of luck for your business and for the rest of the podcast I would like to invite you to stay on and continue to help commenting on more interesting PHP matters that we are going to talk about.
Lucas Carlson: Great, thank you very much.
PHPClasses 12th anniversary and the New Site Features (30:57)
Manuel Lemos: Well, moving on with our podcast we are going to talk a bit about actually one thing that I already mentioned in the beginning which is the 12th anniversary of the PHP Classes site which coincidentally happened at the same time other things were happening, one of which is that the site has reached one million registered users.
Obviously not all users continue to be active in the site, but I will say that at least about 40% of those have come to the site at least once last year. And that is very interesting to comment on because the growth of the number of users reflects in the growth of eventual contributors which in turn provides more interesting packages that are shared in the site.
And at the same time the Twitter account of the PHPClasses site reached 10,000 followers which is quite a lot. I don't know any other Twitter account related specifically to a PHP site other than the PHP.net account, which has more followers, and this is very interesting because it reflects the fact that many PHP developers are interested in what happens in the PHP Classes site.
And another thing that happened just with the announcement of the birthday, the anniversary of the site, which was the launch of a new feature that was being requested for many years by developers that wanted to contribute especially packages that are very large, have a large number of files.
The traditional method to upload packages is to submit each file of the package one by one, each file by its own description and content type and the role of the file in the package which is important information that is listed in the page of the package, so the users can learn whether it is interesting to browse that file or not.
And if you have a large package, say of tens or even hundreds of files, uploading each file at once is quite a painful method. I can speak for myself I have some packages that are quite large with tens of files, and updating those packages has turned to be quite painful.
So I have developed finally one feature that has been requested to address that problem which is the ability to import the files of a package from version control repository which could be CVS, SubVersion and Git.
We've actually already mentioned Git before, Git is becoming quite popular. In my surveys I have noticed that SubVersion is still more popular among PHP developers probably because it is an older version control system.
And right now I have launched the support for CVS because I still have many of my older repositories in CVS, but soon I will be adding support for SubVersion and Git and probably others like Mercurial because I have a partner that is very interested in submitting a large number of packages and he has hosted I think it is in some Google repository that is Mercurial.
And by the way, talking about that do you guys have a favorite version control system on which you use to host your projects, Lucas?
Lucas Carlson: Yeah, so I used to use SubVersion a lot, and I learned Git and I fell in love with Git, I think that Git is really, really interesting mainly because the branching is really, really easy with Git, so it's really what brought me to choose Git.
Manuel Lemos: Yeah, I have noticed a lot of interest in Git, not so much in the PHP community but also mainly Python and Ruby developers. Lucas, you also are a Ruby developer, I figured you would be more acquainted or at least prefer Git over SubVersion, right?
Lucas Carlson: Yeah, definitely.
Manuel Lemos: What about you, Ernani, do you use a version control system or if so which one?
Ernani Joppert: Oh, yes. Actually on my personal projects I have been using SubVersion and I use it within SSH so it's a very simple repository, but I've been reading through Git and I eventually plan to use it as a major SCM because of the distributed capabilities and having your source code not depending and not relying on an online branch, it's really important, at least for my own documentation.
And I use a lot of the Eclipse side of SubVersion, so Subclipse which is the main plugin for Eclipse is the most used integration with SubVersion, and I've just found EGit which is the plugin that supports Git within Eclipse, and I've been also checking Tower for Mac which is a Git beta tool for working within Git visually because it is more...
Sometimes it's better to see your branches in a more friendly way than having it under a shell, but I guess I would be also familiar with shell tools, it's just that every change requires some planning and for now I'm on the planning phase of migrating to Git.
Manuel Lemos: Yeah, I think using a version control system regardless of what it is, is mandatory even if when you work alone on your own projects. Keeping track of the changes that you did throughout the history of your project is quite useful.
Sometimes you introduce bugs and if you are able to go back to a certain version of a certain date you can see if the version, if the bug was introduced before or after that version. And it will help narrow the search for difficult bugs.
And for me I've been using CVS even before I started using PHP. I started using PHP about 1997 which was quite a long time ago, and I was already using CVS by then and it turned out to be very useful.
I currently use mostly command line tools because I got used to them, but obviously a visual... a graphical user interface to access your repositories is often very useful to see what you have been doing.
Lucas Carlson: Yeah, and one that I've run across lately is SmartGit which works on both Macs and PC's as a great graphical interface for Git.
Manuel Lemos: Yeah. By the way, talking about Git, I think it was clever to use Git in this case to deploy the projects that people have in PHP Fog.
Lucas Carlson: Thank you.
Manuel Lemos: When you think about it you think, oh, it's obvious that was a good solution because in the end we do that. We deploy the current version or a more specific version. Personally when I deploy a project I do not use any version control system because it would have to be pulled from the production environment and it would have to be pulled from my development environment or wherever I have the repository.
But in my case since it is in a private network my production environment does not have access to the development environment, but in your case PHP Fog it's all integrated, it makes a lot of sense to do that.
Lucas Carlson: Yeah, and also that's one of the nice things with Git is because of the branching being so easy you can have your production environment and your development environment, the code can be within the same code base but on different branches.
Manuel Lemos: Oh, right. It will sort of work like, well, not necessarily like a sandbox but to be a place where you would test the same project but just a different configuration, so you can try before deploying and pushing bugs to the production which could be a great disaster.
Well, if you are not sure what a version control system is and you are not using one you should.
PHP 5.3.6 forked version (42:11)
Manuel Lemos: On that note I'm going to move on in the podcast to another section, we should comment on the latest happenings in the PHP world. One of the things that I even actually wrote a blog post about it, it's that it was Robert Eisele from Germany, if I'm not mistaken he created a fork of PHP 5.3.6.
And for those not familiar with what the fork is, basically a version of PHP that is derived from the original, the main PHP distribution, but has some changes apply that the author of the fork decided to apply to somehow improve it
And Robert Eisele implemented a lot of interesting features and he's sort of done it secretly and has announced it recently this month, and it was very interesting to notice what it did not just because of the features but the reaction from the community, specifically from the PHP core developers.
Somehow some got a bit upset because he wanted to make the changes but did not consider first proposing the features to the PHP Internals mailing list so they could be discussed.
And that is interesting, it probably reflects of the fact that often when people go there and propose changes more than often they are turned down and that's a bit discouraging and maybe that is the reason why he decided to create this fork and propose interesting features.
Did you guys check this fork by Robert Eisele?
Lucas Carlson: Yes, I did.
Manuel Lemos: Ernani, anything interesting that you found in this patch or you didn't have the time to test it?
Ernani Joppert: Yeah, I didn't test it but I've heard of it and I did a little digging, but I couldn't see something that I would benefit from and I've been busy a lot, but it's nice to see that this whole Open Source world brings these kinds of attitudes because sometimes it's very hard to get what you need so you have to decide either if you go and make the changes yourself and if others can benefit from it.
So it's a very, very odd way to do but sometimes it's the only way to do, so it's nice to hear things going this way.
Manuel Lemos: Right. It's sort of saying it's not the right way to evolve PHP. His intentions were not exactly to create a fork but rather to express that he has an interesting set of features to introduce, and in the end he accepted the invitation to go on the PHP Internals list and propose each of the features one-by-one which probably will take a long time for the features to be appreciated and be considered to inclusion.
PHP 5.4 being voted (45:39)
Manuel Lemos: And this topic about PHP new features leads us to another happening in the PHP world which is the preparation in the PHP 5.4.
Right now there is a voting process going on, several features were proposed, I'm not sure if these are all the features or just the features that are not consensual, but because I, for instance, I suppose traits will be included in PHP 5.4 and it has not been discussed in this poll, in this vote that is going on.
Anyway, I have written a blog post also on the PHP Classes site blog about this to somehow give an overview of these features which are ten but eventually will be more, even now considering those proposed by Robert Eisele. I'm not sure if these proposals will be in time for inclusion in PHP 5.4, but what matters is that PHP 5.4 is finally coming up.
It is being managed by Stas Malyshev who is a long time PHP core developer, he used to work for Zend, I think he's now working for SugarCRM, and he is now the release manager along with David Soria Parra. And I think the process going on is quite positive, what do you guys think?
Lucas Carlson: I'm very, very hopeful. I think that the features in 5.4 are compelling and interesting, and I really like Robert's approach to getting publicity around his ideas, I think that being able to have a voice to be able to promote yourself and promote your ideas is very commendable.
Manuel Lemos: Yeah. Well, I think so. Now moving on to our next section of the podcast, regular section on which we comment about the latest objects published in the JS Classes site.
And we're going to comment about a few of the more interesting objects. Lucas, any objects in particular that you found interesting from the latest objects published there?
Ernani, any other interesting objects you found lately in the JS Classes site?
Ernani Joppert: Oh, yes. The one I would vouch for is because I'm catching up with the jQuery framework is the Google Maps plugin. It seems to be a very friendly way to benefit from the jQuery framework and the plugin extensions, so I would go for it. And the author here is Jean-Baptiste Demonte from France, and I would like to give him kudos for providing this.
Manuel Lemos: Right. Yes, it's a very interesting object. And on my part I would like to comment, to mention this first one, actually it's the last one I mean first in the least.
This Auto-Pop New Field which is a component that does something that addresses a recurring need which is when you have a list of records that you want to enter eventually in a database you can show the records one-by-one, one in each line, and the one you want to add a new record you add a new line.
And if you are adding records using forms what this object does is to replicate the form inputs of one line into the other so you can add a new record very easily. And this, the way I see it, addresses a recurring need in a very interesting way.
PHP Programming Award nominees of April 2011 (51:50)
Manuel Lemos: And now moving on to another regular section of the podcast which is to comment on the latest nominees that were awarded in the PHP Programming Innovation Award that PHP Classes site carries on since 2004, which is to comment on the winners of the month, actually they were nominated in April, so they were voted on during May, and the results came out in June.
Which classes did you find interesting this month of April in this case where the winners were just announced?
Lucas Carlson: The one that I found most interesting was the Source Code Reflection in PHP. It's something that has always fascinated me, I really enjoy learning programming languages and being able to reflect inside those languages is a very powerful technique, so I was impressed with the Source Code Reflection.
Manuel Lemos: Right. This one was submitted by Artur Graniszewski, I'm sure I'm not pronouncing it right, my Polish is not as good as I hoped. But actually Artur is a regular contributor of the PHP Classes site, he has already published nine packages there, some of which like this one were nominated to the Innovation Award.
And this one is quite interesting as Lucas mentioned because it somehow goes further beyond what the PHP 5 Reflection support provides. And it's good to know that many PHP developers contributing to the PHP Classes site demonstrate that they think out of the box and provide great components like this.
But carrying on, Ernani, which components would you like to highlight this month?
Ernani Joppert: For this month I would take one, and the one that I found most interesting is due to the hacking concepts of PHP, as PHP can be used to several ideas, and one of those is for sure to help you hack and help you hack in a good way sometimes, because sometimes you are blocked and you need to find a good proxy to browse through this blockage.
And the Proxy Checker class is one class that I would keep in my scripts in order to try to see if a proxy is up and running and perhaps even make a recommendation to the author to add a TTL mechanism to see the timeout networking, let's put it this way, the throughput between my machine and the proxy machine so I can see if it's a feasible one.
Manuel Lemos: Yes, this class by Stanislav Afanasiev, I'm sure I'm also not pronouncing his name right, but basically what it does like Ernani mentioned is something that can be used for hacking purposes, namely using proxies to access other sites, eventually overcoming some IP address limitations.
Sometimes I wonder if I should be commenting so much about these things that could be to perform some kind of evil, but the world is open, the information is out there, it's not because of that you should avoid mentioning it.
And this class by Stanislav, who is from Russia, and basically helps finding the proxies that are working well. There are many open proxies out there, and that class helps figuring the status of a proxy.
And for me this month I would like to mention actually the class that was nominated, the actual winner for this month, Digital Human by Jacek Lukasiewicz, again I'm sure I'm not pronouncing his name right.
He is also from Poland like Arthur, and he developed an unusual component, I mean unusual in the sense that it's not the type of component that appears in this PHP Classes site which is a simulator.
Basically it lets you simulate how a human body would work in very simple terms but quite functional, and while you abstract each part of the body, the head, the arms, the ears, the mouth, and it works by let's say propagating events and reactions from each body part so you can simulate how the human body works.
For instance, if somebody shouts something the ear will listen and communicate to the brain and the brain makes the mouth speak something, and it's quite interesting for research purposes, and I would like to welcome Jacek for having this very interesting idea and sharing it with us in PHP Classes site.
The good and the bad of PHPClasses site according to Lucas Carlson (58:30)
Manuel Lemos: And now practically ending our podcast, it was good to have Lucas with us.
Lucas Carlson: Thank you very much.
Manuel Lemos: Lucas, one final thing, since you are a regular, or at least you used to be a regular PHP Classes site developer I have this question I didn't comment on before with you, but we hope you are comfortable answering just a couple questions which are just to tell in your opinion one good thing about the PHP Classes site and one thing that you think is not so good and probably could be improved, what do you think?
Lucas Carlson: I think that the PHP Classes site does a very, very good job of letting people connect, letting people share and exchange and have ideas that they might not have had before, especially early programmers that are just learning how to do web development, it was a great resource when I was just starting and it continues to be so.
One area for improvement is I think that the Web site design might be in time for a new look.
Manuel Lemos: Yeah, do you mean in terms of visual or layout or what?
Lucas Carlson: Yeah, the visual. It hasn't changed a whole lot since the 90's and I think it's time for a big overhaul for that.
Manuel Lemos: Well, actually there was. I don't know if you probably were not accessing the site, but in 2008 actually it was launched in a 2009 contest on which each developer would be able to develop or be a web design to be able to propose a new design for the site.
And that contest happened in the end of 2009 and there were many proposals to propose a different design, and the current design is actually the winner of that award, that's why I was wondering if you meant to change the design.
Lucas Carlson: I guess, yeah, I should have been more explicit, I was talking more about the design for seeing the content, yes.
Manuel Lemos: Do you have any specific ideas?
Lucas Carlson: Yeah, not exactly stealing but what they've done over at GitHub has a very modern feel for how to view source code, and I think that borrowing some ideas from there might be a good idea.
Manuel Lemos: Right. That's exactly one thing that I've been reflecting about because the greatest difficulty is not changing it's changing where and determining what would be a good change is because change sometimes could be bad, could not be well received.
That's why in the case of the design contest it accepted proposals from Web designers that accessed the site, but that contest is somehow limited to the template, the main template of the site, basically headers and footers and CSS and graphics.
And as for the content, there is a challenge specifically in displaying packages, the type of pages that are more visited which is the fact that at least until now the site still need revenue generated by advertising, so you cannot make arbitrary changes without removing the advertising. And in the case of GitHub they do not live from advertising so they don't have that constraint.
But I agree with you, I kind of like the way they browse files, drill down directories and such, that's more Ajaxy interface. And I'm evaluating what can be done there especially now that I will start to be getting more contributions with larger packages which basically will add packages that will have so many files that probably will not be appropriate to install the files in the same page.
So I'm reflecting about that, I'm not sure exactly what I will do, I'm not sure if I follow the GitHub model, maybe I will maybe I won't, I'm still thinking about it, but thanks for the suggestion. It's not the first time that I get that specific suggestion of borrowing the GitHub design, so it reinforces that it's probably a good idea.
Ernani Joppert: Yes, and one point Lucas gave us, at least for my understanding, I got two major benefits from some of the ideas here. The one is benefiting from source control manager repository because then you can extract information from it and display it in a friendly way or either use it for deployment.
And the other one would be to benefit from a source code repository to display the packages within your Web site, so those are very nice suggestions.
Manuel Lemos: Right. Well, implementing such things takes time, and there are a lot of new ideas competing for the time that I have to develop them.
This year I have chosen to invest on things that promote the work of the authors better, which does not mean that I will not also work in other areas, but just to give an idea, this idea to support version control repositories to import packages, it's just one of several ideas that I have in mind to implement this year, and we'll see what time will allow us to implement.
Manuel Lemos: Anyway, this was yet another great podcast, I would like to thank you, Lucas, for coming and telling us about your great product, I wish you the best of luck.
Lucas Carlson: Thank you so much.
Manuel Lemos: And for all of those that are now more interested to try it, don't forget he has a promotion, a discount for those that send an email, can you please repeat the email address?
Lucas Carlson: PHPclasses@phpfog.com
Manuel Lemos: Okay, they will get a discount and is it a time limited promotion?
Lucas Carlson: Yes, it will be from one week from when the podcast launches.
Manuel Lemos: Okay. The podcast will launch this month of June, so go ahead and don't miss this opportunity to try this very innovative product from PHP Fog.
Well, for my part that is all for now, thank you Lucas for coming.
Lucas Carlson: Thank you.
Ernani Joppert: Yes, I would like to also thank Lucas for the time. I know that it may be very hard to find available time, and I wish you all the best and we are a very big PHP community and on behalf of everyone here I would like to thank you for providing such an innovative solution.
And we hope to see you coming through with a lot of success and a lot of scenarios to bring the power to PHP on The Cloud.
Lucas Carlson: Thank you so much.
Ernani Joppert: Thanks a lot.
Manuel Lemos: Bye.
Lucas Carlson: Bye.
Ernani Joppert: Bye, bye.