Highlights of Node.TLV - NodeSource

The NodeSource Blog

You have reached the beginning of time!

Highlights of Node.TLV

On March 3rd of 2020, was the first edition of Node.TLV in Tel Aviv, Israel. The conference was created by the Node.js community in Israel hand in hand with contributors and collaborators from all over the world. 800 attendees, 22 amazing speakers, 20 sponsors, 10 committee members, 6 media partners and 4 main organizers made this event possible.

The event was incredibly well organized, ran smoothly, and the organizers made sure that both speakers and attendees had a great experience.

The Talks

Transforming a Country Through Code, Keynote - by Liz Parody

After the welcoming words from the organizers and a brief story of the Node.js communities in Tel Aviv, NodeSource’s very own Liz Parody had the honor of being a keynote speaker of the conference.

1

Liz talked about communities, technology and how it helped transform the reality of Colombia and Medellin. She also talked about some principles and lessons learned when building a successful community, such as having a code of conduct and having mechanisms to enforce it, give the speakers great experiences, make inclusion, accessibility and diversity a priority and others.

Stream Into The Future - By Matteo Colina

Matteo Colina did his talk remotely due to traveling restrictions. He explained how there was a time when Node.js streams were all the rage, but over time the Node.js Core Streams codebase became extremely complex and hard to understand! The introduction of the browser Streams API by WHATWG (The Web Hypertext Application Technology Working Group) further complicated the matter. The two Streams API’s were incompatible with each other and both were complex and leaky abstractions. In his talk, Matteo - who is a Node.js Core Streams maintainer - presented a stream-less future by demonstrating how pure JavaScript, Async Iterators and Generators can give us everything Streams can while being completely cross-platform and highly performant.

His talk was very popular and people had very good feedback.

Aaaaaaaaaaaaaah, They’re Here! ES Modules in Node.JS - by Gil Tayar

Gil Tayar talked about how Node v13.2.0 marked the first version of Node.JS where ESM support is unflagged, meaning you can start using ES Modules! It’s been a long, four-year journey from defining ESM support in the spec (June 2015!) until ES Modules could finally be used in Node.JS (November 2019).

Gil explores why it took so long, reflected on major hurdles, discussed whether developers should consider migrating to ESM, what the migration path looks like, and if ESM modules are really better than CommonJS Modules. Gil recommended to start migrating to ESM in about 6 months, because according to him, they are much better than CommonJS Modules, but the tooling are not ready yet. Finally he talked about what is in store for the future.

2

Take Your Monitoring to the Next Level - by Liran Haimovitch

In this talk, Liran discussed user activity and business metrics as the next level of monitoring; one that matters a lot. There is a lot that developers can learn from such data, which can be used by on-call devs, for new app versions, new feature planning, and more.

First, he covered the theory of what matters most, examined real-world cases and discussed concrete advice on how to get started. He then went through some of the tools developers can use and how to choose them wisely. Finally, he talked about debunking the myth of how hard this process is. To achieve that, he did a live coding session, adding business metrics to a demo application on-the-fly, and built a dashboard to display it.

Testing in Production - A Practical Overview With Live Examples - by Yoni Goldberg

Yoni Goldberg talks about how the testing world is experiencing a significant new trend - "Testing in production" which suggests putting more focus on realistic tests that are conducted with a production environment. This approach is already embraced by the world's most reputable R&D organizations and a handful of techniques exist to fulfill this strategy safely. However, most resources on this matter lack practical code examples and demos.

In his talk, he made the subject accessible by demonstrating how Node.js code and test runners can discover severe issues that couldn't have been discovered using traditional testing methods. Specifically, he talked about how to explore techniques like tap-compare, silent releases, traffic shadowing and more.

3

From npm init to kubectl create: Getting Started with Node.js on Kubernetes - by Kamal Nasser

In this session, Kamal Nasser talked about the basics of containers and Kubernetes. Step by step, his presentation covered the entire process of packaging a Node.js application into a Docker container image and then deploying it on Kubernetes. He demonstrated how to scale to multiple replicas for better performance. The end result was a resilient and scalable Node.js deployment.

After the talk, people left with sufficient knowledge of containerization, Kubernetes basics, and the ability to deploy highly available, performant, and scalable Node.js applications on Kubernetes.

Black Clouds and Silver Linings in Node.js Security - by Liran Tal

Liran reviewed several security horror stories from the Node.js ecosystem, allowing the attendees to learn about malicious npm packages, how they work, how to avoid them and how to apply npm and Node.js security best practices that every developer should know.

4

Async Hooks - A Journey To a Realm With Persistent Execution Context - by Shanee Radzewsky

Typically, most of the code in Node.js applications is asynchronous, making it difficult to share data between different async functions. Developers can pass the relevant data to each and every function, stringing it along until they need it, but this is not maintainable, and very prone to human error. Shanee explains how developers can create a shared execution context, using the async hook module and even get a stack trace for their async functions!

Building a Full Stack CMS for the Modern Age - Nader Dabit

In this talk, Nader shows how developers can rebuild Wordpress, a full stack CMS, using Gatsby, GraphQL and serverless technologies. He walks through the build process, discussing how developers can package and deploy the full stack that includes authentication, authorization, signed images, and database tables with just a few commands, giving users the power of wordpress with the elegance of React, Gatsby, and Serverless technology.

Nader Dabit

I Want to Publish My First Open Source Library - by Tomas Della Vedova

In this talk, Tomas discussed the benefits of Open Source, work with the community, choosing a license, API design and developer experience, the importance of writing tests, and how to write proper documentation. It is important to not miss any of those if you want your library to be successful.

Building a Sustainable Codebase with FP- by Carolina Pascale Campos

In this talk, Carolina explored how functional programming, tests and a hexagonal architecture can perform great together to support a maintainable codebase for hundreds of engineers and services. Diving deeper, she showed how developers can leverage hexagonal architectures with dependency rejection in order to decouple decisions from effects, resulting in a code that is easier to understand, compose and test. The codebase is not the only thing benefiting from that, but also the developers. It helps everyone maintain good practices, feel more comfortable and engaged.

5

Headers Propagation for Tracing in Microservices - by Dor Shay

When a user makes an action in a microservices-based system it might cause a huge amount of side effects. In some cases developers can pass payload attributes when requested, but it will require a lot of work to implement across the system. With few lines of code, developers can make this data accessible from anywhere in the system by passing the original request reference and context (for example user_id) in the headers and warping the node http module in a way that will keep this context to any incoming http request.

What Made Node.TLV Great?

1. Organization: Many attendees have said that this was one of the best organized conferences they had the opportunity to attend.

The organizers were very kind and delivered a great experience to both speakers and attendees; including food, great swag, clear communication, and facilities to network. This conference was a success because of them!

6

2. Diversity in Speakers: the organizers ensured to have a diverse lineup of speakers, including 7 talks presented by female developers, as highlighted by Shirly Biniashvli: .

3. The Food: the food was local and delicious and there were different options for different dietary conditions.

They made sure that we all had a sweet day!

7

4. Tel Aviv Tour: not only was the conference a success but the organizers arranged dinners and a tour of the old city of Israel as well as the dead sea, creating a unique and local experience for the speakers, especially for those coming from abroad. Well done!

8 9

Thank you Node.TLV! Until next year!

The NodeSource platform offers a high-definition view of the performance, security and behavior of Node.js applications and functions.

Start for Free