Christian Heilmann

Author Archive

2018 in events and trips

Tuesday, January 8th, 2019

I just did a quick round-up of my events and trips in 2018, and despite me promising myself to do less, it tallies up to quite a bit. Here is my 2018, and I am not quite sure if I haven’t missed some bits and bobs:

January

February

March

  • MVP Summit – a Microsoft event for Most Valuable Partners/Programmers
  • PAX Day – a planning event with the team I was with back then
  • Techdays Finland – again a Microsoft centric event, but great fun.

April

May

  • Beyond Tellerand Duesseldorf – a must, every year
  • //build – Microsoft’s flagship event for developers
  • Influencer Day – this is an event we run right after build where we invite selected people to peek under the hood and have meetings with our development teams for candid conversations
  • We are Developers Vienna – as described in my blog post I gave a workshop, the opening keynote, acted as MC and took part in a panel about artificial intelligence and ethics

June

  • NDC Oslo – I love this event, great crowd and super speaker community
  • EnterJS Darmstadt – this is the first time I did that one, an enterprise-ish, German JavaScript conference. I got a lot of good leads from that one, giving the opening keynote and a talk I think :)

July

  • Video Shoots One Dev Question – these are a great format, where you get one question to ask in videos of tops 2 minute length, so that they can be put in tweets. I shot a series for Webhint and another for VSCode. I’ll do more of those.

August

September

October

  • Web Unleashed Toronto was my first time at an FITC event, and I will be back this year, they do a great job. My notes and resources are here .
  • Nuremberg Web Week was an odd one, as I was asked by people of the local government to present there. It was great as my family lives nearby, so I could bring my nephew.
  • DevFest Nantes – this was one of the biggest DevFests and interesting to present there. I got really good feedback for the keynote.
  • TDC Trondheim – I was there once before and very happy to come back. Again I did a lot of work and had a great time seeing some surprising talks

November

  • DevRel Summit Singapore was insightful, I wrote in great detail about my findings there
  • BTConf Berlin – I didn’t present, but helped with the warm-up
  • Halfstack London – good show, always, as I explained in my post
  • Codemotion Berlin – I was let down by Codemotion events in the past, but this one really worked, as I explained in the post here
  • DotJS Paris – I went to man the Microsoft booth there, but this year I shall be back to present :)

December

  • We are Developers AI Congress – I went back to Vienna to give the opening talk and MC the AI Congress for the two days. Some really great material there.
  • FHWS Wuerzburg – I went to the place I grew up to give a guest lecture at the university I would have gone to had I chosen to pursue a degree :)

All in all a nice, full year, and I managed to squeeze a few more podcasts, a book chapter and some articles in magazines, too. Don’t try this at home. It is exhausting, but I am happy that I have these opportunities to work with so many amazing people.

Chris Heilmann on plane

Let’s make Machine Learning on the web and in the client happen. We need your input!

Friday, December 14th, 2018

Machine learning and deep learning is the hot breakthrough in computing and a well-hyped topic. How “intelligent” your systems are can be a significant factor in sales and many a mobile device is sold as “personal AI” for your convenience.

O hai, robot

There is no question that learning interfaces are superior to hard-wired ones. The biggest example to me is the virtual keyboard on my mobile. The more I use it, the better it gets. It doesn’t only fix typos for me but also starts guessing the words following the current one correctly. And it doesn’t even matter if I swipe in English or German, the system is clever enough to recognize my needs based on earlier actions on my part.

Machine Learning is everywhere – it is just not accessible to most developers

I love the idea of learning machines and I think it is an inevitable step in the evolution of human-machine interaction. What we saw years ago in Star Trek – a ubiquitous computer at our beck and call with a voice interface – is now common. And we use it mostly to ask it about the weather. It makes no sense that we need to buy a certain device to reap the rewards of a new technology – I want this to be available on the web and any device.

