Ooo. A Call for Thoughts for organising next year's conference, that's clever.
Conferences are introducing anti-harassment policies but still seem embarrassed to talk about them, what they want to achieve with them and why they are necessary.
If it matters then use them and be proud, don't have them just because.
Douglas Crockford has stopped using null and this. Which makes total sense.
Uses undefined instead of null
Slightly more interestingly, he also rejects falsiness, thinks conditions should be strict booleans.
For and while are redundant when you have recursion and tail recursion.
Prototype inheritance saves memory allocation but doesn't make sense in modern computing environments
Advocating class-free object programming instead.
A constructor just takes a spec object instead of arguments. Probably works better with destructing than it does in ES5.
Key destructuring with let (so Clojure) would probably be awesome.
let has block-scope, which a reminder than var counter-intuitively doesn't.
Rather fatuously claims JSON is the last data format.
Question about memory restriction in embedded devices. Answer is that capacity increases constantly so it's not worth doing something for today's restricted environment that is going to cause problems tomorrow.
Value correctness over cleverness.
Unhealthy communities in open source cost the organisations involved.
Americans are always confused about the nature of companies, corporations and historic companies.
The LLC is the one that changed the balance of risk and responsibility.
Employees shouldn't be contributing to Open Source in addition to their job. Companies shouldn't claim their employee's own-time contributions as their open source contribution.
There's a claim for introvert exceptionalism that I'm not sure I agree with.
Companies have a role in creating inclusivity in projects, or at least not ruling out inclusivity.
Interesting point about large open source projects and large companies contributing to projects. You need better ways of resolving issues in that situation.
Daily Mail generates 700 pieces of content a day
DOM as data? I think I see some influence
Components are faceted structures where facets operate on their owning component.
Facets are namespaced functions.
Not the greatest description of the architecture.
Milo bind looks a lot like all template structures
The memory model is bound to the data facet in the component.
The binder is using the number of chevrons on a string to indicate the depth of the binding. Not obvious what the hell that is doing at first glance.
Not sure that counting the number of symbols is better than simply specifying the depth as an integer.
Looks like it does two way data-binding
WTF?! They're doing attribute rebinding between the model and the DOM
Data rewriting seems a bit more logical but less obvious that virtual properties to me.
Doesn't feel that two-way data binding is punishing in terms of performance
They added null guards on model access, .get will return undefined and create the underlying object tree as well if you use nested attributes.
Because that's never gone wrong.
Does string interpretation to generate an accessor. Again not something that could possibly go wrong.
Model change events are notified on the path of the accessor. Which makes sense except the user has to make sure the type prefix is unique.
Event subscribers can take a RegExp, wild.
They haven't shown any reactive programming yet.
Weird discussion of the disadvantages of synthetic access: they've invented property interpolation to parameterise access but naive code is very inefficient.
What do they do with event flooding from numerous model changes?
Yay! The return of the Registry pattern!
Connector objects simplify architecture by being universal
Daily Mail CMS has an overlay that indicates image orientation.
Also a very nice image pallette for all images that occur in a piece of content. Imagery is clearly very important.
Frontend performance is essentially voodoo. The obsession with remove characters or bytes and passing it off as "optimisation" instead of building performance profiles and addressing root causes.
Interesting point that complexity of a problem has to exist somewhere: either for users of a product or for the developers of the product.
However there isn't a right choice as to which side it is.
Code rules are very team specific so you need an extension to language convention checkers
What makes someone think that it is a good idea to finish their presentation with a promotional video for their company?
Final first day session is opening as a kind of weird Node circlejerk
Pointless rambling about whether people are moving from frontend or backend to Node.
Microservices are not a silver bullet no matter what Clifton Cunningham says.
People are constructing a little myth for themselves that Node is somehow a special fit for microservices.
Oh thank god someone has actually pointed out that SOA isn't uniquely a Node thing.
Sensible point that if you want to share a language you want to shared the compiled output not the source directly.
Jars (rightly or wrongly) are medium of exchange on the JVM.
Best question to the panel was from a colleague about the state of tooling and instrumentation in Node. Ops and platform have to part of the fullstack discussion.
Conde Nast have service tier per brand. Avoids the issue of having to prioritise multiple requirements across a platform.
Stack design seems to be standardised, presumably so developers can switch between brands with a minimum amount of relearning.
A platform team's customers are the developers that are consuming their services.
A single-language shop encourages developers to look at code outside their box.
Single-language means that developers have less barriers to pursuing their interests across the development landscape.
Well yes, obviously.
But the speakers are trying to make an implication that the opinion is one born out of ignorance which does not follow at all.
Adopting an application scripting language as your One True Language is obviously going to have some fundamental problems.
If you don't agree with that then why ES6?
HATEOAS dropped without explanation, is it really that well-known?
It also implies a super rigorous API design unless it means HATEOAS-like or simply Hypermedia.
I think the speaker means Hypermedia.
Showing a content search application, makes no sense as it has no context but it does remind me that understanding large content production systems is hard.
Finally moving to some fullstack issues, demarcation of roles means fitting work to capacity rather than priorities.
Also tangentially admitting that building websites is not really a hard problem in computing. Broader is better than deeper.
Yes! Using extended Markdown instead of WYSIWYG
Good point that in print you completely handcraft the visual experience and it is impossible to translate that to the web.
Embeds, the foundation blocks of the modern CMS.
Semantics (defined at a brand-level) are in the Markdown syntax. Seems like a great compromise.
Touches on content migration but I want to hear more.
Interesting point in the Browser Security talk about localStorage poisoning. Local storage isn't restricted to a domain.
Increasingly fonts, CSS and even HTML are being stored there.
Long description of the security improvements WebGL makes on top of the OpenGL.
This talk has morphed into a discussion of graphics card and their drivers.
After a long diversion it now comes back to the browser. Graphic drivers are fundamentally insecure and have access to kernel space. WebGL moves web programming out of the sandbox and userspace into a different, less secure area.
Future applications in the browser are going to be less document-based and more visual.
Add security testing into the build process.
The conference didn't really have a final session or concluding event.
Some of the hardware hacks get demoed and then that was kind of that. Spheros are cool tech toys.
Not even a nominated pub so far as I can tell.
Kings Place was actually quite a decent venue but the conference was really too small for the halls.