Latest Entries »

A day in life

I woke up this morning and during the breakfast, I’ve been told that during the night I had been talking and said “ça arrivera”, which you could translate as “It’s going to happen” or “It will happen eventually”. I don’t remember saying that or a dream related to that, but it probably will.

Morning

I read and watched Mark Surman’s article about Mozila’s 2012 plan. It’s been a while that I’m preparing a blog post trying to explain why I disagree with the goal of “building a generation of web maker”. While I deeply agree with the goal of creating a web literate planet, I believe “a generation of web maker” is just not right. I will write about this very soon.

Afternoon

After my phone gets lost, I arrived half an hour late at someone’s who I’m helping for her website. A friend of her was here. At some point, about the website he said something along the lines of “please spare one or two pages if she wants to add content later to the website”.

I’ll give you, dear reader, very likely to be web literate, a second to digest this quote.

…..

Short after, her 10 year old son comes back from school and has a look for one second at my computer. “You’re operating system looks funny”. I’m using Ubuntu.

A generation of web makers, you said?

Evening

A detour at a phone shop to have my phone blocked later, I decide to go at my favorite Chinese restaurant. I get welcomed by the usual waiter who is apologizing, almost on his knees for last time because he charged me too much. Soon enough will he have brought me seven and a half euros for something I don’t even remember.

The dinner will be followed by showing “Intouchables”, the big movie currently in France. About a rich tetraplegic who gets assistance from a younger guy who’s from a poor suburb (in France, suburbs are usually the poor areas, unlike in the US). If you ever have the occasion to watch it, do it, preferably in French. It’s really worth it.

Night

I’m not sure what next is going to happen. I have no clue what “will happen evetually”. Maybe this blog post after all!

Introduction

This article is somewhat a heartbeat reaction to Zach Holman‘s article entitled “Don’t Give Your Users Shit Work” and would like to take this occasion to share some thoughts on softwares and why I work to make some.

Relationship between time and work

We need to get out of this idea that the act of spending time on a project means that you spent your time wisely. Sometimes you’re just wasting your time.

Yes!

I think we inherit from Taylorism the idea that the value of the work done by a person is proportional to the time spent on it. It is probably right in a factory, but is severely wrong in most other jobs I can think of.

The worst point is probably the idea that you can quantify the value of the work of someone, but i’ll pass on that.

The bigger point is the idea that there is a relationship between time spent and work done. And this leads to contracts where you’re being asked to do a certain amount of hours. I was doing a PhD and in my contract was written a number of hours to do annually. What for? Am I proportionally productive to the time I spend? What does “being productive” mean in Research? Should I count the time I spend on es-discuss? And my favorite: since research is mostly an intellectual work, how are you going to prove that I actually did this number of hours?

For an internship, I wrote some piece of software that was used to adjust some prices. It lasted 5 months and I’ve been paid 5000€ overall. By now, the software I wrote helped saving probably a million euros. The software is still running, last I heard. With a constant amount of time, I achieved something that keeps creating value, potentially until the end of the business.

Anyway, one stupid consequence of thinking that work done is proportional to time spent is that people justify that they have been working just because they spent time. I wish one day we move away from Taylorism.

Shit work and progress

Shit work could be defined as something annoying to do for a human being. Relevant specialists may disagree, but I would define progress as the fact for humanity to reduce shit work.

Irrigation was not invented for fun, but because it was freaking annoying to bring water manually from the river close by. That was shit work. We rod horses because long-distance walking was shit work. Electricity is widely used to power many engines that do shit work so we don’t have to do it.

The progress is not in “replacing human beings”, but rather to free human beings from annoying work. This way, human beings can do something fulfilling, maybe creative, maybe social.

What attracts me in software?

The only purpose of computers should be to do shit work for us. This is why I like software. It allows to free people from shit work. Software should save me time. It makes me so sad when people tell me that they are losing time because of a computer. Clearly the people who wrote the software got it wrong.

I agree, Zach Holman, good software is software that saves my time. It’s software that do shit work for me.

On education credentials

Last year, at the Drumbeat Festival, I first heard of badges as a form of education credentials.
The initial assumption of most participants was that current education is broken. So is the diploma model. And badges were presented as one alternative.
It made its way to becoming OpenBadges and the recent launch of the Open Badge Infrastructure.

