PHP Classes

JSClasses, JSMag, PHP Alpha 1, PHP strict typing, IndieConf - Lately in PHP podcast episode 4

Recommend this page to a friend!
  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog JSClasses, JSMag, PHP...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (1)  


Viewers: 5

Last month viewers: 1

Categories: Interviews, Lately in PHP Podcast, PHP community

On this episode of the Lately in PHP podcast, Manuel Lemos and Ernani Joppert interview Michael Kimsal from the WebDev publishing company.

They talked about JSClasses, the just launched PHPClasses brother site for JavaScript components.

They also commented on the OpenID based single sign-on system that was implemented to reuse PHPClasses accounts on the JSClasses site to avoid making current PHPClasses users to creating new accounts on the JSClasses site.

It was also discussed about the latest developments for the eventual PHP 5.4 Alpha 1 version, such as the support type hinting of scalar arguments versus strict typing.

Also covered are some initiatives of Michael's company, the JSMag JavaScript magazine (promotion coupon included) and IndieConf, a conference for independent Web professionals.

Loaded Article


Show notes

Podcast playback, download, RSS feed and subscribe in iTunes

Read the podcast transcript

Show notes

Click on the Play button to listen now.

Introduction music: Harbour by Danilo Ercole, 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.

Read the podcast transcript


Introduction (00:20)

JSClasses launched (2:14)

Single Sign-on with OpenID (11:41)

Upcoming Lately in JavaScript podcast (19:14)

PHP 5.4 Alpha 1 (22:20)

PHP Programming Award nominees of June 2010 (31:34)

The good and the bad of PHPClasses site according to Michael Kimsal (36:54)

IndieConf (43:15)

JSMag promotion (51:24)

Conclusion (56:05)

Introduction (00:20)

Manuel Lemos: Hello, welcome to the Lately in PHP Podcast.  This is Manuel Lemos the regular host of the Lately in PHP Podcast, and I have here as usual my regular co-host Ernani Joppert.  Hello, Ernani, how are you doing?

Ernani Joppert: Hello, Manuel, I'm doing great, thanks to be here again and welcome everyone.

Manuel Lemos: This episode will be a special one because we will be announcing a new site that was just launched, and to talk about it I have here Michael Kimsal our guest.  Hello, Michael, how are you doing?

Michael Kimsal: Hello, Buenos Dias, I'm doing great, thank you.

Manuel Lemos: Okay, you can speak in English. 

Michael Kimsal: Gracias.

Manuel Lemos: De nada.  Well, Michael, I know you for a long time, you are a long time PHP developer, but I suppose not everybody knows about you.  Can you speak a little about yourself or your projects?

Michael Kimsal: Sure, well, we got a lot. I have been a PHP developer for a long time, actually starting in January or February 1996, I've seen a lot of changes there, but I've done a lot of other things in the past 14, 15 years, Perl, ASP, a bit of Java, I was talking with Ernani earlier, I like Groovy as well, but the past 15 years have all been in Web development, so I try to keep my finger in a lot of web development things.

But when I'm not developing I published some publications on JavaScript, in Groovy, and just try to be doing a lot of things. I run a PHP group in our area as well, too, so it keeps me very busy.

JSClasses launched (2:14)

Manuel Lemos: Well, your relation with JavaScript, you have JavaScript Magazine, is the main reason why I invited you to this specific episode of the podcast because I just launched finally JSClasses which is basically a repository site derived from PHP Classes site, and it will be basically the same thing except that it is dedicated to JavaScript components.

JavaScript is a very popular language. It's becoming an even more popular language mainly because it is starting to be used for other purposes besides the web browsers, web pages, and Michael has this magazine, JSMag, and with which he is also participating in PHP Programming Innovation Award as a sponsor.

Michael Kimsal: Yes, yes.

Manuel Lemos: You are giving away a subscription at JSMag, and I think it will be interesting if you could give also an overview about that magazine.

Michael Kimsal: Oh, sure.  Well, it's very similar to some other publications that the people have seen, there's a couple of PHP magazines, PHP Architect, and there was an international PHP magazine.

They're similar content and format in terms of monthly PDF, but we try to bring in a balance, try to skew it a little more towards advanced sorts of JavaScript things or newer cutting edge sorts of JavaScript things.

If it's just, "hey, here's how to use a variable" we try not to do too many of those sorts of things, though having some content that is for JavaScript beginners.

JavaScript is one of those things that a lot of people don't have a formal introduction to, they just start copying and pasting, so we try to get people in sometimes that will do sometimes in terms of articles more formal introductory pieces about here's how to get started in programming or here's how to get started in this framework or so on and so forth.