The problem I have with this new evolution in computing is that it is opaque and locked to a few vendors. I love the web for what it is and how it broke down closed development environments and vendor lock-in when it comes to tooling. Anyone can start developing on the web, as it is the one and only truly open and distributed platform we have. The difference is the skill you have, not what device you have access to.

Now, when it comes to Machine Learning on the web, things look a lot less open and mature than I’d like them to be. In order to train models or to even get insights from models you need to use a third party service or library. Out-of-the-box, you can’t do any training or even image or facial detection in the browser.

Enter the WebML Community Group

I think this needs to change, which is why I am happy that there is a new community group of the W3C that works on an API proposal for Machine Learning on the web. This work started with Intel and Microsoft and I am happy we’ve come quite far, but now we need your help to make this a reality.

Let’s quickly recap why Machine Learning on the web and on device is a good idea:

  • Enhanced performance – results from trained model are returned immediately without any network latency
  • Offline functionality – lookups running on device don’t need a connection to a cloud service
  • Enhanced privacy – it is great that many cloud services offer us pre-trained models to run our requests against, but what if I don’t want that image I just took to go to some server in some datacenter of some corporation?

As with every innovation, there are current limitations and things to consider. These are some of the ones we are currently working on in the discussion group:

  • File size – well-trained models tend to be on the large side, often hundreds of megabytes. Using file sizes like that on the client side will result in I/O delays and also extensive RAM usage of browsers or your Node solution
  • Limited Performance – browsers are still hindered by a single thread JavaScript engine and no access to multiple cores of the device. Native code doesn’t have that issue which is why we propose an API that allows access to the native ML code on different OSes instead of imitating them.

The current state of affairs

Currently you can use tensorflow.js and onnx.js to talk to models or do your own training on device. Whilst there are some impressive demos and ideas floating around using those it still feels like we’re not taking the notion that serious.

That said, it is pretty amazing what you can do with a few lines of code and the right idea. Charlie Gerard’s learning keyboard is a great example that uses tensorflow.js and mobilenet to teach your computer to recognize head movements and then control a keyboard with it.

Why not just offer this as browser functionality?

One of the requests we often heard was why browsers don’t have this functionality built-in. Why can’t a browser create an alternative text for an image or recognize faces in a video? Well, it could, but once again this would mean your data is in the hand of some company and said company would control the functionality. It is no better than the offerings of native platforms in their SDKs. The web doesn’t work that way.

How can you help?

We’re right now in an experiment and investigating phase. As rolling out a new standard in the W3C isn’t a matter taken lightly we want to make sure that we deliver the right thing. Therefore we need to get real-life implementation examples where running ML on-device would make a massive difference to you.
So, please tell us what use cases aren’t covered in a satisfactory manner in the current web-talks-to-cloud-and-waits-for-data-to-come-back scenario.
We’re not looking for “I’d like to do facial recognition” but scenarios that state “If I had face recognition in JavaScript, I could…”. I’d be very interested in companies who do need this functionality to improve their current products, and I am already working with a few.
You can reach me on Twitter , you can fill out this form , or you can mail me at chris.heilmann@gmail.com with the subject “[WEBML scenario]”.

Thanks for your attention and all the work you do to keep the web rocking!

Feeling chart – to make you write more goodly with better emotionness

Monday, December 10th, 2018

Lagwagon: Let's talk about feelings

(Or something like that)

A few weeks ago I found this incredibly useful chart that describes different emotions you can use when you write about, well, emotions.

unreadable chart

As you can see it’s been through the optimise-by-force mill of several posts on Facebook and other social media mangles and thus has become hard to read.

Fret not, for I spent the five minutes to turn it into a more readable interface.

You can find the source code of the HTML version on GitHub or click through it in all its glory on capable browsers. Older browsers get a simpler interface. I tried to make the showing and hiding as accessible as possible, but there is still space for optimization which I will ponder when I am back from the Christmas market.

Enjoy.

Let’s all go to the pub – to learn about web development – Halfstack 2018 in London, England