In plenty of occasions i try to engage people to make them think about education, skills, degrees and I discuss about badges. I would like to take an occasion to write about the common questions and comments I receive on these topics.
In this article, I will try to state the problem that badges are trying to address (focused only on hiring while i’m aware, badges are of interest beyond this single aspect), the current existing solution, its downfalls and try to explain how badges are not worse as some may think.

The problem of hiring

When it comes to hiring, the person who hires has an idea (sometimes not accurate enough, but that’s another issue I won’t go into now) of what the company needs in terms of skill. Before hiring an applicant, the recruiter needs to know whether the person fits the expectations.
The best way would certainly be to spend days, weeks, (months?) with each candidate, but this is unrealistic (in some way, that’s what trial period could be considered as). Recruiters aren’t an army, their time is limited, so choices have to be made. Based on what?
Usually, this falls under 2 categories: education and past professional experiences (other experiences for open minded recruiters). Experience mostly speaks for itself or can be explained through an interview. But for people without or with few experience, only education remains.

What does it mean to hire based on education?

If a recruiter has the time for one interview and has to choose between 2 candidates based on their education, the recruiter makes his choice not based on actual skill, but on expected skill for people having this diploma. Even more accurately, the choice is based on the trust the recruiter has on the institution delivering the degree.
But recruiters don’t know all universities, degrees, they don’t know the exact experience and curriculum someone who graduated from such or such school followed, so most of the time, the trust is not on the institution itself, but rather on the reputation of this institution.

Limitations of a diploma

Relying on reputation and trust has the immediate problem that the reputation could be false. Even if the reputation was right, the trust could be betrayed, because the students may graduate without filling all the requirements. For instance, students may cheat at exams. During team work, they may find teamates who’d do all the work and get the same grade in the end. We’ve also heard in the press of cases of people paying to get a degree, etc.

To be clear, I am not saying that all degrees are worthless, but only reminding that making a decision/judgement based on a degree is based on the trust one has on the delivering institution with the usual problem with trust which is that it may or may not be betrayed.

Besides the trust problem, a diploma, like a coin, is a symbol. A symbol of some skill set. One unfortunate aspect is that this symbol is a strong reduction of the set of skills it represents. Indeed, a diploma is a binary entity, either you have it or you don’t. Diploma lacks of information on what they represent exactly, but also lack of granularity.
Regarding this topic, I can’t help quoting Laura Hilliger’s excellent article

I have a BA in Digital Graphics and am earning a MA in Media and Education. What do you know about those degrees? Did you know that I took Statistics and did well? Or that I have taken 6 different Art History classes? Or what about that I won a debate on Human Sexuality in Primitive Cultures?

Problem of the “diploma-only” culture

Worse than the problem inherent to diplomas themselves is the culture around them which is that they are expected to be sufficient to know someone and make a decision based on it. This is problematic, because it forgets that learning happens outside of schools, outside of places where diplomas are delivered. This cultural problem gives the impression that people without degree are ignorant and stupid and that two people with the same degree are alike. Both are completely false.
As I mentioned, this problem is cultural and not inherent to diploma. It may reproduce with badges.

Where badges come in

Badges aren’t a perfect one-fits-all solution. However, they try to address the different aforementioned problems.

Trust

In order to strengthen the trust a badge viewer can have on the badge, Mozilla’s open badges contain a link to how the badge was earned. This doesn’t solve the trust problem. This proof could be faked. If not fake, the person claiming the proof may not be the one who created it, etc. Since, like a diploma a badge is a symbol, there is a trust issue. But trying to provide a proof is a start to enforce the trust.

Badges offer a trust VS cost trade-off. In a blink you can see all badges but not verify that they’ve properly been earned. Or you can check the proof of each badge at the expense of spending time understanding how the badge got earned. In case the badge issuer is considered as trustworthy, trust can be delegated. This delegation is almost compulsory with diplomas, badges offer the choice.

It has to be noted that neither badges nor diploma are inherently more trustworthy. They just address the trust issue differently.

Granularity

