NirKaufman

Greater New York City Area · nirkaufman@gmail.com

Web developer. Community enthusiast. Organizer of meetups. International public speaker.
Trainer. Author of books. Google developer expert in web technologies.
When I'm not coding I make music, and vegan food.


Upcoming Events

Get inspired with React

Frontrunners ReactWashington, DC, USA

Let's explore React inside-out! Join me to a fun live coding session where we take a concept and break it into peaces until we have a total understanding of what's going on.

Event details on Frontrunners React website
December, 06, 2019

Become a JavaScript Electronic Music Producer

JS PolandWarsaw, Poland

Let's dive into the core concepts of electronic music production and find out how we can leverage our coding skills to create music.During this talk, I will show you how to use your code as a music instrument. Are you ready to take the main stage?

Event details on JS Poland website
November, 22, 2019

Unleash the power of Angular CLI Builders

NG PolandWarsaw, Poland

The Angular CLI is already a powerful tool that automates our development process for maximum productivity. During this session, we will take a step forward and learn why and how to extend the Angular CLI to perform a complexed, customized series of operations on our project with CLI Builders. Get ready for a productivity boost!

Event details on NG Poland website
November, 21, 2019

Angular & WordPress: Practical guide to headless CMS

International JavaScript Conference (IJS)Munich, Germany

WordPress is still the most popular and powerful content management system with a massive, robust community behind it. In this talk, I’ll show you how to use WordPress as a headless CMS, and build a modern and performant front-end for it using Angular.

Event details on International JavaScript Conference (IJS) website
October 23, 2019

Real-world advanced Redux patterns

International JavaScript Conference (IJS)Munich, Germany

Redux is a modern, lean, front-end library for state management based on good old messaging design patterns that have been used on the server side for many years. By choosing it as your state management solution, you have to change your state of mind and start programming with events. Through this session, we will learn practical advanced patterns and techniques for solving real-world state management problems using vanilla JavaScript and help from Redux.

Event details on International JavaScript Conference (IJS) website
October 22, 2019

[MasterClass] Progressive Web Applications - A Practical Guide

We will get a solid understanding and knowledge of the process and technologies involved in creating a modern web app, as well as practical tools and techniques. By the end of the session, we will deploy our application on a public server and install it on our mobile device.

Event details on ReactNYC website
October, 17, 2019

[MasterClass] React Hooks - A Deep Dive

React & React Native - IsraelTel Aviv, Israel

Master React hooks API - From the inside-out. We will start by building a small UI library from scratch, that implements a similar API to create components and hooks (A tiny React clone :). We will use vanilla JavaScript, no dependencies. Once we have done with his, we will explore React hooks in depth by a series of practical examples. By the end of this session, you will know everything about Hooks from the inside-out.

Event details on React & React Native - Israel website
September, 26, 2019

A practical guide for building modern PWA

GDG Rochester Devfest 2019Rochester, New York, USA

In this session, we will dive into the technology, tools, patterns, and techniques for building progressive web applications. By the end of this session, you will know how to leverage modern web technologies that will take your user experience to the next step.

Event details on GDG Rochester Devfest 2019 website
September 7, 2019

Refactoring with Uncle State

Join your favorite Uncle for a refactoring session! In the process, you will learn how to leverage tools, libraries, patterns, and techniques for productivity and clean code. And he might have some presents for you!

Event details on ReactNYC website
August 28, 2019

[MasterClass] Modern State Management Patterns & Techniques In React

During this MasterClass, we will explore practical, real-world patterns and techniques for state management in React - both local and global. By the end of this session, you will know how to use the new react-redux hooks API the right way, how to work with React built-in state management features - Context and component state - and how to choose the right pattern for the job.

Event details on ReactNYC website
August 21, 2019

Create your first Angular library

In this talk, I will g library from scratch using the Angular CLI. You will learn how to set up a project correctly, how to configure your library, and how to generate a sample project to test it

Event details on AngularNYC website
August 20, 2019

Refactoring with Uncle State

Join your favorite Uncle for a refactoring session! In the process, you will learn how to leverage tools, libraries, patterns, and techniques for productivity and clean code. And he might have some presents for you!

Event details on ReactNYC website
August 15, 2019

React Hooks MasterClass

During this session, we will master the API and usage of hooks by implementing a lightweight version of React from scratch using nothing but vanilla JavaScript.

Event details on ReactNYC website
August 8, 2019

Quickies

Make the entire document editable.

Controls whether the entire document is editable. Valid values are "on" and "off"
document.designMode = "on" || "off";
Click here to learn more

Destructuring arrays as objects

Sort unique numbers and destruct to find the highest and lowest values in one line of code.

    const numbers = [1,2,20,3,55,6,7,8,2,3,72,50];
    const {0:highest, length, [length - 1]:lowest} = Array.from(new Set(numbers)).sort( (a, b) => a - b );
    // highest -> 1, lowest -> 72
    
Click here to learn more

Get creative with React portals.

Create a portal to another window with react

    function WindowPortal({ children }) {
      const [externalWindow, setExternalWindow] = useState(null);

      useEffect(() => {
        const newWindow = window.open("", "", "width=600,height=400");
        setExternalWindow(newWindow);
        return () => newWindow.close();
      }, []);
    
      if (!externalWindow) return null;
      return ReactDOM.createPortal(children, externalWindow.document.body);
    }
    
Click here to learn more