Thursday, November 22nd, 2018

Halfstack is a conference that is close to my heart. Because it is in London, because it is in a pub, because it is run by a person who is lovely, ginger and did so, so much for the JavaScript community over decades without having a huge ego or being weird: Dylan Schiemann.

This, in addition to a few other factors, makes Halfstack incredibly affordable, relaxed and at the same time full of great content. That’s why I keep presenting there, even when this time – for the first time – I had to fly to London to participate.

This year had quite an amazing line-up and a lot more talks than the past editions. The average talk length was a lot shorter than in the earlier years. To me, that’s a good thing. Better to make one point really well than treating an audience once again to the history of computing and how that relates to that brand new technology you actually wanted to talk about.

I shot a lot of photos, all of which are in this Google Photos album and here’s a quick recap of the talks.

The talks

Chris Heilmann, Microsoft: “Bringing best practices front and centre”


My opening keynote was about what we consider best practices and how they are often not applicable in context. How we miss out the opportunity of making them a starting point for new developers rather than something they have to learn to value after making the same mistakes we did before. With open and extensible editors like Visual Studio Code and tools to test the quality of our products while we deploy or even create them like webhint, we have a chance to embed our knowledge into the development flow instead of hoping people start caring.

My slides, resources and twitter reactions for ‘Bringing best practices front and centre’ are on notist.

The video of my keynote is here

Ada Rose Cannon, Samsung: “The present and future of VR on the Web”

Ada Rose Cannon and Alex Lakaitos

Ada Rose is chock-full of talent, knowledge and does a lot of good work to move the web into the third dimension and beyond. Working for Samsung’s Internet browser has its benefits as you have access to a lot of hardware to test. Ada showed examples from the history of VR/AR and XR and how it applies to web technologies. She ended with a call to action to support the Immersive Web Community Group of the W3C to get this work further along. It is fun to see someone who is so emerged in a topic explaining it in an accessible manner rather than drowning in jargon.

Ada Rose’s video is here

Alex Lakatos, Nexmo: “Building Bots with JavaScript”

Alex Lakatos worked with me at Mozilla, back then as a community member and was one of the first to benefit from their speaker training program. And it shows. In a few minutes he explained the benefits and pitfalls of bots as a platform and communication channel and showed in live demos how to train a bot in JavaScript how to understand humans. Both his slides and his demo code are available.

You can watch Alex’s video here

Alex also runs the developer avocados newsletter, a great resource for Developer Advocacy, call for papers and all that is related to that.

Anna Migas, Lunar Logic: “Fast But Not Furious: Debugging User Interaction Performance Issues”

Anna Migas presenting at halfstackconf

Anna Migas doesn’t only have an incredibly easy to remember Twitter handle (@szynszyliszys), she also has done a lot of homework in the area of web performance when it comes to making interfaces react quickly to the user. There is a truckload of information on the topic out there, and Anna did her best to distill it for the audience into sensible, digestible chunks in this short talk. Well worth a watch and share. Her slides are here to peruse.

The video of Anna’s talk is available.

Liliana Kastilio, Snyk: “npm install disaster-waiting-to-happen”

Liliana Kastilio presenting

Liliana Kastilio gave her first ever presentation and covered a lot of security ground about what not to do in your JavaScript. I expected a different talk considering the title, but I was not disappointed. A lot of sensible takeaways in a short amount of time.

If you like to see the talk, the video of Liliana is here

Andrico Karoulla, Trint: “Enter ES2018

Andrico Karoulla on ES6

Andrico Karoulla is heir to a Fish and Chip shop and thus should already be set for life. However, his passion is telling people about the cool new features of JavaScript and he did so in a short talk. He didn’t only tell us about the features, but also managed to explain why they are important and what real implementation problems they fix. Good show, even when he had a tough time speaking into the mic and coding at the same time. :)

See Andrico battle the microphone and typing at the same time in the talk video.

Stephen Cook, Onfido: “100% CSS Mario Kart”