It's been an interesting -- we've been doing JSMag about a year and a half, and it's interesting to see what's changed over just that time period in terms of JavaScript, there's been a huge push into mobile, the Smart Phones and mobile devices, JavaScript is playing a huge role in those and in the battle against Flash and all that, just so many changes, and they're not really technical changes, JavaScript is JavaScript, they tend to be more political changes, one company adopting JavaScript maybe as a political offensive weapon against another company, not naming names, but seeing how this is going to play out over the next several years is really interesting because no matter if you're doing PHP like we all know and love, or Java or Ruby, whatever you're doing on the back end you're doing JavaScript on the front end, it's not going away.

Manuel Lemos: Right.  So how is it coming in terms of subscribers to your magazine?  Is it growing? How is the JavaScript market in general?

Michael Kimsal: Ah, I wish it was growing as fast as the JavaScript market in general.

It has been profitable for a long time, and we -- slowly every month the numbers go up a little bit, there hasn't been a huge spike, hasn't been a huge hockey curve, so to speak, but it's at the same time if there were rapid up and downs I wouldn't like that. I prefer slow and steady, there's profit, let's keep it going.

Manuel Lemos: Yeah, but I think that's every subscription business works like that.  Well, that is my experience with premium subscriptions of the PHPClasses site.

But back to our main subject which is the launch of the new site, as I was saying, it will be mainly to publish JavaScript components, and I say JavaScript components because in JavaScript there is not exactly the same concept of classes as in the PHP and other languages.

Well, anybody can contribute to their own PHP objects, let's call them so, I mean the JavaScript objects, I mean the components that will be allowed to be submitted.

It's the same concept as PHPClasses, it won't accept just scripts of global code. It will only accept some form of encapsulated component which in PHP is a class and in the case of JavaScript is an object.

And other than that everybody will be able to contribute. And about the reason to not allow regular global code, components that are made just of global code it's a matter of promoting their usability by not forcing, by avoiding people to use code that classes global variables and global function names, and this has always been the reason why the PHPClasses site enforces this rule.

Once in a while I've got some users upset because I'm rejecting their components for not complying with that rule, but I hope they understand that it's for the greater benefit of promoting reuse.

Michael Kimsal: I was just going to say I think the timing of the idea of JSClasses and the release of the site is interesting because we're in a -- I think we're in a period now where JQuery kicked off a sort of resurgence or a rebirth of client-side JavaScript in terms of making it very easy and accessible.

I've said to many people JQuery to me is the PHP of JavaScript in that it makes it very easy and accessible for people, and people can do very powerful things very quickly with just a few lines of code.

The downside is that oftentimes people are copying and pasting code and not quite understanding what it's doing, and the more that you copy and paste, I'm picking on JQuery here and I don't mean to, but I've run into this.

I took over a project last year where there were three different things, functionalities, that had been copied and pasted into a site, and on some pages there were three different code snippets that were being included, and none of them -- they were clashing with each other. In one case one was Prototype and two were JQuery, so there were clashes going on, that's just one example.

But I think we're getting to the point with the rebirth of JavaScript being treated as a real profession, front-end engineering being treated as a real profession, where the idea of reusability and the idea of strong standards is becoming a lot more apparent to people, where if you just did some JQuery two or three years ago that was fine, but if you've been trying to add on and maintain it over the past few years, past two or three years, you probably have run into issues, and again, not just JQuery, but maybe ExtJS, Sencha, or YUI, or whatever.

The idea of reusable components is something I think some frameworks will make it easier than others, or they do make it easier than others, Dojo, for example, has more of a reputation of allowing you to write code that is more easily reusable, for example, than just raw JavaScript.

So having a place where these come together, and I'm hoping that you'll allow people to tag or categorize this component is intended to be reused in Dojo, this is intended to be reused in YUI, and so on.

Manuel Lemos: Well, there are certain things that are very specific to JavaScript that would not exist in the PHP world, and I have a general categorization system, it can assign one or more categories to each package, and I probably assign one category to components that are related to certain frameworks.

I have not thought of that idea, but I will reflect a bit about that. I don't have that in the PHPClasses site, like I don't have a category for Zend framework components, but there are some components there meant to work together with Zend framework. That will be something that we'll think about.

Single Sign-on with OpenID (11:41)

But moving on, another topic related with this site, something that was what took most of the development for this new site was the single sign-on system that was implemented.

The site is basically the same, there are very few differences that I had to implement some code to use one configuration or another to make the necessary distinctions, but those are very few minor changes that I had to make.

The main cost of development of this new site is that I wanted the users that are already in PHPClasses site, they already have accounts, to not have to register again to access this new site.

