Speaker

Nuri Halperin

Nuri Halperin

Software Architect, Author, Speaker

Santa Monica, California, United States

Nuri Halperin is a software architect, speaker, and author. He helps companies design scalable systems, websites, and business applications. He’s been turning projects into success stories for a variety of clients for over 2 decades.

He authored of several Pluralsight.com courses. He's also a Microsoft MVP alum, a MongoDB Champions member, and recipient of MongoDB's William Zola Award for Community Excellence. He enjoys tinkering with Arduinos, 3D printing, and robotics.

Area of Expertise

  • Information & Communications Technology

Topics

  • Software Architecture
  • NoSQL
  • mongodb
  • .NET
  • Azure
  • Node
  • Cloud Architecture
  • Training
  • JavaScript
  • Speaker
  • dotNet
  • c#
  • python
  • Node.js
  • database
  • SQL
  • Big Data
  • GCP Data
  • Cloud Spanner
  • MongoDB Atlas
  • public speaking
  • AWS DynamoDB
  • GCP Bigtable
  • HBase

You Got This! Presentation and Public Speaking Skills for Everyone

Public speaking can be intimidating. Common symptoms include stumbling over your words, struggling with slides, or technical glitches. And oh: feelings.
Good news: all of these challenges can be overcome with the right attitude and skills.

In this workshop, you will learn how to find joy in speaking, apply proven techniques and tips, and adopt a mindset of exploration rather than perfection. You will also discover how to engage and connect with your audience when speaking.

This workshop is for you if:

* You want to deliver effective and enjoyable presentations at work (or elsewhere!)
* You feel nervous or anxious about speaking in front of a crowd
* You are already a speaker and want to enhance your skills

Modeling: The Art of Understanding Your App Before Building It

Troubleshooting problems in existing applications is no fun. Worst, it happens at 3AM and creates a time crunch to come up with a solution. Wouldn't it be nice if you could predict these issues before they happened?
Enter modeling. Modeling is a powerful tool for predicting the behavior of an application or system developing and deploying it. Modeling allows you to analyze potential issues before they occur, rather than waiting until something goes wrong. Tweaking the model or its parameters lets you explore your system safely, without risking production changes.

This talk will dives into modeling system behavior using Python with common libraries. Combining simple techniques with visualizations you will be able to study your own applications before you ever built them (or after - that works too!)

Adopting a modeling mindset to existing and new systems will put you on the path to designing better applications and give you the confidence that the design will work in real life.

Common Query Patterns in MQL (Mongo Query Language)

Every query is unique. And with some 30 Aggregation Framework pipeline stages available, query variety seems infinite.
But practice, we can identify patterns of querying that form the basis for most queries.

This session highlights the major pipeline stages and how they combine into common patterns.

Attendees will learn:
- The essence of major pipeline stages
- How to combine those into common MQL queries
- Performance considerations in MQL

Design Good Schemas - Get a Better Database

Table schemas in relational databases have a huge impact on your future performance and ability to maintain your application. In a world of CI/CD this is amplified since it can hold back your deployments and flexibility.

So how do you design tables that serve your applications well? Is normalization to the Nth degree sufficient? Can't I just throw an index on a table and get good performance? Just develop a POCO/POJO and let your ORM take care of it? (No, no, and no!)

In this session, you'll find out how to step up your schema-design game by adopting a relational mentality. The session will cover aspects of modeling, mapping models to tables, and all the way down to data types and fields.

Creating FastAPI Fast

Do you want to create an API for your website, mobile app, or enterprise? Do you want it to "just work"? A bit of Python and FastAPI will help you do just that!

With FastAPI you can build commercial grade endpoints quickly using a low-friction approach for hooking API into your logic and an out-of-the-box fast HTTP serving layer. You will learn how to build an API with a full Swagger UI that is connected to your own back-end logic.

This workshop requires basic Python knowledge.

Data Migration Guide for Movers

Migrating a database sounds simple enough, until you start doing it…
What can go wrong? What do you need to get right? If you are going to migrate MongoDB data from one place to another - this session is for you! Taking structured approach to the migration process helps make things run smoother. Many things have to come together: questions to ask, decisions to make, and efforts to organize. Not quite a formula, but rather a roadmap that makes things run smoother.

