If you're hosting an event and would like me to speak, feel free to reach out.
Learn how you can audit smart contracts using the open source tools! Slither and Echidna are part of the standard toolset that top smart contract auditors use to audit Solidity contracts.
Decentralized Finance (or DeFi) is an emerging category of financial applications that are being developed on top of trustless networks.
In this talk:
A decentralized app or “DApp”, is an application that allows users to control and own their data, without oversight from any centralized provider, running on smart contracts.
Come and discover how you can write smart contracts and build decentralized applications! In this workshop, get a practical hands-on with the Solidity programming language.
A decentralized app or "ÐApp", is a software application that runs on a distributed computing system such as the Ethereum blockchain. As opposed to traditional centralized applications, where the frontend talks to APIs and datastores running on centralized servers, a ÐApp talks to smart contracts on decentralized blockchains.
A series of talks on smart contract development and building decentralized applications on Ethereum.
Serverless is a new development paradigm that's changing the way we write applications. A new programming approach is necessary, one that allows for coordinating across functions, services, and APIs. In this talk, learn about serverless computing and Functions-as-a-Service (FaaS). Discover a handful of design patterns that have emerged from the Serverless ecosystem, including event-driven architectures and distributed sagas.
When you have a great idea, the last thing you want to do is set up infrastructure. This talk gives an introduction to serverless technologies and architectures.
In this talk, learn how you can use JSON Schema to write a specification language. You will learn about what Domain Specific Languages are, how the WAML web automation language was developed using JSON Schema, and the far-reaching applications of JSON Schema in other domains such as Headless CMSes.
The Schema-first API design approach advocates for writing your API definition first in one of many API Specification languages before writing any code. This talk introduces you to the realm of Schema-First API design and how to get started with the OpenAPI ecosystem.
Developers like coding in JavaScript because it helps them move fast. The language facilitates fast prototyping of ideas via dynamic typing. However, evolving and growing a JavaScript codebase is notoriously challenging. Developers cannot move fast when they break stuff. Flow is a project that adds a layer of types to a JavaScript codebase, and provide tools that use type information to solve the above problems.
In this talk, learn a handful of fun (and practical!) abstractions for modeling pure functional programs in JavaScript.
Serverless computing replaces long-running virtual machines with ephemeral compute power that comes into existence on request and disappears immediately after use. Tap into a virtually endless mana pool!
In distributed systems, business transactions spanning multiple services require a mechanism to ensure data consistency across services. The Saga pattern is a pattern for managing failures, where each action has a compensating action for rollback. In this talk, learn how you can use AWS Step Functions to create state machines for your Lambda functions and apply the saga pattern to serverless.
A serverless architecture approach replaces long-running virtual machines with ephemeral compute power that comes into existence on request and disappears immediately after use. Pay for the hamburger, not the cow!
It's not a secret that creating client-side JavaScript is pretty difficult these days. Next.js is a minimalistic framework for server-rendered React applications with zero setup and simple deployment!
In this talk, we'll walk through the process of writing and publishing an Elixir library from scratch. Along the way, we'll discover a handful of Elixir features such as: Mix, Documentation, Doctests, Typespecs, and Hex.
Webhooks are a way to receive valuable information when it happens, rather than continually polling for that data and receiving nothing valuable most of the time. In this talk, discover the wonderful world of webhooks, real-life applications, and best practices.
Today, JSON (Javascript Object Notation) is the de-facto serialization format for exchanging data between HTTP-connected services. Several features of JSON makes it a useful general purpose format: it's human readable, easy to learn, and the ubiquity of Javascript. In this talk, let's look beyond JSON. We'll learn about three different serialization formats (MessagePack, Protocol Buffers, and Apache Avro); and discover a range of benefits unique to each.
GraphQL is an application layer query language from Facebook. With GraphQL, you can define your backend as a well-defined graph-based schema. Then client applications can query your dataset as they are needed. GraphQL’s power comes from a simple idea — instead of defining the structure of responses on the server, the flexibility is given to the client. In this talk, discover a new approach to build and expose Web APIs. Will GraphQL do to REST what REST did to SOAP?
Entity-Component-System (ECS) is a distributed and compositional architectural design pattern that is mostly used in game development. Elixir is a dynamic, functional language built on top of the Erlang VM designed for building scalable and maintainable applications. In this talk, discover how we can use both ECS and Elixir in a novel approach to structure our programs beyond the traditional OO/inheritance paradigm.
A talk on the React.js library, covering the two key principles of react: reusable components and statelessness in your UI. Also covers some internals of the virtual DOM.
A talk on online payments and how to use PayPal to add payments to your application.
Designed, lead, and taught an introductory Ruby and Rails curriculum for more than 100 freshman students for a summer application development course at the National University of Singapore.
Lead and taught a technical workshop on Web Map APIs and how to build map-intensive applications such as Airbnb and Foursquare using OpenStreetMap, Mapbox, and Leaflet. Also covers "slippy" maps, tileservers, and geocoding.
A lightning talk on Python List Comprehensions.