So I implemented a single sign-on system that is basically implemented on top of an OpenID protocol implementation that I have developed from scratch, so it's 100% code that I wrote following the OpenID standards.

But that just is the protocol that I used. What I want to make clear is the fact that I'm using OpenID does not mean that you can use your OpenID account of some other site in the PHPClasses or JSClasses sites. It is not meant to share accounts created elsewhere. That's mainly to avoid making it easier to create bogus accounts that could be used to spam the site.

On the other hand, each user now has an OpenID account of these sites which are hosted under which is the central site to manage the accounts.  You have an OpenID account URL but you won't be allowed to use it elsewhere. It was not the purpose of this project so I decided to not support that possibility.

Anyway, I will not get into much details about the OpenID implementation because it's a complicated protocol.  Ernani, you are familiar with this single sign-on protocols, right?

Ernani Joppert: Yeah, Manuel, I'm familiar with some solutions from IBM which is the Tivoli baseline of our products, and they are very common in the sense that they are all based on SAML language, and exchange over information and federation of users, but other than that they are pretty much doing the same thing which is basically handling cookies between one site and another.

And, yes, this is an interesting approach, and I feel that any user, any developer or owner of a web site who wants to maintain the standards and maintain the user should adopt such solutions.

Manuel Lemos: Right.  Well, it was quite hard to implement this, but hopefully since I have already all the trouble to develop it from scratch sooner or later, it's just a matter of time for documenting it, I will release it as open source because I have sort of developed several wrappers to make it easy to integrate with applications.

There are several OpenID libraries out there. Most of them are sort of inspired in the JanRain implementation which is probably the most complete implementation of all aspects of the protocol.

I have not developed a complete implementation because I don't need all the aspects that were anticipated in the protocol specification, but I decided to develop my own implementation because I would have greater control of how it integrates with applications, and if I have to implement any nuance, not in the protocol but in the implementation, it will be easy for me to control, other than that the JanRain implementation I found it quite difficult to understand.  Mike, did you look at that code?

Michael Kimsal: I did.  Well, I tried to use it a couple of years ago.  I did a demonstration on it and I could use the sample code, and the sample examples, but beyond that it was fairly dense to understand and to say let me just take this one piece or let me adapt this for use on my site.

It's not that it's impossible, and as you say it's very complete, but it's also very -- I think it's difficult for an average developer to just say they want to take that and use it.  And I think we see that now with people putting on buttons like putting on a Facebook connect button or putting on maybe a Google connect button or things on their blogs.

Unfortunately when it's harder for people to implement their own OpenID stuff we end up being at the mercy of some of these larger companies that hide a lot of complexity with a one-line drop-in JavaScript button.

Manuel Lemos: Yeah.  Well, the JanRain implementation exists not just for PHP but also for other languages, and looking at their code I got the impression that they probably did it for Java and imported to PHP because the coding style is very similar.

Everything is a class. There is a class for very simple data structures with just a few variables, and I think at least for my own style to be quite a needless approach, but since it seemed to me that they have converted it from some other language, probably Java, I could understand why they did it.

Anyway, I hope I did a better job in terms of simplifying the process or else I'll probably be a masochist trying to follow a complicated approach, despite my implementation is not simple. But I will release the code later when I have more time to document it and people will be able to judge it, well, as usual I will release it in the PHPClasses site.

Michael Kimsal: Makes sense, you got a built-in audience.

Upcoming Lately in JavaScript podcast (19:14)

Manuel Lemos: Right, you have to take the return on the investment.  Other than that, also about JavaScript I already talked with Michael, now that I have started a new site we were thinking about also having a podcast about JavaScript.

We have not discussed much about when we will start it, probably early next month, what do you think Michael?

Michael Kimsal: I think generally I'm in favor of it, it's a good idea. It will probably be an issue of scheduling more than anything else.

Manuel Lemos: Right.  And it will be basically the same style of this podcast, it will be eventually called Lately in JavaScript, and the idea is to cover some news about the JavaScript world, and also talking about anything that may be new in the JSClasses site just like we are doing here in the Lately in PHP Podcast.

So, I think we pretty much covered this topic on the new site, I hope we start getting many contributors now that I've just started it.  I don't expect it to reach the level of participation of the PHPClasses site anytime soon. It will take some time to build a large audience like the PHPClasses site has which is now 900,000-plus accounts and has almost near 3,000 contributors which is quite a lot.

We'll have to be patient, it will take some time.  I'll be submitting many of my own JavaScript components, and Michael if you have any components to submit feel free to do it.

Michael Kimsal: If I have anything I will.  I'm thinking if there's anything I have that's worth contributing.  I'm mostly a publisher these days, I don't write much that is worth -- really when I'm not writing, when I'm not publishing, I'm coding but I tend to reuse other people's things more than write my own with JavaScript.  I trust other people's experiences with JavaScript more than my own, let's put it that way.