Since they are defined by the issuer, badges are of arbitrary granularity. With the downside that work has to be done in order to determine the proper granularity and skills for each domain. In domains where badges would be too numerous, having “meta-badges” could be a good idea.
Once again, choice is offered by badges and come with a cost.

Questionning what is taken for granted

My take on “the current education system is broken” is more moderate than what I can be read in the open education community. But I’m glad an alternative exists. I’m glad my assumptions about education have been questionned. Badges, just by existsing as an alternative form of credentials force the questionning of the current system and everyone’s assumption on diploma and what they really mean.

Final thought on my own diploma

At the end of November, I will receive a diploma. A piece of paper I do not really care about to be honest. I remember the experiences, people I have met, discussions in or outside of class and it was a good experience, all what I’ve learned, technical or not. In a way, it’s unfortunate the piece of paper i’ll receive won’t represent any of that.

Conclusion

Despite the common belief, there is no reason to put more trust in diplomas delivered by universities than badges delivered by anyone else. Moreover, badges offer very pragramtic solutions to the issue of enforcing trust by showing a proof as well as a potentially better granularity. Of course, none of these benefits are free and will come with an additional effort on the badge issuers side and on the people who want to verify the trust they have on the badge. Like in many cases, badges and diploma aren’t better or worse but rather offer the potential of a trade-off and it is to the people who have to make the choice to carefully decide where they put their cursor.

Dear JavaScript Community,

About two years ago, a very wise man told me that power is not something you’re handed, it’s something that you take. Despite how absurd this sentence may sound, i have noticed it to be true in many occasions.
And I think that time has come that i decide to take responsibility for the MDN JavaScript documentation, so today, now, i’m proclaiming myself King of the MDN JavaScript Documentation.

JavaScript documentation

Need for documentation

JavaScript has been around for more than 15 years now. And i can’t name one website that has up-to-date and complete enough documentation for it. I have recently written a page that i consider of good enough quality for the this keyword. More than 15 years after the invention of JavaScript! …and i am not 100% confident that this page is complete.

Of course, I can find one hundred good blog posts out there to get this documentation. But how can i edit it if there is a mistake? Tell in a comment and wait for the author to fix the article? How can i improve this blog post to mention a bug in some version of IE? Blog posts are not sustainable for documentation. So are not static websites like W3Schools, especially when specialists of the community need to set up another website to fix the former.

Moreover, with initiatives and platforms like Node.js, Windows 8, MangoDB which use (or will use) JavaScript in non-browser environments, we need more than ever before to better advertise good JavaScript patterns, to better explain the fundamentals of the language, with accurate wording and phrasing.

We do not need documentation since the documentation exists. We need a CC-licenced, user-editable resource. This is the only way we can reach the goal of a good AND sustainable documentation.

Writing the doc ourself

JavaScript is an open technology. It’s not a library or a software with a team dedicated to writing documentation. It’s an open technology. It’s no one’s task to write the doc. Consequently, it’s everyone’s job to do it.

Less than a year ago, Chris Williams encouraged us, Community.js to educate (among other things) people who learn the JavaScript language:

We have made it almost impossible to learn proper JS, a language with both beauty and warts. Some will say it is not our fault, that browser vendors should provide the API documentation for the implementation or that the standards committee should publish and market it. I am calling bullshit on that. I say that it is up to us to invite, welcome, and most importantly properly educate people looking to learn JS. We, the best and brightest of the field, have an obligation to help those who are trying to learn and understand the complexities of the language. We are the ones that benefit from it most, since those now entering the language will be either extending, morphing, or taking over the very projects we are just now starting. Regardless of library, framework, and even language — if everyone knows how to program proper JS a little better, we all win. Period.

And as it turns out, we already write the doc. I see you, pirates of all seas, creating gists, tweeting, writing blog posts to document JavaScript quircks, oddities, bugs, little known facts, best performance patterns. But after these informations have been shared among the hundreds of people in our community, they unfortunately get lost down our timelines, fragmented across the web and our memory. We need to sustain them.

A word on the Mozilla Developer Network ambiguity