After this session you will be better positioned to:
- Plan and estimate the migration effort
- Spot and mitigate important issues
- Execute a strategy that fits your unique challenge

Understanding MongoDB Durability in gory detail

If you are considering or running a MongoDB cluster, there are some important choices you need to make. One common concern - especially coming from an RDBMS background - is data durability. After all, what good is a database if it does not actually keep your data?
This session explores key features and characteristics of MongoDB and replica sets, forming the basis for understanding durability in MongoDB. We will cover standalone, replica sets, and common failure scenarios. After this talk, you will be well positioned to design replica sets and choose appropriate read/write modes for your applications using the database.

Transactions with MongoDB

Fresh off the press: Transactions in Mongo! In the past, MongoDB limited the atomicity of any mutation to one document. But with 4.0, multi-document transactions are fully supported! This session will explore the transaction behavior in Mongo. We will discuss some of the underlying mechanisms enabling transactions, as well as the behavior of transactions, sessions, and read consistency guarantees. We will also discuss caveats and reasons you might not want or need transactions after all.

The Art of Not Sucking at Technical Presentations

Performing in front of an audience, struggling with words, making slides, running demos that fail - everything and anything can go awry. But it's all a matter of perspective. Finding joy in speaking, using tried and true methods and tricks, and taking on a mindset of improvement rather than perfection can get you further faster and happier. Even better: your audience will appreciate it more.

It might be about attaining perfection in your presentation. But more likely, it's about trying not to suck.

Schema Modeling Patterns and Best Practices for MongoDB

Document oriented databases such as MongoDB and Cosmos DB let you store data in any shape and structure you want. The freedom from rigid schema may come at a cost though: performance, query flexibility, and resource costs may be negatively affected you understand data model implications.

This session guides you through core document modeling techniques that are tailored to the underlying platform. We will present modeling challenges and examples various real world application scenarios. Building on key best practices, you will be able to optimize your data model and meet the scale and performance demands of your application.

Program your first Humanoid Robot!

Robots are fun! So let's learn to program by experimenting on a human robot! In this gamified session, we will "program" a human to act like a robot. With a limited set of instructions (verbs), a limited set of input sensors, and a limited set of actions (movement). This fun-filled session will have you try out a few challenges in small teams, trying to conquer challenges like a robot would. Batteries not required.

Oh CRUD... Object-Relational Mapping Pitfalls

Object-relational mappers are a great database access technology but come with a set of challenges and pitfalls you may not be aware of. Consequences of using ORM may negatively impact performance, complexity, and even correctness of your application. In this session, we'll explore key pitfalls and debunk some assumptions developers make when using ORM frameworks as an afterthought.

MongoDB Replica Sets Clustering in Detail

Replica Sets provide high availability and durability. What exactly does this mean? How is data replicated? What about edge cases? Failure? Recovery? Answers to those questions and more will be explored during this session in detail. All too often, we just assume that things will work magically. This session aims to dispel some myths and uncover the mechanisms and realities of Replica Set clusters.

MongoDB First Steps

Getting started with MongoDB is not always easy. This gentle introduction goes heavy on the demo to show you what it feels like to use MongoDB as a developer. Rather than relying on extra frameworks and such, we'll access MongoDB directly from the shell and Node, and see how you achieve both simple and complex data manipulation tasks.

Along the way, we'll cuts through some myths and misunderstandings surrounding MongoDB. You will learn what's unique about this database, how best to leverage its capabilities, and be well positioned to use it for your application.

MongoDB Aggregation - The Art of Query

MongoDB is a NoSQL document-oriented database. How do you query data efficiently with better than SQL syntax? This talk is all about that! Whether you are a developer, DBA, or analyst charged with digging up numbers - the Aggregation framework is well worth knowing.

We will learn about the aggregation pipeline architecture, key syntax and see live demos of running simple and complex queries to satisfy any need. We'll also discuss some performance and best-practices when building aggregation pipelines.