Manuel Lemos: Yeah, it's a matter of also being efficient, not reinventing the wheel.  I also will not make my own components on purpose just to publish, what I'll publish is just components I have already developed in the past.

I have started publishing a class for performing simple animations of the elements in web pages, I have a few more to contribute and soon we'll start seeing more and more classes by other contributors.

PHP 5.4 Alpha 1 (22:20)

But moving on with our podcast and talking about now things really on PHP, I wanted to comment about a few things that I have been noticing in the development of PHP, specifically there are mentions about an eventual PHP 5.4 Alpha 1 which is the first attempt to define what will be the next main PHP release.

They are still not decided whether they will call it PHP 5.4 or PHP 6 because there are some -- it's not a consensual subject, but from what I could gather there are a few interesting features that are already being implemented, they are already in the SVN trunk.

And from those that I noticed there are a few that are very interesting regarding the type hinting which some people want to turn it into strict typing.  This is a subject that is not really consensual, some people are really against implementing strict typing in PHP, and to make it clear for people that are not aware of what this means, strict typing means checking the types of the parameters that are passed to functions, global functions or class functions, to check if they have the right type.

PHP so far had what they call type hints which are basically hints that you can put in your code to tell PHP that you expect objects of certain classes or arrays, and what is being headed now is also the support for scalar types like integers...

Michael Kimsal: String, like a string or int or float.

Manuel Lemos: Yeah, and well there have been some interesting discussions because some people want to actually throw an error, something that would be fatal if the type is not correct, and from what I could gather there are a few people that are strongly against it because imposes a certain performance penalty, and on the other hand there are people that would love to have strict typing, at least for function parameters, in order to be able to detect eventual bugs caused by code that passed the wrong values to the functions, and this way detect bugs that otherwise could cripple an application when it goes to production.

I don't know what do you think about this service, are you against or for it?

Michael Kimsal: I'll jump in.  I'm not sure if I'm for or against it.  Personally with type hinting I had so wished that if they were going to have done it when they introduced the idea of hinting of class types for parameters I really wanted those to be -- I wanted it to throw exceptions and it didn't, and for a long time it was just a fatal error.

And so to me my phrase was it's not a type hint it's a type demand, because if you didn't fulfill it everything just died.  And then the solution when you got an error quote was to make it a catchable fatal error which still introduced yet another error type.

Manuel Lemos: You mean a warning or would it still throw an exception?

Michael Kimsal: No, right now it used to throw -- I shouldn't even use the word throw, it used to trigger a fatal error and now it triggers a new error type called catchable fatal error which you can still trap with the traditional set error handler code.  But I really wish that they had made that into exceptions.

Manuel Lemos: But can it resume?

Michael Kimsal: Yes.  Yes, it can.

Manuel Lemos: So it wouldn't be fatal.

Michael Kimsal: No, but it's still dealing with it with the old style of error types in PHP instead of exceptions.  In PHP 5 I really had hoped that parameter, if we're going to do type hinting, that it would've thrown different actual exceptions that we could catch.

And if we move into the type hinting for scalars, like strings and hints and stuff like that, I have a feeling they'll keep the same error handling that they have now.

To me as long as it's optional I don't particularly care, I guess I would like to see the option of saying yes this needs to be a string, this needs to be something else. I teach this and it's hard to explain to people coming from other languages sometimes why you can type hints an object and you can type hint an array but you can't type hint a string or a float.  So having more consistency I think would be a good thing, again, as long as it's optional.

Manuel Lemos: Right.  Well, the truth is that this is not exactly like in other languages.  For instance, in Java if you have a type mismatch it will detect it at the compile time, so the reason why people are so strongly against it is that they actual effort to check the type at run time will impose a penalty in the performance.  Ernani, you work mainly in Java, what do you think? You also work with PHP, what do you think to have some kind of control of types passed to functions in PHP?

Ernani Joppert: Yes, Manuel, one of the details of Java that I really like is the way everything is built on top like the strict typing being forced.  Sometimes in the beginning when you are getting acquainted with the language it seems harder, but when you get used to it, it really helps following the design standards, design patterns, known from the object oriented world.

So I would vote for this feature to be there, and making it an optional feature should also attain the demand of existing coders and don't impact them in the situation.

Manuel Lemos: Right.  Well, I don't know what will be the best solution.  Probably making it just a warning that is catchable or maybe make it a run time option to trigger exceptions or not will be a solution that will please both people that are against or for it.

