ASTs, or abstract syntax trees, are tree-like representations of your code. Once your code is represented as an abstract syntax tree, you can perform all sorts of tasks on it, such as analyzing your code for problems or transforming it. It fact, many tools that you use today, such as Babel, Prettier and ESLint leverage ASTs to perform their work. In this talk, I’ll talk about what ASTs are, and we’ll look at some examples using AST Explorer. Additionally, I’ll show how you can use jscodeshift and recast to automate code changes on your existing code base, including examples that I have done on my own code base. Why take hours performing tedious and error-prone manual changes, when you can automate them in minutes?
An Atari 2600 has 128 bytes of RAM. Only 128 bytes. Not even enough to buffer a single screen frame. This, in a console designed specifically to play engaging, animated games. What did developers who wrote games for the Atari 2600 do to work around these resource constraints? And what lessons can we learn from them as we strive to tame the megabytes of data we send to the browser to render a single page? I'll share some history, along with some lessons as we look at how to better work within our own browser's constraints.