Download Size: 30MB Listeners: 1513
Introduction music: Riviera by Ernani Joppert, São Paulo, Brazil
RSS 2.0 feed compliant with iTunes:
Note that the timestamps below in the transcript may not match the same positions in the video because they were based on the audio timestamps and the audio was compacted to truncate silence periods.
- Web Platform documentation site
- Discussion on Classes in EcmaScript 6: Good or bad?
Using Object Properties (13:30)
The Web Platform site (31:37)
Upcoming Articles of the JSMag magazine (58:36)
Michael Kimsal: I'm just messing with you.
Manuel Lemos: Hello, Michael. How are you doing?
Michael Kimsal: Good morning. I am too legit to quit.
Manuel Lemos: As always.
Michael Kimsal: Yes.
Manuel Lemos: So Michael, well I was curious about how did it go with your independent professionals conference?
Michael Kimsal: Indiconf after all that. All that hullabaloo and all that build up, I think it went well. I had meant to send out a survey this week to people and kind of got... I've been playing a lot of catch up over the last couple of weeks both between the holidays and then some other work.
But overall we had very minor problems this year compared to last year. Numbers wise, I think it was a slightly more attendance this year, more people stayed. I got some comments from people that even at five o'clock in the evening, there where still probably 90% of the people that were there, that were there at the beginning of the day.
People stayed throughout the whole day which is good. So overall it was good. There's a lot of work and it's really only been the last few days that I've been decompressed from it.
Manuel Lemos: Yeah. You look tired I think.
Michael Kimsal: Gee, thanks.
Manuel Lemos: Like you've been sort of giving birth to your own baby after months of preparation.
Michael Kimsal: That and I just got a haircut on Friday too so it's been tough all around.
Manuel Lemos: Well, on my part I've been also working very hard on something. I actually almost mentioned it in the previous episodes regarding the new system of levels and missions for users of both PHP Classes and JS Classes sites to engage and have more fun, but on that I'll be going to get back a little ahead in this show because it ties in with the sections regarding the contributions done to the site.
Basically I like actually to start by sharing a discussion here. Let me just look at it on the right page.
Michael Kimsal: Is it the one from the chat? Is that the Quora link you've got?
Manuel Lemos: Yeah. That's just one discussion actually I participated in it.
Michael Kimsal: I can't tell when that question is from.
Manuel Lemos: Yeah. That's one problem of Quora, but let me share it first here and try to increase the font because it's not very large. Not that people will be able to read it much.
Michael Kimsal: Yeah.
Michael Kimsal: Here we go.
Manuel Lemos: At least for me Quora is requiring me to be logged in in Facebook.
It could be well, because other languages have them and that is an answer and it's maybe not a good answer, but I think it's deeper to me it's deeper than just... well those other languages have them.
Manuel Lemos: Yeah.
Michael Kimsal: So I think I repeated myself a couple of times. To some extent that answer is just well because other things have it, but just because they have it doesn't mean Basic have that statements, we don't have those anymore, unless you're using Basic. But there's a unification on that and I think standardization of thinking that would be beneficial.
And I cannot say that I am the common case because I suffer from the NIH syndrome, Not Invented Here. And I ended up developing a lot of my code and I feel the need to have subclasses.
Not that I'm not able to do whatever I need, I could do it but it's still sort of an emulation. Well, there is a discussion about this.
And so do we dumb down a language to as dumb down, maybe seen by some as dumb down, but you broaden the ability in the language structurally or syntactically to let less talented people such as myself get more stuff done or should remain... I mean, really it comes down to it I want to be productive in that too and I can't wrap my meager brain around all of the things that you need to do when I already understand how to do it in a different language or multiple different languages.
Manuel Lemos: Well, I would not say that you are less talented, I just say you don't have the need... because you are humble.
There was actually a discussion in Quora with some guy named Baptiste Fontaine, I don't know this guy, but there was a quite long exchange of comments and there was no agreement in the end, that I think it is due to the fact that some people need them and other people don't and it's all fine.
Other than that I don't think the classes will be embraced even when the first ECMAScript 6 implementations come down to the browsers because people will always try to be as much compatible with older browsers for a few years until they become too old to be supported. And I probably do not see classes being embraced in the next four years.
I mean, embraced at large. Well, that's just a guess about the future of the option of classes because in the end you can still do what we need to do with prototype base objects, but obviously I think to be cleaner, to do certain things with the classes as they are.
Using Object Properties (13:30)
Manuel Lemos: Well, that was just one topic and we need to move on to the next topic.
Michael Kimsal: You've gotten very, very quiet.
Manuel Lemos: Did you miss my voice for a while?
Michael Kimsal: Well, I wouldn't say I was missing it, but you've got very quiet.
Manuel Lemos: Yeah. Well, I don't know what was cut. I'll have to figure it out in the recording. Well, anyway since I don't know it was cut, I need to move on in the pass to the next topic on which we are going to comment just briefly about an article that I have seen about object properties which somehow it is related with the current topic because I think this pertains also to ECMAScript 6, let me screen share it here.
Michael Kimsal: That sounds right.
Manuel Lemos: Oh, thank you. Now I'm more relieved. Since you are an expert in foreign languages, you probably know better than me whether I sounded right or not.
Anyway, one thing that got my attention here because I'm not yet very familiar with the whole ECMAScript 6 new syntax constructs, but one thing that got my attention is this name accessor properties because just the other day we were discussing actually in PHP podcast, there was a similar proposal to implement this in PHP to have getters and setters defined with the prefix as we can see here.
Let me try to increase the font. We already have this discussion and actually you even brought up the alternative that... is it Groovy, right?
Michael Kimsal: Groovy. Yeah, Groovy.
For me what you told me in Groovy, it is something that you just define your getters and setters explicity as functions if you want to, right?
Michael Kimsal: All property access, all any access isn't always compiled into a getFoo and setFoo. So, either if you write explicitly a getFoo or setFoo or just one or the other, then those will be used and if you don't a generic one will be compiled for you. So under the hood it's always calling getFoo or setFoo, and that's how that works.
Manuel Lemos: What matters for whoever write in Groovy is that you will be able to decide whether you want to write your own getters and setters and regardless if that the default implementation turns into a getter and a setter function, you don't get bothered to actually write if you just want to implement the default behavior which is to have properties public... is it... are they public by default or...
Michael Kimsal: The methods themselves are public and it will convert the properties to be private, but because there's public methods on them anyway, it sort of doesn't matter from day to day standpoint.
Just looking at the named accessor properties here, it still at first blush it actually looks more like C#, but I'm seeing explicitly the get and the set definitions there and those are on the object. So yeah, this actually looks kind of like a hybrid between the Groovy approach and the C# approach.
Michael Kimsal: Right.
Manuel Lemos: Because by the end of the day all the time that passes we need to work on stuff that needs to get done. If you get buried then these little things writing your getter and setter functions explicitly, all that delays your work.
Manuel Lemos: But moving on to podcast, and now I'm going to comment also briefly on an article by Addy Osmani. Let me screen share it here. I don't know if I can increase the font.
Michael Kimsal: Yeah.
But basically it talks about how the different engines work and the differences in the memory management and they disconcept the garbage collection which basically means that once a values assigned to variables are no longer needed probably because they were assigned inside the functions that already exited.
The values are freed so memory becomes available to other values and you don't actually need to do anything specific to free your memory. And as long as you don't keep references to variables, objects that use that memory.
And there was this delete keyword, I was not familiar with this keyword, Michael, did you know about this keyword?
Michael Kimsal: I was not aware of it.
I think the memory that remains allocated is because there is some variable assigned to some objects or variable, or value that is holding some memory and once you unassign those variables that reference to those objects actually assign them to new, that memory will get eventually freed by the garbage collections.
Michael Kimsal: Right.
Manuel Lemos: But I don't think it needs to delete, does it?
Michael Kimsal: Well, you're assuming that whoever is writing the code or the team that's writing the code understands every little bit about what's going on.
I don't know of good strong tools that find all of these things for you yet. Oh, at this point in time, you know, being able to stop and say, "Gosh! This memory is still taken up because it still has this values and this variables are pointing to this values, gosh! I didn't want that.
I thought I cleared all references to those. I don't think there's any good tools to do that right now in Java. I might be wrong, and I'm learning about how to do these sorts of things in Java in over the last year or so. But it's maybe a little naive to just say, "Well, it should all be taken cared of."
Yes! Garbage collection should always take care of this stuff, but doesn't always work, I mean, generally it does, but it's only to do what we are expecting it to do. When it doesn't, how do we figure out, how do we even know there's a problem?
The interesting thing I think maybe for you and me more so this from a PHP background, the idea of low running processes that locked out memory for hours or days that's just not on our radar from a PHP background.
So the importance of this as we continue to move towards processes running in browsers, I've got a web based app that's going to run for three months because it's a app in a browser, but it's really a front end on a mobile device for data collection out in the field.
They are concerns that we need to know more about, but knowing that there's problems or could potentially be problems only helps us so far. We need more tools, we need our tool sets to mature more either in browser things or maybe in browsers things plus in more comprehensive IDEs that help us find this things in the first place.
Michael Kimsal: But we are getting bothered with it, and it's something as already handling that, in Java I don't run a garbage collector, a garbage collector runs for me.
Manuel Lemos: Right. But you can control it, its trigger.
The idea of garbage collection I said some before some of it maybe lost to the midsts of time, but in general we don't have enough tools to help us identify things that should be garbage collected to the hell as when garbage collection is going wrong to tell us that there's still a reference to this some place which small application is probably easy to find that as we continue to develop much, much larger applications that need to be running for days or weeks, or months at a time in a browser setting.
Manuel Lemos: Yeah.
Michael Kimsal: Will find this, will become bigger problems. And I also suspect that the tools that we use will adapt and mature to help us deal with this problems.
Manuel Lemos: I think you have a point, I am just not getting used so much yet to develop what it's called, so the single page apps. They don't actually switch to another page. And well, what's that?
Michael Kimsal: This is a third of an Oreo cookie, OK.
Manuel Lemos: You're eating?
Michael Kimsal: Now it's nothing. Now it's in my mouth.
Michael Kimsal: It will be Google, won't it? To me... excuse me, just for one moment. Carry on, but I'll be right back just one moment.
Manuel Lemos: Well, I'm going to just take this chance to move on and open here the screen for the next topic that I would like to comment here. Let me just put it down on the right window.
Michael Kimsal: [Singing] To the left, to the left, to the left.
Michael Kimsal: Well, that's great. That won't break, will it?
I'm not going over it now, but I'd like just to mention that it covers several interesting... I would say useful functions of the DOM that they allow us to somehow solve very simple problems that you would better know about them because you want to need them regardless if nowadays you are relying more on JQuery and other libraries that make at least part of this functions not necessarily they provide more elegant solutions.
Michael, I don't know if you actually have seen this presentation and if you wanted to comment about any of the functions that it mentions. It's mostly to navigate over the DOM objects.
And I think they didn't... this presentation and that one didn't quite deal with the same things, but there was a lot of... it reminds me of in some ways just because there's some either performance ... I'm pretty sure there's going to be a performance issue with some of the actually I'm thinking of something else, not performance, but..
Manuel Lemos: Complications?
Michael Kimsal: Looking at the screen right now and there's a word that's escaping me, but there's differences and distinction between... he gives a few examples here; child notes and children. They're both going and grabbing something, but they're grabbing different things based on what you might expect. So understanding some of those differences.
I like the way that he's done this because it does kind of show oh, if you're using this, this is what you're going to get. And you're not going to get an error in other case, sometimes specially if I'm doing something kind of quick and hacky I'll just keep throwing something at it until I don't get an error. And it has also given me what I want, but sometimes you may get what you want in some cases, but not all the time.
Manuel Lemos: Right. Well, I think most of this function that you've already mentioned they exist for a long time and I think that some are actually standardized by W3C, probably.
Michael Kimsal: Now, I see 10 maybe 12, 13 years ago. I don't know if all these were necessarily available, you know IE 4 kind of thing.
Manuel Lemos: At least in the presentation I saw some icons that seemed to show that which browsers and versions supports those functions, but well at least now as you said they are available and it would be interesting to know and sometimes you need to solve a problem using your regular jQuery or whatever library you use, you probably will not do the what you wanted.
Michael Kimsal: Yeah.
Manuel Lemos: Well, that's mainly what I wanted to mention regarding this presentation and it is available as I said as a screencast and also slide share presentation. So, go ahead.
The Web Platform site (31:37)
And this isn't here to be collaborative effort on which the users also participate in a sort of wikis and question and answer sections and tutorials, and everything else that you would like to participate, to help on this effort, to document on which thing in supporting different browsers so you don't have to find those things in different sites.
Well, this is an initiative that is still getting started, they say that web platforms docs are currently in alpha. I think it means that not everybody has been aware of this, and I think the intention of this is just to turn it into a Wikipedia for web development. I think that pretty much summarizes this effort.
I have not been following this very closely, but I think this can promise to be the initiative that everybody will use in the future as a basic reference for whatever web development you want to do. Michael, do you go and decide what did you find about it so far?
Michael Kimsal: I remember when it first was announced a couple of months ago. I think I first heard about this in early October and it was a little bit more promoted as 'Hey, this is a collaboration between all this big names and if you look at the bottom of the screen it's a Google and Microsoft, and Mozilla and HP, and Opera and Adobe and so on with Facebook.
I don't know too many of the people involved right now, what's kind of interesting for me is that there's nothing here explicitly like there's not about the team sort of thing because it's not 10 or 15 people there or 10 or 15 core of people from all these companies.
He was just asking a question saying, "Hey, when is this going to happen?" But he brought up some things and his point was when you have live examples you better make sure that the servers are beefed up, and someone had responded, 'Yes, we're working on that."
It almost seems too early right now for this to be a large resource because they don't have live examples of standards and things of that nature. I'm presuming that that's coming in the next few months and once that's there, this might end up being the canonical resource for how do you do this?
How do you do this? How do you do this in a somewhat vendor-neutral way, it's not Adobe saying this, it's not Facebook saying this, it's not Mozilla saying it or Microsoft, it's a collaboration between everybody.
Manuel Lemos: Yeah.
Michael Kimsal: Maybe a little Pollyana to think that this will become something.
It feels like almost any platform or any community that people try to put together to be the place to go, no one goes there.
Manuel Lemos: Yeah.
Michael Kimsal: And the ones that people just sort of start or things that have been around for a while continue to grow or sprout out in unexpected places. With that said, if the level of people that I have seen contributing here continue to contribute and they get live talks and live examples of, it could be a great place.
And I don't see much harm in that site, but it doesn't look like what it should be because it's not a site endorsed by anything official like this site which is endorsed by W3.
Actually W3 is the institution that is behind this effort and as you said despite all those big names appearing there, they do not seem to be the ones that are actually putting much effort in this. Let's move on.
Manuel Lemos: Well, moving on with the podcast, now it's time to talk about the latest contributions submitted to the JS Classes site, but first I'd like to mention superficially about a new feature that is being introduced in the site. It was introduced in the PHP Classes site first, which is basically a system of the missions and levels that contributors can accomplish.
These mission and level are meant to motivate the developers that submits components to the site to do it in a way that will bring them more exposure ad eventually more recognition and feedback from the users.
And actually this is going to be launched in the JS Classes site soon. It was launched in PHP Classes site first because when you accomplish each level, you after accomplishing a few missions, you can earn some badges, just symbols of the missions that you have accomplished.
And these badges at the time we are recording are not yet ready to do JS Classes site. But they will be probably by the time when this podcast is going to be published.
Well, these missions are mainly means to provide feedback to the authors, how much they have gone, how much their packages has been accepted.
And the site provides them challenges like reaching a certain level of users and publishing certain number of classes and having some possibility of being nominated for the Innovation Award that in the case the JS Classes did not start yet, but I expect to start soon because we're closer to the goal of the challenge.
Well, just as you... hopefully you can see on your screen, the site provides very nice badges of graphical images that show the level that you have reached and as well as your name. And so this badges are personalized. They are quite large there, there are also small versions of these badges.
And well, anyway if you go to this article that I'm showing here in the PHP Classes site, there is also a video on it that... it's a quick demonstration of all the aspects of this initiative, and I will not go into much more details that this because parts of the challenges are supposed to be surprises to keep the people interested in moving on and level after level.
The only thing that I can say is that each level will have an increasing difficulty, so it becomes even more interesting at the same time as the difficulty increases, the recognition that is provided to the author in many ways as a reflex of the missions that has accomplished it will be higher.
And also the quality of the graphics of the badges will be increasing. In the first of level, which is just an apprentice level, you just need to accomplish a very simple mission which is to read some rules, you earn a badge made of wood, but in subsequent levels the badges would be made up of more prestigious materials. Well at least I hope that's the way I expect the people that we engage on this missions to see it.
Well, this is just one of many initiatives that I'm planning for the upcoming times in the JS Classes and PHP Classes site. And stay tuned because the next things that I need to implement will make it even more fun engaging, at least I hope. And from the feedback that I got so far from the PHP Classes site users they are very excited and many, many of them already engaged on these missions.
There were few minor complaints because some missions like for instance you have to link your account to your Facebook account, and some users do not have Facebook account and do not want to have them. And I probably will fix that by making those missions optional.
They are just there not because there is a specific interest of the site, they are just linking your account to Facebook or Twitter will help you to get more visibility to the work you do on the site as we publish new things and that was the main goal of those missions
But other than that, everything else is coming fine despite the whole effort that was put on this. Lots of code had to be written to implement this, but it was quite interesting and well, I hope it becomes as fun as I think it will get for the users. Michael, did you take a look at this initiative? What were your thoughts about it?
Michael Kimsal: Well, I've looked at it and you have talked to me a couple of times about some of the research that you've looked at and the idea of there's the term that you're using I don't want to go to the term right now, but incentivization, public incentivizations and socializing some of that, and it looks like you're continuing to go on in that direction and we hopefully see that in the JS Classes site as long as it's actually bringing a benefit not just to you, but to the people themselves.
Manuel Lemos: Right.
Michael Kimsal: Personally, me, I don't want to say, I don't fall for that... I don't mean it that way, just I am not those sorts of things are not a reward for me, they never have been. Even years and years, and years ago, I mean, as a kid I remember not liking some of those same symbols.
Manuel Lemos: Rewards.
Michael Kimsal: Rewards, badges, things like that, you know, if you give something in class, oh, here's a sticker, here's that I've always felt uncomfortable with that, but I do realize that it's a staple of the social internet and it means a lot of different things to a lot of different people.
So you know, if you can make that happen and provide value for people and they get some motivation out of it, that's great.
Manuel Lemos: Right. That's actually interesting to bring out that point because this giving badges to users, it's not the exact point of the system, it's actually a bit silly to think about the season let's just give badges as compensation.
The actual rewards for the authors that contribute to the site is that once they've accomplished those missions, the missions themselves have as goals to give greater exposure to the work of the authors and in the end they'll get more recognitions and feedback. And that's what they think it would be the real reward and the badge itself is just a symbol.
Manuel Lemos: Right. But I don't think... I wasn't trying to trivialize it at all. And I don't think it really is trivial. I mean, the idea of somebody is going to do X, Y, and Z and then they get the reward that they get is really the exposure and the accomplishment, and the fact they got something done, and then the idea of a badges just some little extra thing there, people could be doing that already, and there is a lot of people like the reward whatever that may be.
And I'm not saying people are doing it just because of that, but that is also the public symbol that they did something. And the people that they interacted with initially may know that, but six months down the line, other people coming to that interacting with that person, they can look and see, oh, here's your symbols, here's your PHP Classes stuff, here is your JS Classes stuff, here is your badges on other sites, these are the collected shorthand representations of accomplishments.
Manuel Lemos: Right.
Michael Kimsal: So, and they're longer lasting somewhat too, so again I wasn't trying to trivialize and I think I actually get what you're saying even you may nov think I do, but anyway you asked.
Manuel Lemos: I get what you're saying, what I meant is that some users are already doing what is required to accomplish some of the missions, but others don't because they don't realize what is the importance.
Let me just give an example of one mission that most of the authors are not aware that is important for them which is if you... there is something now actually introduced by Google this year which is establishing authorship which is you have a page on the internet and you are the author of it, but how does Google know that you are the author, and to see of somebody copies your work, use the original is you, is in your site.
And the Google created this sort of protocol on which you establish some links between the pages and the actual Google profile that you have there could be on Google+ or not. You don't have to have an account on Google+.
Once you've establish that profile, if somebody searches for your work on the Web, if a page appears under search results, which is a page that you establish authorship using this protocol, the results appear with your picture on the search results.
And some authors know about this, others don't, and they have to just to establish a link between that site and the Google profile, to do that and one mission just requires you to that. And ultimately the benefit for the author it just not show the picture in the search results, your picture, picture of your face in the search results.
What happens is that if somebody is searching for your work, when they see the search results with a picture, that looks more like the official version and people will tend to click on that page that has the picture and not the others that are sort of unofficial. And the idea of these missions is also to teach these things to developers.
They can also implement these things in their sites, not necessarily just to establish some of authorship of work in JS Classes and PHP Classes.
And this is an example of something that they learn. I'm not, as I said I'm not going to detail the other missions, some missions are very simple, they are not very meaningful, others are more meaningful, it would depend on each author.
And I could stay hours talking about this, but we don't have the time, we need to move on. But anyway as you said, I hope this helps other authors to contribute more and do better contributions not just in quantity, but also in quality.
So we can actually talk more about them say a year on this podcast on which we talk about the latest classes in the site.
Manuel Lemos: So, this is the segue way to the actual topic on which you comment the latest classes published then on the JS Classes site, and on that Michael, which ones would you like to talk about this month?
Michael Kimsal: Well, there are a couple, I'm trying to find them now. Of course the moment I tried to bring up my browser, they go away. Let me see if I can do a quick share here -screen share. [Humming] Yeah, share that one.
And I'm, realizing as I'm looking myself in the window that I've got a camera facing me, but the main... the laptop at the main screen I'm looking at is over to this side, so I've realized some of the videos, it's probably looking like I'm not paying attention anything the whole time. I'm actually looking at the screen where the bigger screen, in case you're wondering.
Manuel Lemos: You have a bigger screen, if you have a reflects on your window of the...
Michael Kimsal: Are you seeing my...OK.
Manuel Lemos: Yeah. I see your screen share, I was asking if you are seeing yourself reflected on your window?
Michael Kimsal: Sometimes. I don't have it up right now, but I'm sharing, but I don't see my share being shared on the main screen, I don't know why that is.
Manuel Lemos: Well, I can see now.
Michael Kimsal: Baking classes in North Carolina. So there were two that very recently past couple of weeks Dixan Santiesteban I hope I'm saying that close to correct. Hello from Cuba, Hola! or hello to Cuba.
This is a progress bar and he made a progress bar class. It's just a couple of files, it's actually one file here, I mean, there's a sample, there's HTML, but then oh! I got to log in.
Manuel Lemos: Now you... if you can then increase the font.
Michael Kimsal: Yes I will once I logged in. Don't look at my password there, it's nine black dots.
Manuel Lemos: Oh, I've seen your password. It's dot, dot, dot, dot, dot, dot, dot, dot, .
Michael Kimsal: Yeah. Don't look at that man.
Manuel Lemos: It's big dots.
Michael Kimsal: It is. It's huge. Yeah, there we go. So, Dixan, I see the accent on the A, Dixan Santiesteban fair enough. See this is a class... we will just say class progress bar and it would have methods in it, but as it is in itself is a function.
Manuel Lemos: Sometimes they doesn't look like they are classes.
Michael Kimsal: I know. I'm just going back to our earlier ECMAScript discussion. What would these looked like if they were actually class based instead of ..
Manuel Lemos: That would be a constructor I think.
Michael Kimsal: Would be nice. One of the things I've seen here is that some hard coded styles right in here, certainly things like margins you may want to have it, would be nice for some of these to be maybe programmatically set somehow to set color, and maybe the spacing and the sizing a little bit, but for a progress bar, this is a fairly small class to be able to do and he's got the animation method right there.
And there were... let me jump back a couple more pages back to here. As you can see this month we've had one, two, three, four, five, six, seven, eight, nine, ten, at least nine or 10 things since we last recorded. So it has been quite an upsurge since last month.
Manuel Lemos: Yeah.
Michael Kimsal: Obviously there's a bunch of things we could call out here. Thanks to everybody for contributing so far. Give me one other... just one other call out here from my standpoint would be a fancy alert box, popped up from... why am I not? Satyam kumawat from India. Show alert boxes retrieved from AJAX, down here the code.
Actually a little bit more... you've got bundling jQuery, but then an alert box, this would be the meet of it here, and it's minified look at that. Not easy to tell what's going on.
Manuel Lemos: Actually...
Michael Kimsal: Thank you, Satyam.
Manuel Lemos: No, actually the problem there is that is set the 5.2 HTML that's why it sort of confusing.
Michael Kimsal: There you go.
Manuel Lemos: Now it's very readable.
Michael Kimsal: Yeah, certainly in the last month there has been quite a lot of activity. Is there something that you want to call out?
Manuel Lemos: Oh well, I wanted to also mention a couple of classes this month. Let me screen share them here. Screen share, Google hangouts changed the user interface, now we have to find the buttons somewhere else.
The first one that I wanted you to comment about is this jQuery plug in for what they call masks. Basically masks is sort of a filter that defines which characters can be entered and inputs.
Let's say if you want an input to have a date in a sort of text you can define a mask and from there you can like restrict the characters that the input will allow. Well, I changed the entry here an invalid date, trying to increase the font.
Michael Kimsal: I wish I've done this two years ago. I got a project that I've done most of the people that are using it are school age kids and most of the stuff I write portends to be line of business, larger, more adult people.
And I'm just shocked say create a username, and I've got people putting in everything under the sun, I'm doing SQL escaping so I'm not getting any injections here and I'm dong doing HTML escaping, so I'm not having any issues there, but I'm just shocked at all the garbage that people put in for a username. And it was not even on my radar that I should really be faltering this out or preventing it through a masking mechanisms of some sort.
This is a very simple plugin, but it is quite useful and you see uses for it and practically all applications that have forms in them. And well, let's hope that Igor will continue to send also other very interesting plugin.
And another class that I wanted to mention is actually we already talked about it in previous podcast, but it was in Lately in PHP podcast by Bradley Matusiak from the United States.
Basically it's one object ties exactly in the topic that we've bee talking about classes and extending classes to implement subclasses. And in this case Bradley provides a solution that is standalone, it's not tied to JQuery or some other library that provide a similar construct.
Upcoming Articles of the JSMag magazine (58:36)
Manuel Lemos: Well, with that we conclude this section of the podcast and now we're going to move on to one final section which is Michael, would you like to comment on the upcoming articles of the JSMag magazine.
Michael Kimsal: Well, when I like to? No I wouldn't, but I will. Actually just..
Manuel Lemos: It's a very hard task for you.
Manuel Lemos: OK
Michael Kimsal: Sarah Palin, yeah.
Manuel Lemos: Sarah Palin. [Laughter]. Well,
Michael Kimsal: Little before your time, little before yours.
Manuel Lemos: Not really, but I was trying not to remember much about her, but nevermind.
Michael Kimsal: There you go.
Manuel Lemos: Well, this is a bit long podcast recording because we had a few recording problems.
Michael Kimsal: Break them up.
Manuel Lemos: Several times, but we finally made it and I would like to thank you Michael again for coming. I know you are not going to engage all the missions and levels that are coming to the site because you are not a badge boy, but on the positive side, I can assure that the next initiatives that I'm planning will be more appealing to you because... well, I'm not going to tell you what they are, but just put it in the air that they will appeal a different kind of audience to engage not just the people that enjoy earning badges it's not completing missions and stuff.
Michael Kimsal: Are you trying to say I'm fat?
Manuel Lemos: Again?
Michael Kimsal: Are you? Always with the weight jokes, constantly.
Manuel Lemos: Well, you asked me that.
Michael Kimsal: It's getting very annoying.
Manuel Lemos: No, no, not at all, but I could -do you feel fat, Michael? Not to mention.
Michael Kimsal: Camera. It's the facetime camera, it adds like 20 pounds on.
Manuel Lemos: Or it could be my eyes?
Michael Kimsal: Damn you apple.
Manuel Lemos: Yeah. Well, on that humor note, that's all for now. Thank you. Bye.