Skip to content

Instantly share code, notes, and snippets.

View jwright's full-sized avatar
🤡
Compliance will be rewarded with hats.

Jamie Wright jwright

🤡
Compliance will be rewarded with hats.
View GitHub Profile
@jwright
jwright / phx_liveview.md
Last active January 26, 2024 20:35
Talk abstract for Phoenix + LiveView

Diffs Heard Over the Wire : The Magic of Phoenix and LiveView

Abstract

The Phoenix Web Framework, built in Elixir, is a web framework that hopes to stear away from JavaScript. Instead, it comes with a minimal JavaScript library that hooks into the frontend and only sends optimized diffs over stateful websockets. This results in very fast DOM updates and eliminates the need for complex frontend libraries and build pipelines within Elixir and Phoenix web applications.

Elixir is a functional programming language that is built with concurrency in mind. It has the ability to spin up lightweight processes with small memory footprints that can communicate with each other and have very low scheduling overhead. These stateful processes make for a perfect pairing with concurrent websocket communication. All of this alongside Phoenix ends up creating a very fast user experience and a very excellent developer experience.

@jwright
jwright / building_chat_assistant_with_elixir.md
Last active January 26, 2024 02:19
Talk abstract for Building Chat Assistant with Elixir

How to be like Kansas City's favorite star Taylor Swift, or, Building a chat assistant with Elixir

Abstract

Kansas City is famous for two things. The barbecue and it's professional football team, the Kansas City Swifties. If you've ever wanted to show off to ALL your friends by having your very own chat assistant sound like Taylor Swift, this is the session for you.

In this session, I will demonstrate how I built a ChatGPT assistant that responds to your requests and sounds like TSwizzle herself. It may get weird.

This talk will testify to the increasing capabilities of Elixir and it's ecosystem of libraries to support machine learning and large language models.

@jwright
jwright / raas.md
Created January 24, 2024 01:23
Talk abstract for Running as a Soloprenuer

Running as a Soloprenuer (RaaS)

Abstract

@jwright
jwright / creative_act_of_software.md
Created January 24, 2024 01:21
Talk abstract for The Creative Act of Software

The Creative Act of Software

Abstract

@jwright
jwright / the_perfect_programmer.md
Last active January 28, 2022 22:24
Talk Abstraction for "The Perfect Programmer & The Powerful Paradox of Perfectionism"

The Perfect Programmer & The Powerful Paradox of Perfectionism

Abstract

Have you ever thought “I’d really like to build that side project” but never follow through? Or “I can’t start that business because look at what this competitor is doing?”. You ever feel that everyone is screaming “Bad Architecture!”, “Wrong framework!”, “96% code coverage!”, “BUG!”. Am I an imposter? Will I be laughed at?

Everything seems to be an absolute. It feels so intimidating.

This industry has an obsession with perfectionism. But is that a good thing or a bad thing? We will learn how to frame it correctly. The key is to identify the destructive patterns and manage the anxiety.

@jwright
jwright / build_your_chatbots_like_rails.md
Last active February 20, 2020 01:33
Talk abstraction for "Build Your Chatbots Like Rails Apps"

Build Your Chatbots Like Rails Apps

Abstract

Chat platforms are continuing to grow at an accelerated pace as product owners are expanding their services to chat. “Be where your users are” is a motto that many companies are practicing and chat is one of those platforms where it makes it easier for users to use these services.

As the chat platform expands, the availability of libraries, examples, and experience around these platforms is slow to catch up. Frameworks like Rails and Laravel help developers get their services onto the web in record speed but these types of frameworks do not exist for chat platforms. That lack of availability can leave chat developers to re-invent the common capabilities which slows down development on the chat platforms.

Why can’t we develop for chat platforms like we do for the web or for mobile? Why can’t we get further away from the metal and build more rapidly for these platforms.

@jwright
jwright / extending_react_native_applications_with_plugins.md
Created December 6, 2019 02:02
Talk abstraction for “Extending Your React Native Applications with Plugins”

Extending React Native Applications with Plugins

Abstract

Pitch

Details

@jwright
jwright / three_apps_one_codebase.md
Last active November 6, 2019 02:34
Talk abstraction for "3 Apps, 1 Codebase"

3 Apps, 1 Codebase

ABSTRACT

React Native allows you to write components in JavaScript and render those components on iOS and Android using native controls in the respective platforms. With a bit of forethought and some tricks that will be taught in this session, you could use most of the same JavaScript code to render those components on the web as well.

In this talk, we will refactor an existing React Native mobile application making changes along the way as we enable our mobile application to run on the web in addition to the mobile platforms within a single code base. We will learn about good folder structure and architectural affordances that make both the mobile and web applications more maintainable. We will learn where to concentrate our testing, how we can utilize libraries like react-native-web, and how a well thought out component structure can make code more re-usable.

DETAILS

@jwright
jwright / test_driven_graphql.md
Last active February 19, 2019 03:12
Talk abstraction for test driving GraphQL

Test Driven GraphQL

Abstract

GraphQL has been one of the single biggest productivity boosts to my API development in recent memory. I am a fan because it allows the client to shape the data they need, it is strongly typed, and it simplifies API management by reducing complicated RESTful endpoints.

Test driven development (TDD) is another huge productivity boost and so test-driving a GraphQL API may give you 10x developer status!

In this session, we will walk through some strategies and some code to demonstrate how you can test-drive a GraphQL from both the client using JavaScript and the server using Elixir's Absinthe library. We will see how the client and server do not need to depend on each other so we can deliver a full stack application in less time.