I have discussed several times with friends, members of the JS community and one recurrent concern about MDN is that it’s “governed” by Mozilla. To this concern, I have two answers. The first one is that, the people who “govern” the documentation at Mozilla, namely Sheppy and Janet are committed to make the open web technologies (HTML, CSS, JS, SVG, etc.) documentation vendor-neutral. I know for a fact that they are working on creating partenership with other vendors or organizations to have them document their specific features on MDN. That’s one of the things Kevin Lim from Google worked on during the last doc sprint. My second answer is that i am now the King of the JavaScript documentation and i am committed to make this documentation valuable for any web developer regardless of browser preference.

My vision and Mozilla’s on what the JavaScript documentation should be are aligned. If they ever happened to be strongly different, the content is CC-licenced and I could take action to restart fresh somewhere else. But we are currently not in such a situation and am currently confident we won’t be in the foreseeable future.

Does documentation need a King?

Per se, no, no documentation need a king. But like all wiki, it needs some people to take care of overall style consistency, that conventions are respected, that tags and “draft” banners are removed when not needed anymore.

What about Sheppy and Janet?

Yes, there are only 2 persons at Mozilla officially taking care of the MDN documentation. That’s not enough. They do not have enough time to spend on making the JavaScript documentation as good as i wish it was. So, I’m taking the responsability (and they will learn it through this blog post. Hi guys :-) ).

Kingdom scope and priorities

I am not claiming to be the King of all MDN. That’s way too wide for one person. I will take care of all technologies that are part of this JavaScript overview which includes ECMAScript, the DOM (it’s JavaScript binding at least) and all the JavaScript APIs that are described in the HTML5 specification. Having first-class documentation for these things is my first priority.

I wish to document IE8 (and later, of course) and by this is I mean documenting every JavaScript bug that a developer can come across on IE8. Ideally, i woud love to have the same thing on IE6/7, but i think that by the time the previous priorities are accomplished, these won’t have enough market share anymore for us to care about taking the immense amount of time necessary to document these browsers. Of course, contributions on IE6/7 are more than welcome, they are just not on my priorities.

As said above, the JavaScript community is always digging good practices, patterns, best performances. I declare that MDN is a suitable place to sustain these informations!

I also declare that the CommonJS community is welcome to document the mature and widely adopted specifications on MDN. The work done by the CommonJS community needs more visibility, to be widely known by the web dev community, especially all the work on modules which is a recurring issue in JavaScript.

Some APIs like the console API are increasingly becoming de facto standards and have the same need of compatibility tables even though they are not part of the web platform per se. They’ll need to be documented.

Opening the kingdom

What i am going to say in this section was true before, but i am going to say it explictely and out loud. Dear JavaScript Community, you are welcome in my kingdom. This place is yours as well as it is mine. If you believe in a CC-licenced user contributed documentation, my kingdom is open to your participation.

You, JavaScript Pirates of all seas, you are welcome to stop by and share your knowledge. Your thoughts on performance, browser compatibility, good practices, JavaScript patterns as well as shims, tutorials, examples are more than welcome.

Conclusion

Well, I’m the king now! I’m looking forward to see the JavaScript documentation awesome! As it turns out, I will be at the JS Conf EU hanging out at the Hacker lounge. Come by to discuss how to improve the JavaScript doc or report errors/mistakes, learn how to contribute to MDN!

This week-end was a MDN doc sprint. I haven’t had the time to do a lot, but some of the interactions have been really useful and i’d like to share a couple of things i’ve learned.

setImmediate

On the Doc Sprint Etherpad, I have noticed that Jonathan Wilsson (McGurk) added pages for setImmediate and clearImmediate. These not-yet-specified functions aim at being an efficient replacement to setTimeout(0) (which is clamped to 4ms for historical reasons) and its hack-ish postMessage based replacement.

In a way, this is a good news, but it’s a bit overlapping with what TC39 has in mind for concurrency. In an es-discuss e-mail, Mark Miller sounded enthusiastic with the idea of making Q.delay part of the default upcoming concurrency API. This would make 2 features for the same purpose. As stated in the es-discuss quoted thread i started, it would make more sense to bring setTimeout to ECMAScript rather than letting it be part of a web standard since timing issue aren’t really specific to the web. As a matter of fact Node.js uses the same API.

