Agile CSS and frontend testing at the JavaScript Days
We attended the JavaScript Days (JSDay) in Verona and I summarized my favorite talks for you to enjoy. After the opening chat by the GrUSP guys – did you know they not only organize PHPday and JSday, but a number of other smaller conferences like better software and kerning? – the madness started:
Metaprogramming in JavaScript
Massimiliano Mantione, who previously worked on v8 team at Google, starts the day off on a skeptic note: “We all know that JavaScript is powerful but it can be a really terrible language when misused. It lacks several advanced features that are taken for granted in other languages. One technique that is overlooked is metaprogramming.” Mantione developed Metascript taking the best bits of Coffeescript, Typescript, Lispyscript, Clojurescript, Lisp and Haskell. Code that can modify your code, that compiles to JavaScript…
Metascript has a readable syntax and at the same time allows for lisp-style metaprogramming (macros that can manipulate the AST). Lisp-like languages have a ‘clean’ syntax per definition: they explicitly use parenthesis everywhere to express the grouping of expressions. Metascript uses a combination of parenthesis, indentation and infix operators to ensure that the syntax is similar to a number of mainstream programming languages, and can be used interchangeably. The next steps for Metascript would entail completing the compiler and the metaprogramming system. Writing standard macros and publishing a module on GitHub are also on the road map. As is implementing a type system. One to watch.

NSA.js – really tracking user interaction
Danni Friedland (eBay IIC) dislikes how current tracking solutions are sub-optimal. Charts, graphs and heatmaps are too abstract. There’s no up-close-and-personal with your user. What if you could see what the user sees? You’ll have to record everything and add an Eventlistener
to scrollObserver
, mouseObserver
, ViewportObserver
(screen sizes), TestSelectionObserver
, track focus in/out, URL changes, the open or closing of a popup… (more…)