CSS trick used to fake interactivity

Stephen Cook delivered the first jaw-dropping talk of the day by creating a CSS Mario Kart game. He applied a few interesting tricks, like a negative delay on CSS animations and using the validity state of the hidden form field to read out keystrokes in CSS. I’ve seen a few demos like that before, but it is pretty impressive to see it done live in such a short amount of time including explanations why some of these tricks work.
Both Stephen’s slides with explanations about the hacks and the demo of the Mario Kart animation are available

Here’s the talk video of CSS Mario Kart in all its glory

Sean McGee, Esri UK: “Buying a House with JavaScript”

Sean McGee presenting

Sean’s talk was a big let-down for anyone who thought they could learn how to afford buying a house in London with JavaScript as your only skill. If you came to learn about creating a clever mash-up of house offers, crime and travel information, you had a great time. Sean explained not only how to scrape the data, but also how to mash it up and display it in an intelligent manner that allowed him to find an affordable place with all the trimmings he wanted. As a former pipes/YQL and maps person, I was very happy.

See Sean do his map overlay magic in the video.

Jonathan Fielding, Snyk: “Home Automation with JavaScript”

Jonathan Fielding is another person who spoke at a few Halfstack events and this time he covered the topic of home automation. It is a great topic and a market that needs cracking open as there are not many standards available. Instead you need to do a lot of reverse engineering and tinkering and Jonathan explained in an accessible fashion how to do this. Amongst other things, Jonathan lit and changed the colour of light bulbs on stage and deactivated his home security system – as you do.

See John have a lightbulb moment in the video.

Rob Bateman, The Away Foundation: “Reanimating the Web”

Rob Bateman with his TypeScript joke

Rob gave a similar talk at the warm-up of Beyond Tellerand Duesseldorf earlier this year, so you see the high quality and lots of work that went into this. He covered the history of animation on the web and went deep down into the nitty gritty on how we can ensure both that animations are buttery smooth and comparatively fast to native solutions doing the same things. A good reminder that we had a lot of innovation in the Flash space, and we now need to catch up again – both in tooling and in our approach to write animations.

Learn all about web animation and performance in the video.

Carolyn Stransky, Blacklane “The Most Important UI: You”

Carolyn on Self Care