textContent VS innerText

I have improved the style for Node.textContent and have read with great interest the notes which state some difference with Microsoft’s innerText. One being that innerText cannot retrieve the text from <script> and <style> elements. Well… That is the explanation of why Selectivizr explains that “Styles defined in <style> tags won’t be parsed.” (in old IE, of course).

innerHTML counter-intuitive performance

I’ve added a security consideration section to the innerHTML page. It was the occasion to re-read the page and re-find Quircksmode performance test. And even in modern Firefoxes and Chrome, innerHTML keeps being (2-3 times) faster than creating DOM elements in memory and appending them. I have to admit that this is counter-intuitive for me (innerHTML requires parsing and creation of a document fragment while DOM elements manipulation doesn’t require the parsing). The best explanation i can come up with is that innerHTML is one line of JavaScript while the several creations and appending required to do the same operations require roundtrips between native code and JavaScript code. I’m looking forward to see dom.js being finished and hopefully integrated in browsers to re-test its performance against a native innerHTML.

Dear Marc,

I guess I should start by apologizing. I know we have never met and it is weird of a thing to do to start a conversation with someone with a blog post. I also apologize to call you “friend”, because not having discussed at all cannot really make us friend. But I feel that there is some sort of connexion, some way of thinking that we share for which we certainly are already “lazy friends” and I thought I should explain it and share with other people.

The most I have seen of you is your incredible talk entitled The Lazy Programmer’s Guide to Secure Computing. And it blew my mind. See, my blog is entitled “long term laziness” and your talk clearly showed that we’re on the same page when it comes to laziness.

A lot of people are lazy in this word, but very few understand that there are different ways to be lazy and you captured it perfectly by distinguishing what you called “amateur lazy programmer” and “professional lazy programmer”. You describe the state of mind of the latter as:

I know that if I don’t do this right the first time. I can spend an extra half hour now or spend a week of agony tomorrow.

And this is a way of life as far as I’m concerned. We apparently use different terminology. I say “long term”, you say “professional”, but I know we’re on the same page.

Overall, it was very fascinating to see how good practices of object-oriented programming turn out to be security features. I had never thought about object-oriented programming this way.

I have showed your talk to a very good friend of mine and the envelope metaphor blew his mind as much as it did to me the first time I saw it. Then, I thought “oh well, that was the big time of his talk, I won’t learn much from now on.”. And I did kept learning, until the last minute.

I really loved the part when you explain what to say to brainwash programmers so that they’d make programs easier to write viruses against. I wouldn’t have expected “Use C or C++” as the very first rule, but your explanation makes a lot of sense.
Also, I have programmed in CakePHP once and at the time, seeing that they had a security class really did leave me a bad taste in the mouth. I’m glad I was not crazy on this one and that having a “security module” in a program is an aberration to a security guru.

Also, the Buffy Summers quote at the end was brilliant!

When I think about it, it makes a lot of sense that you did this talk. Educating people to do less mistakes is so much more lazy than fixing all of these mistakes! I do thank you to have taught me so much in this one-hour video. I certainly be even more careful than I was before when writing programs.

Keep being lazy and inspire people to be so too!

Lazily,

David

A couple of weeks ago, was the Open Help Conference held in Cincinnati. This conference was on documentation and user support in free software projects. I did attend the conference and would like to share a couple of thoughts on what I learned there.

Also followed the MDN doc sprint on which I wish to say a couple of words.

The conference itself

I really enjoyed the atmosphere of this conference. Usually, conferences have speakers and an audience and some sort of hierarchy between them. The speakers would have the knowledge and the rest would have to listen. This conference didn’t give me this impression. Speakers weren’t superior in any way; they didn’t really have a “truth” to share. They were here to share experience they gained throughout the years, to share issues they came across an how they solved them… or not.

Alongside with this non-hierarchy, I really enjoyed how we did not really care about timing. There was a schedule. We were late on it but no one cared that much. We all naturaly found more important to asks questions, debate, discuss rather than rushing because of clock issues. Usually, nothing fustrates me more than a speaker who skip slides, rushes the presentation and do not leave time for questions because of schedule.

Content – Highlight on BSD certification