Michael Kimsal: I guess one other thing on that very quickly, Ernani had said that he used Groovy, and one of the things I like about Groovy is that I can -- what I'm hoping for in PHP when I'm passing parameters I can type them in my methods, I can define types if I want, I can put the type hints string, object, whatever, or I can leave them out, it's completely optional.

And even though in Groovy it's checking at run time so there is still that performance, but it gives people the choice essentially.  So as long as it's done in PHP and it's optional I don't think it will be that much of an issue.

Manuel Lemos: Right.  That is what I had in mind but we'll see what will come out from this discussion.

There were other interesting features that they are planning for the coming PHP version. Once they get to a conclusion because nothing is permanent until somebody submits code that is agreed,  we'll get back to this subject on the next episodes.

PHP Programming Award nominees of June 2010 (31:34)

Now moving on a bit to the end of this podcast that will be a little shorter than usual, we have a section that we will talk about the nominees that were voted for the PHP Innovation Award that the PHPClasses site organizes every month, and we'll comment on the nominees of June that were voted in July and the results come out in August.

Any classes that you think should be worth mentioning Michael?

Michael Kimsal: Well, really I was -- I have to say when I look at PHPClasses in general, and there's two here that stand out to me, the Nodal Analysis and Hilbert Curve, and specifically because they're both way above my head.

It's amazing that people have very narrow needs or interests and write code and contribute, to me both of those stand out just because of the very niche specificity that's there.  I feel stupid sometimes when I look at some of the complex and very specific things that people contribute to PHPClasses.  I didn't even know that existed in the world and somebody's written a class to manage that, so it's humbling in a way.

Manuel Lemos: I think you probably should go and check all the previous nominees because those are really amazing.

This is basically a reflex that PHPClasses site is the long tail of the, how would I put it, the sites contributed components. Since it has almost 3,000 contributors, by now you see classes for practically most purposes, and like you mentioned, it's amazing somebody does classes.

Ernani, any other classes you would like to mention?

Ernani Joppert: Yes, pretty much this one that Michael pointed out does an amazing job here by expressing how people can contribute and diverge from the general idea of the usage of one specific scripting language.

And the other one would be, I'm not sure here, but there are several ones. I would say it's hard to pick one because the amount was not that low, so I encourage a lot of users to contribute more.

But I would say most of those are to get attention from because sometimes you need to perform a date calculation, sometimes you really need to monitor size of files, sometimes you need to access multiple MySQL servers, so it's hard to pick one in specific.

The one that just brings a lot of attention for me is the one to control home electronic devices because this one brings out the geek inside of me, and I guess this one would be the one that I would pick as well.

Manuel Lemos: Right.  Well, for me I have to tell you that since I have to nominate the classes every month I am aware that this particular month was a weak month. It only had six nominees. Sometimes it will go up to 14, and that's probably because it's summer time, at least in the North hemisphere.  And probably people were busy or on vacation and did not meet many innovative classes.

But it's amazing that despite it's still summer time, actually August is a month that most people go on vacation, in August I'm having a record number of contributions. I am having to approve three classes a day which is quite time consuming.

But back to this month that we are commenting on now which is June, one that I would like to comment because I have some affinities, that one Nodal Analysis, electronics engineer, in spite I do not practice this, I know that it is a complex subject, and I think it's great that somebody submitted a class for this purpose.

There are other classes also interesting, but from those that I've seen this is probably the one that inspires me most because it's quite complex.  And I think I pretty much covered all that I wanted to mention about this.

The good and the bad of PHPClasses site according to Michael Kimsal (36:54)

Now, reaching the end of the podcast as usual we have this section, since we have a guest, in all episodes that we have a guest, I invite the guest to comment on one thing he likes in the PHPClasses site, and another thing that he does not like. Michael, what do you think?

Michael Kimsal: Oh, boy.  Oh, boy.  I'd say the elephant logo, but that might be too easy.  One of the things I like, and I have to say I don't remember exactly when this happened, but I like that there's a newer design, I like the top header bar in general, this is cleaner, I don't know if it's the icons or what, but it feels cleaner than it used to be, and I'm going -- I've known PHPClasses it feels like for eight or nine years now, and I remember back many, many years ago and it definitely looks like things have been cleaned up some.

Probably maybe I'll say two things, one is a bigger search box, that would be my one thing that I maybe don't like, I'm used to maybe a little wider or having the box be on its own area, or maybe closer to the top somehow.  I guess if you're asking me to pick something that would probably be the main one.

Manuel Lemos: Well, regarding the design, I think you are not such a frequent user of the site, so probably you are not aware there was a design contest last year and the users of the site were able to submit proposals to redesign the site.

Michael Kimsal: Now that you say it I do remember getting something about that, so, yes.  And then that confirms that this is a fairly recent change.