Carolyn Stransky was the second “wow” moment for me this time. Her talk (slides are available here was about self care, how to be good to yourself and how to ensure we are not creating a horrible work environment. I’ve seen a few of these talks, but often they are high-level and “why aren’t we all better at this” finger pointing. Carolyn did a great job showing a truckload of resources you can use to make your life a bit easier and better and explained how to use them instead.

If you’re a conference organizer, contact her. This was absolutely lovely.

Watch this talk video right now – it is amazing.

Tom Dye, SitePen and Dylan Schiemann, SitePen: “Cats vs. Dogs”

Tom and Dylan mostly did this talk to play out their fetish of wearing rubber animal masks:

Rubber cat and dog masks

Other than that kinky interlude, the talk was about all the weird little discussions and endless threads we have as a community about pointless things like tabs vs. spaces.

Cats vs. Dogs

The real important part here was though that they build a PWA that allowed the audience to vote for cats or dogs and control the speed of their tails wagging. You could also make them miaow or bark. ARE YOU NOT ENTERTAINED?

See dogs vs. cats in action in the video.

Cameron Diverand and Theodor Gherzan of Balena: “JavaScript at the edge”

Controlling a board of LEDs in JavaScript

Cameron and Theodor showed how to control a board of LEDs in JavaScript with sound coming from the audience. They didn’t talk about the Edge browser, which – to me – was disappointing. If you like the sort of thing of doing crazy hardware things in JavaScript, though, this was a lot of fun.

Check the presentation full of blinking lights video here.

Jani Eväkallio, Formidable: “This Talk Is About You”

Jani did a poetry reading at the last Halfstack. This time he went further and did a visual storytelling kind of presentation reminding us that we’re not victims of the market we are in but should be much more in control over the quality of and the impact our code has on the world. This is tough to explain, it may make more sense to wait for Halfstack to release the video, as it was thoroughly enjoyable.

Jani does a lot of performing and is a joy to see present. Check it out. The keynote file of his talk is here. He also organises a technology comedy night called Component did Smoosh and the next one is 30th of November in Berlin.

Pour yourself a cup of tea and watch Jani’s talk

Tony Edwards, Software Cornwall: “Beats, Rhymes & Unit Tests”

Tony Edwards is an incredibly passionate person about the web and organiser of the FutureSync conference, where he was crazynice enough to invite me to speak. In this session he covered the experimental web speech to text API and tried it on different rap lyrics with not much success. He then proceeded to do a live rapping session expecting the (mostly) British audience to go wild like a rap battle in Detroit or LA. It worked to a degree though, and his rap was much better converted by the API. All in all a thoroughly enjoyable talk by a multi-talented, nice bloke.

As a side node, using a full fledged deep learning API would give you much better results. The big thing about text recognition isn’t the interface to the browser, but the quality of the trained model. And they don’t come cheap which is why Mozilla tries to open-source that idea with their Common Voice project.

Professional detection software also started mixing audio recognition with lip-reading, which is incredibly exciting and yields much better results.

Check Tony’s video before you wreck yourself

Joe Hart, Blend Media: Alpha, Beta, Gamer: Dev Mode

Competitive Tetris

Joe Hart’s talk was a splendid end of the evening. He covered oddities in the history of computer gaming and had a lot of interactive games with the audience. A Flappy Bird clone that worked by shouting at it, a Tetris clone where one player painted impossible Tetronimos and the other had to fit them in and other cruel measures to make the audience have fun and participate. Joe Hart is a Fringe presenter, so there is no question about the quality. This was fun from start to end.

Check out the funniest gaming talk video I’ve seen in a while

Summary

Pub Quiz

Yes, Halfstack is different and the quality of the projector was questionable. The food was lovely though and having it in a pub means speakers are much more relaxed and lapses in their presentations much easier forgiven by the audience. Dylan and team are trying to take this concept on the road and for the first time plan to do a Vienna and NYC edition of the conference. I am really looking forward to seeing this succeed. I’ll be back and I’ll be having a great time again. Halfstack is an easy-going, yet valuable and highly diverse event, and well worth the money.

Codemotion Berlin – AI for good keynote and making people happier JavaScript developers

Thursday, November 22nd, 2018

Audience at Codemotion Berlin

The day before yesterday I was honoured to open the Berlin Edition of Codemotion
. Codemotion touts itself the biggest developer event in Europe and is a multi-track event in Amsterdam, Rome, Madrid, Milan and many other European locations. I spoke there before in Rome, but I have to say the event grew much bigger and they do a great job with the marketing around the event.

Christian Heilmann presenting at Codemotion Berlin

My opening keynote covered the topic of ethics in AI and democratizing Machine Learning. I made sure to end on a positive note and invite anyone to start playing with and owning these technologies instead of just becoming consumers or victims of it.

In addition to the keynote, I also got interviewed by InfoQ on the same topic and you can read the interview and my answers here .

I collected the slides, resources and tweet reactions of the opening keynote on notist.

Christian Heilmann presenting at Codemotion Berlin

My second task was a more technical JavaScript talk about getting to grips with the changed world of JavaScript without feeling overwhelmed. Again, all the resources, slides and tweet reactions of the JavaScript talk are on notist.

I’d love to say more about the event, but with me being interviewed in between and generally having a bad cold, I didn’t watch too many other talks and stayed in the shadows.

That said, I managed to bring my partner and the web-famous Larry the dog to the speaker dinner and he was a much bigger success than I could ever be .

I’m looking forward to the videos and the interviews done at Codemotion and thank everyone I met, as there were some interesting leads for me.