All presentations can be found here. All were interesting, but I won’t comment each one here and now. Rather, I have particularly been interested by Dru Lavigne’s one. She talked about the BSD certification program and how they created the program.

How to certify?

Dru introduced us to the field of Psychometrics, the science of assesment. Knowing that there exists such a science blew my mind by itself. But it makes sense.

For an assesment to be psychometrically valid, there are rules. For instance, no question should be helpful to answer to another question. Second epiphany. It turns out most exams I’ve had are probably not psychometrically valid (for this reason or other). This is probably true for most exams in most school/university. What to think of the value of diplomas, then? What to think of exams prepared by teachers who have no insight of what “psychometrically valid” mean?

Certification must expire

For a certification program to be valid, it must expire. And the certification program must decide when and what to do to be re-certified. It explais why my TOELF is officially valid two years, but also why people ask you to put on a resume the date you had it alongside with your score. I’m however concerned about diplomas especially in the field of new technologies. Should a diploma be granted for life? If there was a diploma of web technologies, would you blindly trust someone who had such a diploma five years ago?

MDN Doc sprint

Some doc

We achieved quite a bunch. It was an occasion for me to finish up the MDN article on the JavaScript this keyword. I think that it’s unfortunate that the article wasn’t of that quality before June 2011 with the feature being in the language since the beginning of its existence. If you feel like contesting the quality of the article, don’t bother commenting on my blog. Go fix it on MDN directly :-)

I will say it more formally at some point, but we, people who understand and have knowledge on JavaScript, the DOM and cross-browser issues, should stop explaining them in blog posts scattered across the Internet and rather share our knowledge in a CC-licenced flexible platform (like a wiki for instance)… Oh wait! MDN fits all criteria. Go contribute!

At the doc sprint, I also improved event.currentTarget and event.target pages.

And other things

During the doc sprint, Colin Clark gave a demo on how a screen reader work. Interesting experience. It’s hard to share the experience on a blog post, but I’d recommand everyone to have this experience if given the opportunity to.

And Tom Schuster (aka evilpie) gave me a lesson on SpiderMonkeys internals. Interesting stuff.

(Parts of) my element

Context

Last Tuesday and Wednesday, I was giving a JavaScript training/workshop at a company. I’ll probably blog more on the content of this event later, but I’d like to say a few words about what this events represents to me.

I know Kung-Fu JavaScript (and learned it by myself)

My very first JavaScript was a copy/paste used to display the last modified date at the bottom of a page. It was crappy, clumpsy, using document.write but was doing the job (not on Internet Explorer 6-8, though).
Afterward, I worked several days so that the background color of a website adapts to the time of the day. Bright background during the day, dark during the night, pink fading at sun rise, orange at sunset.
Then a small script to display/hide a description of some item on a click.
I’ve had a small class at ENSEIRB-MATMECA on “Web and XML technologies”, but I haven’t really learned anything more on HTML/JS/CSS
I’ve been involved with other students in a web project that was a collaboration between my school and a company. But no one ever reviewed our code.

I’ve read things on blogs. John Resig, Nicholas Zakas, Mozilla Hacks, Kangax, Paul Irish, to name a few.
I’ve watched talks given by Douglas Crockford (in real too during my year at UCSD!!), John Resig and so many others.
I’ve listened to each and every episode of “a minute with Brendan”.
I’ve registered and participated to the WHATWG mailing-list. And more recently on the ECMAScript mailing-list (es-discuss)
I’ve contributed to MDN on JavaScript articles.
I’ve created some very modest projects on Github. I’ve worked with airportyh on Github to add array extras to older browsers with good standard support.
I’ve read a bunch of JavaScript by view-sourcing, by reading open source projects code such as jQuery.
I’ve reviewed test cases on test262.
And this is how I learned JavaScript. I don’t have a degree, nor have I had a professor on web technologies to bring me to the level I have reached. This skill is mine. No institution has educated me on the matter. The people/groups I have mentionned above were my (informal) JavaScript teachers.

Yet, without a degree, without any proof of my skill (not even with a badge ;-) ), I’ve had a contract to do company training. Someone has been able to see the passion, to see the skill, to see the intrisec value in what I could share regardless of the fact that I have no formal proof of my skill.