Manuel Lemos: Right.  Well, that is something that I wanted to do for probably eight years now.  I wanted to allow the users to actually submit designs that they considered better because I have been having consistent complaints, and I never claimed to be the best designer in the world, actually I'm not a designer, I'm considered to be just a developer.

But since this site was mostly done by me, for a long period of time that was also my responsibility, and last year I finally decided to -- actually it was not last year I started an initiative to allow users to submit new design proposals, and what it turned out to be was a contest that had many participants and there was a vote, so the final design was picked by the users.

It was something totally contributed by the users, the users submitted proposals.  The users could view how the site would look like with the proposed templates and graphics because it was not just send me a Photoshop file just to see how it would look. The contestants had to submit templates in CSS and icons.

Michael Kimsal: Good idea.

Manuel Lemos: And it turned out quite well because the users, which are actually designers, were quite involved.  There was a money prize for the first winner, and there were also smaller prizes for other winners, but it was interesting that in the end it prevailed the will of the majority of users that care.

Not every user voted, but those that cared they voted, and it turned out to be a good initiative.  It took me a lot of time but I think it was worth it, and to prove that you mentioned that you liked the final result.

And other than that, the other idea that you commented on having a wider search box, I think it's feasible.  I did not think that could be an issue, but that's why I ask people for criticism. I love criticism because it helps me to improve stuff, and right away I think I could eliminate a few icons.

There is an idea to implement a menus based navigation bar, but I have to do it in a way that it will still be crawlable without JavaScript, but I think I could sacrifice, for instance, this newsletter icon, that newsletter entry in the navigation bar in order to make more space for the search box. And if you thought that could be a good idea I'm sure other people will also like it.

Michael Kimsal: It would be interesting to maybe try to alternate the header for different people, do an A-B test of some sort and see if you get more engagement, if you get more searches with the bigger box.

Manuel Lemos: Yeah, that could be an idea.  My only problem with those ideas is that they always take me time, and I have to implement them, I have to sacrifice on other things, but I will keep that in mind.

If it took me six or seven years to decide to move on to provide a redesign system for the site, sooner or later I'll probably do that, so please be patient but I'll probably do it.

IndieConf (43:15)

Okay, thanks for the comments. I feel that they are valuable, so they are well appreciated.  Other than that, we are finishing our podcast, Michael, I think you probably have something else to comment on not necessarily related to the podcast, anything else you would like to mention?

Michael Kimsal: I actually have two if you don't mind.  I'd appreciate you giving me just a few seconds here.  I mentioned a conference mentioned to you, and I'd like to have a quick shout out to people listening.

I'm organizing something called IndieConf and that is, that is happening in the Raleigh, North Carolina area, Southeast United States, in November, November 13th.

And this is a conference that -- I'm organizing a tech conference, web conference, that is focused on bringing the business side of freelancing together with some technical.

I've been a freelancer for three years, I enjoy going to tech conferences, but rarely do I get -- I see a lot of, "here's the latest MySQL tool, here's the latest PHP stuff, here's the latest CSS stuff" and that's great but it doesn't help me get clients, it doesn't help me market, it doesn't help me with my bookkeeping, it doesn't help me with my legal and contracts, it doesn't help me in the business side.

So I'm organizing something. I've got some tech people, I've got some great tech people coming and giving presentations on web and CSS and some geek stuff, but also I've got some attorneys coming, I've got some financial people coming.

We're trying to get a mix for people who are independent to come and get something to help them make their business grow, and whether that's just to get more clients or maybe to start maybe hiring an employee, so they were independent and they want to take the plunge and start hiring people, how do you do that? That's what the conference is going to focus on.

Manuel Lemos: Sounds interesting.  When will it happen?

Michael Kimsal: November 13th in Raleigh, which that's a Saturday.

Manuel Lemos: So by now you already have your schedule planned.

Michael Kimsal: We've got about half the schedule planned.

Manuel Lemos: So there is no longer a call for papers or is it closed?

Michael Kimsal: Well, there actually is.  I'm opening up until the end of August.  If somebody goes to there's a link for submit, and I've got probably another. I don't know how many proposals to go through, I think I've got another 15 or 20 that have been submitted, and we've got about eight slots left.  So I'm definitely, I'm having to cut a few things so far but it's still open, I've got half the speakers chosen, half are still open.

Manuel Lemos: Oh, are those speakers sort of paid or have their costs covered or is it pro-bono?

Michael Kimsal: Some of this it will end up depending on how many sponsors we get.  Anybody who's listening that would like to sponsor please reach out, but right now we're planning a small stipend per speaker, it may go up, but it will likely be enough at least for speakers in the area to drive in and cover hotel and probably some other nominal costs.

