lnug / speakers

Open an issue to submit a talk
https://github.com/lnug/speakers
44 stars 7 forks source link

Build your own WebAssembly Compiler #163

Closed ColinEberhardt closed 5 years ago

ColinEberhardt commented 5 years ago

Build your own WebAssembly Compiler

For more than 20 years JavaScript has been the only 'native' language of the web. That's all changed with the release of WebAssembly. In the coming years, you'll see people writing web apps in Rust, C#, C++ and all manner of other languages. But just what is WebAssembly? And what’s all the fuss about? WebAssembly is a low-level compilation target, which means that it is unlikely you’ll use it directly. However, as developers and hackers, we love to know how technology works! In this talk, Colin will look at some of the internals of WebAssembly, explore how it works ‘under the hood’, and look at how you can create your own (simple) compiler that targets this runtime.

About me - I'm a technology enthusiast, working for a consultancy by day, and enjoying myself with open source by night. Here's my blog if you want to find out more about me! I'm a keen WebAssembly enthusiast, I run WebAssembly weekly and did quite a few 'scene setting' talks on WebAssembly last year.

For this talk I want to do something different, delving into the details of what WebAssembly actually is, through the process of creating a compiler that targets WebAssembly.

I'm actually giving this to at FullStack NYC in May, so would really love the opportunity to do this talk in April as a bit of a rehearsal. It will also help me avoid the usual, last-minute rush to get the talk finished!

hewIngram commented 5 years ago

Hey @ColinEberhardt,

This sounds awesome! I don't think we've had (@admataz or others, correct me if I'm wrong) a talk about WebAssembly before.

Rust + WebAssembly has been one of the things that's been on my (admittedly long and neglected) list of things to play with. Would this cover the basics for us uninitiated in WebAssembly?

admataz commented 5 years ago

Actually we did! in January @shakyshane gave a great intro to WebAssembly - but I think there's enough of a different angle in this proposal, and enough interest from all of us to justify another talks and to expand on what we learned then.

see Shane's proposal here: Web Assembly and the future of the Web · Issue #155 · lnug/speakers

And the video of his talk here: https://www.youtube.com/watch?v=obQrEEe9v74&list=PLam_80-FY3vS1Cjo_Pwoc5FIBp-VyTKTB&index=2&t=0s

I'd say we have enough to go ahead with this for April.

ColinEberhardt commented 5 years ago

Rust + WebAssembly has been one of the things that's been on my (admittedly long and neglected) list of things to play with.

I used WebAssembly as my own personal excuse to learn a little bit of Rust (I'd hear so many good things about it, but not used it before). Here's what I created:

https://blog.scottlogic.com/2017/12/13/chip8-emulator-webassembly-rust.html

Would this cover the basics for us uninitiated in WebAssembly?

Because WebAssembly is a compilation target for a wide number of languages, I'm not going to cover the tooling for any specific language (Rust, C#, ...). Instead, I want to explain the basics of what WebAssembly is, then delve into the details - look inside the black box that is the WebAssembly Virtual Machine.

If you do want to know some of the specifics, by all means come and chat to me. I've used a variety of different languages in my own personal exploration of WebAssembly.

hewIngram commented 5 years ago

EXCITING!

Can't wait @ColinEberhardt

admataz commented 5 years ago

Hey @ColinEberhardt - just confirming you are all good for this Wednesday?

How are things looking for your talk? All good?

details of the venue:

CONDÉ NAST
ADELPHI BUILDING
1-11 JOHN ADAM ST
WC2N 6HT

I will be there with other organisers from about 6:15pm getting a few things set up - people start arriving around 6:30 and we plan to start with talks after a brief intro and welcome at 7pm

If you have any issues - please call me: 07757234443

See you there!

ColinEberhardt commented 5 years ago

Hey @ColinEberhardt - just confirming you are all good for this Wednesday?

Absolutely, all good and ready! (well ... mostly ready, the talk is still a WIP 😉)

I'll be there around 6:15. See you later.

ColinEberhardt commented 5 years ago

Thanks @admataz (and team) - really enjoyed the meetup.

As mentioned at the event, I'm very happy for the video to go online, but would like it held back for a few weeks until I've given the same talk at FullStack NYC - May 17th. Thanks :-)

Ankcorn commented 5 years ago

Thanks, @ColinEberhardt! Amazing talk :)

admataz commented 5 years ago

Yes - noted @ColinEberhardt - will make sure nothing is uploaded till you have done your talk

Otherwise - thanks again - I've heard nothing but good things - and looks like people on twitter are really keen to hear more.

If you have any feedback on the organisation of things - please feel free to add it!

overlookmotel commented 5 years ago

I'd love to see the video of this talk. Now that @ColinEberhardt's FullStack NYC talk has passed, when you have a chance, could you possibly upload the video?

ColinEberhardt commented 5 years ago

Unfortunately I didn’t make it to NYC - flight was cancelled.

If you’re interested, here’s a write-up if the talk:

https://blog.scottlogic.com/2019/05/17/webassembly-compiler.html

overlookmotel commented 5 years ago

Thank you @ColinEberhardt!

hewIngram commented 5 years ago

The talk is now up!!

https://www.youtube.com/watch?v=laM5bM_cMjA

admataz commented 5 years ago

Also now on our LNUG channel: https://www.youtube.com/watch?v=_xcF7DBqd08&list=PLam_80-FY3vRIHHhzyFPiXMGQLNfOdxk3

Thanks again @ColinEberhardt - see you again soon!

admataz commented 5 years ago

@ColinEberhardt - I just caught up with the earlier message - so sorry to hear that!