At the end of the training

At that workshop were people from the Java world who were doubtful on JavaScript to be a language with which you could do clean object-oriented applications. Some were relectant to JavaScript yet curious of the workshop. The same said at the end they they felt way more confident in their ability to write big clean applications.

At the end of the training/workshop, someone said “JavaScript was an incompetence I had” and this is probably the best JavaScript/education-related compliment I’ve ever received.

Overall, I’ve been able to share language fundamentals, good practices, some patterns, I’ve been able to share my passions

The “element”

Ken Robinson wrote a book and gave several talks on what he calls the “element”. It would be this thing anyone have a natural ability for. Different from person to person, of course. Yet, he’s convinced anyone has one and my only disagreement is that one can have several such “elements” and I’d consider JavaScript to be one of mine. And I think that this is the source of how I got this training. I was never formally hired. I was just trusted based on what someone saw of my passion for this technology, that it was part of my element.

Conclusion

I wish you, dear reader, to find your element(s) and to find one way or another to live in/with it, hopefully making a living out of it if it’s possible. You may not even need a degree as I hope I proved in this article.

Anyway, these last two days, I was in my element and it felt fucking good! I do wish you to have the occasion to feel the same.

eG8

eG8 happened.
I’ve watched a bunch of videos. Including Jeremy Zimmerman improvised press conference with an amazing panel. Including Nicolas Sarkozy’s introduction speech.

And I’ve cried a couple of times.

The President of my country was clumpsy in his words. He was mostly seeing the web as an economy vector. I’ve seen some biased debates on intellectual property, copyright.

This event, by its very existence was probably the very first heavy and official collision between worlds that had never met each other before. Governments may not change their views tomorrow. This (first?) eG8 was way too economy-focused, but people have met, discussed, debated, showed disagreement. This is a change and this is a good change.
Governments acknowledge the existence of another world they should discuss with (these were pretty much Sarkozy’s own words). Things aren’t over. There are a lot of mistakes and misunderstandings, but this is a first step in the right direction.

Lawrence Lessig, Jeremy Zimmerman among several other actors of the free culture were here. They could have as well not had been invited. They were. They came. They had the opportunity to show their view, ask questions, improvize a press conference. Maybe they didn’t have enough visibility. They were at the event anyway.

I never thought I’d say that of my life, but I’m actually thankful to Nicolas Sarkozy. I strongly disagree with most of what he says, especially about the web. But I’m thankful he organized this event.

Background

Flashback

I remember my very good friend Patrick telling be slightly less than a year ago that my “open web educators in schools” project (5min video) was far too ambitious for me to work on at the time. Because I was too young, not enough experienced. I remember thinking he was wrong. I remember him telling me that he wasn’t the only one thinking that. I remember not being more convinced.

However, I remember that even feeling ready, the idea of getting the grant was giving me vertigo. Like climbing some mountain. Still, head up, like facing the snow in front of me, I thought it was possible. And being one of the few project leads who had an interview made me realize that I wasn’t the only one.

Afterward

I feel like not much has changed in my life since the discussion with Patrick. Maybe I’m wrong.

First doc sprint

For the first time, I have met Mozilla employees and Mozilla contributors IRL. It was a very good and productive.

Learning freedom and the web

There I was in Barcelona. The awesome company I was doing an internship at at the time left me a week off to go to Barcelona. I will never be thankful enough to them. I will never be thankful enough to Mozilla for organizing this event. I have met so many great people related to the web and/or education. So many ideas, so much inspiration.

Time passing

And I’ve read and written. Gotten involved on es-discuss on [Harmony proxies]-related issues. I’ve participated to other doc sprints. I’ve started an Etherpad on open web technologies documentation (I’m in purple, Janet Switcher in green)

Professional opportunities

I’ve started a PhD in March. Soon after, someone asked me if I’d be interested in training his employees at JavaScript. In substance, he said “I could ask a regular training company. I’d pay, they’d come, do their stuff and leave. But I have the impression that it’d be different with you, because you seem to have a passion for that.”. I think so too.