Manuel Lemos: Are you looking just for national, I mean speakers from the U.S. or international speakers?

Michael Kimsal: Ideally it's open for people anywhere, though I think because of the travel expenses probably somebody from Brazil, for example, it might be expensive to come up, but at the same time, Ernani, if he ever gets his passport thing sorted out and would like to come up we'd certainly like to have him there.  Or perhaps yourself, I don't know if you were thinking of yourself coming up.

Manuel Lemos: Well, for me if you tell me in advance something, "we'd like to have you here and you can cover the expenses", that will be fine as long as you tell me in advance, but when I asked it was not really thinking about myself, although it's a possibility, I was thinking about other speakers that are listening to this podcast that are not necessarily from the U.S.

Michael Kimsal: Really, we're open up to everybody, and if there's somebody that has something strong to contribute I'll see what we can work out in terms of reimbursing some expenses, so I don't want to say no to somebody just because of that.

It's really a case of other conferences often, I go to the CodeMash Conference sometimes, and I think they had 600 submissions for about 70 slots to speak last year, so I know what it's like to get too many good submissions.

Manuel Lemos: So how many submissions do you have so far?

Michael Kimsal: Well, right now I've got -- there are I think eight slots filled, there's another eight or ten slots open, but I was saying I've got I think it's around 20 right now, so right now it's just two-to-one, but I'm expecting more in the next week before we make final decisions.

Manuel Lemos: What about sponsors, what do they need to do?

Michael Kimsal: There's actually a link on the site if anybody would care to sponsor.  We're certainly looking for cash sponsorships. We're open to some media sponsorships as well.  We have Github on board as a sponsor, we have Microsoft on board as a sponsor, and we're talking to some other companies who shall remain nameless right now.

Manuel Lemos: Are you organizing all by yourself or are you hiring some company?

Michael Kimsal: It's primarily by myself.  This is my first time doing something like this, so I'm learning some things though I have talked to other people that have done this and watched what they've done, and I've gotten a lot of great input from people like Michael Neal at CodeStock, and Rebecca Murphey from the Texas JSConf.

So I have some great minds that I can use and lean on, but it's definitely a fun experience so far I have to say.  I'm looking forward to actually pulling it off.

Manuel Lemos: I've tried to help, at least not organize all by myself, but at least help organize some PHP events, and I got so tired that I'm moving completely away from that by now, but if you are enjoying it then probably you have a vocation for that.

Michael Kimsal: So far I'm enjoying it, we'll see on November 14th.

Manuel Lemos: Well, in my experience is it's all very stressing because by the time it reaches near the day of the event you have to make sure everything is working.

If you are paying expenses for speakers you have to make sure that they get their tickets and also I don't know if you receive money in advance from the sponsors or they will pay it later, but in my experience is that often it happens later it's very stressing because you have to put some money from your pocket hoping that it will be covered by the sponsor.

Michael Kimsal: Yep, I'm facing all that right now, so it's exciting, again, there's stress definitely but it's been exciting so far.

Manuel Lemos: Well, what I can tell you is I really sympathize with your initiative and the PHPClasses site has many sponsors who basically for the PHP Programming Innovation Award. I can put you in contact and hope for you to get the maximum amount of sponsorship money in order to get you more money to get even more great speakers.

Michael Kimsal: That would be fantastic. I'd appreciate that, thank you.

JSMag promotion (51:24)

Michael Kimsal:  Oh, and I guess one other thing that I wanted to throw out here, and in terms of offering something to people listening to this, anybody listening to this, this is probably their first taste of JSClasses, this is the first time they've heard of JSClasses.

And I think to get people in the mood for JavaScript, I run JavaScript Magazine, anybody that registers at JavaScript Magazine and then redeems the coupon code ******* (editor note: listen to the podcast to discover the real coupon code), which you're only hearing about here on this podcast, will get a free issue of your choice.

Manuel Lemos: That's great.  This podcast will be transcribed; can we mention it this in the transcription?

Michael Kimsal: Please, that's fine, that's okay.

Manuel Lemos: Well, the more subscribers the better, right?

Michael Kimsal: Certainly.

Manuel Lemos: I gave it a brief overview of the magazine topics.  I felt they are really advanced which makes the magazine quite interesting.

Like you mentioned before, it's not just a magazine, just how to write simple snippets of code. It's something more advanced, and I hope you keep it up.  You also have the Groovy magazine that you are working on. I think it's amazing because I'm not sure what is the size of the Groovy market.

Michael Kimsal: Small.  Very small.

Manuel Lemos: That is what I thought, but now that you mention it I think it's amazing that you are still investing on that market, and I hope you can keep it up because it's quite valuable.