Modeling Best Practices for NoSQL Databases

Document oriented databases such as Cosmos DB let you store data in any shape and structure you want. The freedom from rigid schema may come at a cost though: performance and query flexibility may suffer if care is not taken to understand data model implications.

This session guides you through core document modeling techniques that are tailored to the underlying platform. We will present modeling challenges and examples various real world application scenarios. Building on key best practices, you will be able to optimize your data model and meet the scale and performance demands of your application.

Hardware Meets Software Meets World - The delight of IoT

I spent most of my career in Software. But I always wanted to do more - to interact with the real world: hardware. In this session I'll share stories of exploration and challenges building small Arduino based things. Some connected to the internet, some with sensors, and some that just sat there and did nothing. Fun little ideas that worked, that failed, and which taught me a lot about hardware and about myself.

Document Database Querying Like a Champ!

To get the most out of your data, you need a rich and powerful query language. Using a language that is purpose-built for document oriented database such as MongoDB and Cosmos DB fits such needs beautifully. Sure - you ca poke at your data using id only, but you'd be losing on tons of power, performance, and flexibility. This session will teach you how to use the aggregation framework to compose complex queries that can go way beyond "where-field-equals-value" queries. You will learn all about the aggregation pipeline, the major operators allowing you to filter, group, and shape your query results. Leveraging these query techniques helps you broaden the usage of your document oriented database by performing both runtime CRUD and reporting functions, reducing reliance on extra reporting infrastructure.

Database Migration Lessons from the Trenches

Migrating from one database to another sounds simple enough, until you start doing it… What can go wrong? What do you need to get right? I'll be breaking down the process into discrete parts that together form a successful migration. In each part, we'll discuss the key players, motivations, and means that com together to achieve the best outcome. No two projects are alike, but once we take a structured view of the migration lifetime, it becomes easier to identify patterns and ways to get things done in a better way.

Database Migration Lessons from the Trenches

Migrating from one database to another sounds simple enough - until you start doing it… What can go wrong? What do you need to get right? There's a general method to the madness. The process includes discrete parts. Each part has key players, motivations, and means that fit together to achieve the best path. No two projects are alike. But leveraging this structured view of the migration lifetime it becomes easier to identify and lead the migration activities more effectively, producing a smoother migration and better outcome.

Common Mongoose Pitfalls and How To Fix Them

Using Mongoose as a "backend" for your Node application seems like an elegant comprehensive way to go. Once your application increases in complexity and scale, this very choice can prove slow, complex, and unreliable in subtle ways.

This session explores key scenarios where using Mongoose the "right way" proves problematic, and how to fix them. You will gain deeper understanding of the underlying MongoDB commands that are invoked and how to take better control of your data layer. We will focus the discussion on concurrency issues, runtime efficiency, and complex query processing. Developers using Mongoose's populate, hooks, or interested in transactions, aggregation, or complex scenarios would benefit from this discussion.

CosmosDB the easy way

What is the easiest way to interact with a document oriented database? A document oriented driver and query language of course! In this session I'll show you how to use CosmosDB using the MongoDB interface to achieve full CRUD with ease.

Building a Web Application with Cosmos DB - the Document Oriented Way

Cosmos DB is a fully managed cloud based database that scales with your needs.
If you are spending much of your coding time struggling to marshal data from your code into tables, this workshop will show you an easier way. We will build a web application that uses Cosmos DB as the back end. The workshop will teach you to leverage document oriented coding and design principals to develop applications with no impedance mismatch. The workshop will take you through the basics of Cosmos DB as a document database, designing schemas, and striking a proper cost - performance balance.

CodeMash 2024 Sessionize Event

January 2024 Sandusky, Ohio, United States

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

NDC Oslo 2023 Sessionize Event

May 2023 Oslo, Norway

KCDC 2021 Sessionize Event

September 2021 Kansas City, Missouri, United States

Music City Tech 2019 Sessionize Event

September 2019 Nashville, Tennessee, United States

Nuri Halperin

Software Architect, Author, Speaker

Santa Monica, California, United States