Grants:IEG/Lua libs for behavior-driven development/Profile
John Erling Blad (jeblad)
The guy that wrote the proposal.
I'm a more or less regular contributor since first contribution 24 July 2005 as agtfjott. That nick was a joke on a character from a well-known film. I was contributing before that, but then only as an anonymous user. It all started with an attempt to make a site for contemporary art by using Mediawiki, and after a wile I figured out why don't I add the material to Wikipedia itself. There are now several years ago, and the content is not distinguishable from other Wikipedia content anymore.
I have a cand.scient. degree in mathematical modeling, and did a thesis on analog computers for sound processing. I still do like to stay updated on artificial intelligence, but it isn't much of it on Wikimedia-projects. Somehow everybody thinks that bots are smart, and that Wikidata is the ultimate beast, or at least has considerable AI incorporated. The only intelligence in those projects are in the heads of the contributors.
During some fiddling with Lua-modules for natural language generation (NLG – look it up!) it became very clear that doing something like that without proper testing would be very hard, if possible at all. Because of that I started fiddling with a on-wiki library for behavior-driven development, and also ideas from acceptance test–driven development. Those ideas were then later on reformulated as the projects described as Grants:IEG/Lua libs for behavior-driven development and Grants:IEG/Lua libs for acceptance test-driven development. After further work it became clear that they were in fact spec-style and step-style testing. The current project is for the spec-style part.
In this project I think the biggest problem would not be to create the libs, but to communicate that proper testing is something we want to do to increase the overall quality of the presentation. It will not increase the quality of the content itself, but it will increase the quality of the presentation. It will also facilitate implementation of more advanced Lua-modules, and maintenance of those modules.
And one thing, thing will break when you start testing them. :D