Building a JS Interpreter in Rust Part 1

So I’ve decided to have a go at building a JS interpreter in Rust. I’ve wanted to do this for a while for a couple of reasons:

  • Learn Rust
  • Learn more about how JS implementations work
  • Learn more about the JS specification
  • There isn’t a fully fledged compiler in Rust yet for JS
  • It’s fun!


Chromium adds initiator blackboxing

I don’t know about you, but I’ve been in situations where modules or random scripts get loaded into the page and i’m not sure what brought them in.

My first step is to open up Dev Tools and check the networks panel, then look at the initiator column. If you haven’t seen this column before it’s a great way to see what the dependencies are for scripts, or what originally initiated the download of an asset such as a CSS or JS file. You can find more out about the initiator column here.


When should you show paddles within a carousel?

Paddles on carousels and when to display them have always been an ongoing topic within the BBC.
There are various approaches which may work for some users but not others, and I’d like to propose a solution which often works well for us.

But first.. An example.
Below is the 6 Music homepage, we keep the paddles on below the scroll bar and visible at every breakpoint.


Rust Enhanced reaches 50k downloads

In case you didn’t know there is an official Rust Package for Sublime Text 3. Its called Rust Enhanced, and we’ve had a great year in 2017. During September – October Rust Enhanced made it into the top 15 trending Sublime Packages on package control, and received over 50k downloads, so this calls for some celebration!.


Radio Explorer – What we’ve learned

Almost a year ago we put Radio Explorer live, a project that was born from one of our learning and innovation days, a 10% time initiative


Building the Responsive Radio Nav (Using BDD)

The aim was to have a more up to date navigation bar which is fully responsive across all platforms. We took the Behaviour Driven Development (BDD) approach which involved us writing tests & defining the behaviour of our nav first. Before doing that we needed to come up with a way this nav would work. (more…)