Michael Kimsal: So do I.

Manuel Lemos: And are you doing all this all by yourself or do you have some people to outsource?

Michael Kimsal: Oh, goodness, no.  I have some amazing writers, people submit, sometimes they just write one piece, I have people who contribute articles on a monthly basis, I have some fantastic editors who do work, and I've had some great ones in the past, I have some great ones now, Ryan McGrath, Sarah Onstein, and Kelly Roberts, and then I have two really amazing people who do the production layout for me, Sarah Smith and Rebecca Murphey of JavaScript fame; she handles some of the mechanical, the actual production of JSMag.

So I have a tremendous team of people that help me with a lot of this stuff, I could not do it on my own.

Manuel Lemos: Right.  One thing I was thinking, once we start the Lately in JavaScript podcast we can cover the articles that we think that are more worth mentioning. And so we will get back to the subject in that podcast. But just to give full information to the readers, are you paying any sort of compensation to contributors that submit articles?

Michael Kimsal: Oh, yes.  No, no, no, we pay, we pay the writers, we pay the editors, and I pay the layout people.  It's usually not a very large amount, and I don't know what's large for people, but people keep the copyright on their own piece.  Depending on the size of the piece and to some extent the topic, it's generally anywhere from $50 to $150.00 per article.

Manuel Lemos: Well, it's a nice sum.  I think it's not amazing, as I said, but for people that are looking forward to make some extra bucks could do some interesting articles for you.

Michael Kimsal: Yeah, if it was something that they were -- a lot of people that write it's topics that they want to explore on their own, they want to learn more about a particular JavaScript library, for example, they're going to do the research anyway, and they might write up a blog post, but typically some of those people will send their articles in.

And the other interesting thing is that some people are really good writers, other people aren't.  We have everybody work, they do back and forth with an editor who works on style, sometimes they'll make sure that the code works, so there's a review process that you don't typically get with just a blog post going out.

So for people that want to get better at their writing, and I've seen some people get really good at their writing over the past year or so contributing to both JSMag and other publications. So if you're just saying I want to throw something out and make a couple bucks we're probably not as interested in people that want to do this and get better themselves.

Conclusion (56:05)

Manuel Lemos: Right.  Well, I'm sure we will get back to the topics of the magazine and how to contribute in the Lately in JavaScript podcast.

As for this podcast I think we are mostly over.  Ernani, I don't know if you want to comment on anything that we've been talking about, you've been quite quiet.

Michael Kimsal: I've been taking all of the time, sorry, Ernani.

Ernani Joppert: No problem.  I've been enjoying a lot here this episode, and I guess I've been frozen on the front-end side because I've been changing here and there and checking other solutions as Adobe Flex and other potential diversions that the JavaScript world will take, but I feel like those frameworks, like JQuery and everything else, seems a lot, and having someone do the effort as well as a decent publication and decent writers should be really encouraged and I've been enjoying a lot.

Although I've been away I've been appreciating too much to be here, and I wish you guys all the best on your end, of course, and that's all.

Michael Kimsal: Thank you.

Ernani Joppert: You're welcome.

Manuel Lemos: And I also agree with Ernani, it was very interesting. Several topics that you mentioned were not exactly planned, but they were interesting regarding the aspects of your work, your publications and events.

And I'm really glad that you accepted the invitation to participate in the Lately in JavaScript podcast and I'm looking forward to it.  Other than that, anything else you would like to comment on before ending this podcast Michael?

Michael Kimsal: No.  I want to say thank you, both for the invitation, thank you for having me here, thank you for letting me go off in other directions.  I'm sorry I couldn't be here, I feel like I have needed to potentially cut this short a little bit, but thank you for accommodating my schedule as well, too.

Manuel Lemos: You're welcome. It's me the person that has to thank.  And I think we are done, and I would just like to invite everybody else to comment on this podcast, and also submit suggestions for this podcast of PHP and the other about JavaScript.

You just keep an eye on site too, and I think that's all, so for now bye, bye.

Michael Kimsal: Bye, bye.

Ernani Joppert: Yes, bye, bye, everyone.  Bye, bye.

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

Login Immediately with your account on:


No comments were submitted yet.


1. Lately in PHP podcast Episode 4 (Michael Kimsal) (2010-08-30 08:44)
On today the latest episode of their “Lately in PHP” podcast has been posted - among other things, an interview with Michael Kimsal from WedDev Publishing...

  Blog PHP Classes blog   RSS 1.0 feed RSS 2.0 feed   Blog JSClasses, JSMag, PHP...   Post a comment Post a comment   See comments See comments (0)   Trackbacks (1)