No latter than last week, TechCrunchFR wrote an article on node.js which I commented (all in French, sorry if you can’t read it). People enjoyed my comment. I’ve got a couple of new followers on Twitter. I’ve even been contacted on LinkedIn. In a way, I find that very ironic, since I have never installed nor used node; I’ve only watched one billion one-hour long videos of Ryan Dahl talking about it :-) . Got some expertise out of these hours apparently :-D

Soon teaching the web

Through my PhD, I have the opportunity to teach. I’ve been approached by a colleague who is in charge of the web classes at the engineering school I graduated from. We spent one afternoon re-starting from scratch the goals of this beginner class. Thrilling experience!

Job offer surgery

So, all I’m talking about now is a non-application to this position. A couple of points have particularly retained my attention.

  • Promote industry acceptance and recognition for the School of Webcraft.
    Understands the industry perspective. Comfortable communicating with employers.

    Since the very first second I have heard about badges, I understood they were a good alternative to the current grading/diploma system. Most reluctant are probably companies who are used to diploma systems. In France, big companies decide of your first salary based on your diploma. No way to negotiate. How ridiculous is that?
    If anything before I die (at least related to education :-p), I wish to see the world in its entirety (not only the industry) acknowledging that a diploma isn’t a proof of competence. I wish to see a globalized way of “certifying” skill.
    One of my landlord (in France) was Romanian. In Romania, he was a math teacher. Arriving in France, people told him his diploma was worth nothing here. Once, I talked with him about the difference between WEP and WPA encryption (we were sharing the wifi connection), he already knew what I was talking about; he already knew cryptography, of course! With a global acknowledged system, he probably could have been a teacher in France too.

    I have a particular interest in entrepreneurship and small companies. This would be the place to start.

  • Link with internal Mozilla partners (like the Mozilla Developer Network) to drive content development.
    I’m already often in touch with Janet and Sheppy, aren’t I? See you in earlier June for the next doc sprint!
    I’m pretty used to the MDN wiki (and following what is going on with the upcoming new platform). I even work on some content (still very drafty from my point of view) in order to explain things that people usually confuse.
  • Link with other organizations and initiatives working on web developer training and curricula (like OWEA, Opera, WaSP).
    And Khan Academy that John Resig is joining soon? and Omniversity? And to a lesser extent with HASTAC? For sure!
  • Drive regional expansion into new communities. Spread School of Webcraft to new locales and languages.
    Have I mentioned that I have an English <-> French translator built-in in my brain? Can be handy in some situations. Looking forward to learn a new language online to increase that.
  • Has a web development background. Speaks web developers’ language.
    According to the surprising success of my comment on TechCrunchFr, well, I think I can pretend to have this one.
  • Passionate about open source. Understands and loves the open web.
    Right now, I’m on Ubuntu, Firefox has a tab open on my WordPress blog post, Thunderbird pops up sometimes to tell me I have new e-mails while VLC is playing music. I care enough for the open web that I read the WHATWG mailing-list (not everything, of course) and participate on es-discuss (discussing the next version of JavaScript). I write on open web technologies when I have time. And since the first doc sprint, I have decided I wouldn’t write on my blog but rather on MDN in order to touch more people (cause very few people know my blog).
  • Has some experience with learning and educational innovation.
    This is an interesting requirement, but not strong enough. In my opinion, any applicant should have an experience with online learning. Like actually having learned something online or in a P2PU-like/open source environment. Experiencing it by doing it. I don’t consider I have done that yet.
  • Wake up every morning focused on making the School of Webcraft awesome.
    I’m not really a morning person. I’m more of the kind of thinking about it intensively before going to sleep, with the risk of making me having sleepless (yet productive) nights. I’d do naps to compensate the lack of sleep, do not worry!

Why not actually applying to the position?

Excellent question, thanks for asking. First off, I’ve recently signed a PhD contract. Hopefully, my thesis will be awesome and help the web community to have better web frameworks and better understand the web from the technical point of view. Then, as said earlier, I have an opportunity to teach in a “classical” environment. It’s not enough to criticize the current education system. I want to understand why by experiencing it. I have a unique opportunity to do so now. And by teaching web technologies.

To whoever gets the position

Please get in touch with me! I’d love to meet you!

Follow

Get every new post delivered to your Inbox.