What a difference a year and some lead time makes. During our 2023 Call for Speakers we had about 45 days from the open on April 11th until it closed on May 25th. In 2024, we opened our Call for Speakers on January 1st and ran through April 15th.
In 2023 we pulled in 83 fantastic session submissions which were narrowed to 16 excellent selections that made for a very memorable single day 2023 Carolina Code Conference! This year we received an incredible 209 talk submissions which have been painstakingly narrowed to 30 selections for the 2 day, 2024 Carolina Code Conference on August 23rd and 24th.
Painstakingly is a deliberately chosen word here as this was not an easy process. One of the great benefits of a single track event is the shared experience for all in attendance. One of the great challenges is the limited number of available time slots due to the very tightly scheduled stage. A compounding factor is the polyglot nature of the event, which lends itself to a wide variety of topics and a need for balance to keep the audience engaged while avoiding repetition wherever possible.
That is all to say, some excellent talk submissions were not able to be included but hopefully we will be able to give you a taste of the material on future episodes of the Carolina Code Cast and ideally at future conference events as well. The competition in each time slot was fierce.
130 Keynotes (45-60 minutes) narrowed to 5 spots
128 Intermediate (20-30 minutes) narrowed to 10 spots
40 Lightning Talks (5-10 minutes) narrowed to 15 spots, including 3 during our lunch hours that we’re calling Lunchning Talks™
This challenge isn’t unique to this year either. Last year we made a push to see that cybersecurity topics were included during the event and unfortunately, we couldn’t include a single one. Luckily we did have DC864 there to educate the attendees with a great Capture the Flag event during the conference and they will be back this year too! In 2024 we are correcting the problem with SIX security talks, including our opening keynote!
So let’s get to what you came here for, our 2024 speakers! Because there are 30 speakers this year…prepare for a very long post in order to include speaker profiles and session descriptions. We will include a list of speakers and topics at the top with full details afterwards. Because the schedule is not yet finalized, the speakers will be presented in schedule order grouped by session length.
This list will be much easier to read when we get our new site up and running. And don’t forget to submit entries in your favorite language for our Lyrical Code T-Shirt!
BEGIN
Here are your 2024 Speakers!
SELECT speaker_name, session_title, tags, length
FROM talks
WHERE year = 2024
ORDER BY length DESC, session_start
Keynotes (45-60 minutes)
Day 1 - Friday, August 23rd
9:00am - Tim Tomes - {JWT}.{Misuse}.&Abuse
1:15pm - Ryan Edge - Building Products Full-Stack with Dart and Flutter
Day 2 - Saturday, August 24th
9:00am - Jason Crome - Modern Web Development in Perl
1:15pm - Vlad Patryshev - Explaining Lambda Calculus through Plain JavaScript
3:30pm - Dillon Mulroy - Your next favorite programming language: Gleam
Intermediate (20-30 minutes)
Day 1 - Friday, August 23rd
10:15am - Cameron Presley - Learning Functional Programming Through Construction: First Principles
11:00am - Courtney Yatteau - A Developer’s Guide to Open Source Web Mapping Libraries
11:45am - Bekah Rice - DIY Usability Testing When You Have No Time and No Budget
2:30pm - Diana Pham - What Online Dating Taught Me About Algorithms
3:15pm - Mihai Maruseac - End-to-end secure ML Development
4:00pm - Zach Daniel - Ash Framework: The Power of Declarative Design
Day 2 - Saturday, August 24th
10: 15am - James Shockley - Scratch, Dent and Data: Engineering A Used Appliance Information Advantage Out of Necessity
11:00am - Nate Abele - Running K8s in the Browser. Yes, Really. Well, Not Really. Kind of.
11:45am - Sam Ruby - Shared Nothing Architecture - How to Scale to Infinity
2:30pm - Stephen Borengasser - Ignore the Doubters: Why Technologists Make Great Business Leaders
3:00pm - Seth Williams - Durable Code Execution With Temporal
Lightning (5-10 minutes)
Day 1 - Friday, August 23rd
10:00am - Andrew Thompson - The Seven Principles for Making a PostgreSQL DB Work Fast
10:45am - Lydia Stepanek - Bridging the Gap: Developing Accessible Anti-Phishing Solutions
11:30am - Jake Hennett - The Value of Prototypes
2:15pm - Allen Vailliencourt - Rethinking Remote Access in a Remote First World
3:00pm - Kevin Old - Strategies for testing Authentication and Authorization Flows
3:45pm - Yvette Johns - Bacon, Eggs & React: Real-World Analogies for Engineering
Day 2 - Saturday, August 24th
10:00am - Liz Alvarez - When You're a Hammer, Everything Looks Like a Nail
10:45am - Steven Wade - Embracing Failure: A Path to Success
11:30am - Pratik Thantharate - Accelerating Secure Innovation: AI/ML Strategies for DevSecOps Excellence
2:15pm - Justin Nash - Speaking Planely for the Grounded Professional
Lunch Hour (10 - 40 minutes)
Day 1 - Mentorship
Rod Roth - Mentoring as a Leader with Limited Time
Sean Reid - Teach them well and let them lead the way
Day 2 - Intellectual Property
Doug Kim + Hunter Freeman - Intellectual Property Considerations for Developing and Licensing Software
day.one.morningTalks()
Tim Tomes |> Greenville, SC
Founder and Application Security Engineer, PractiSec
Social: [ @LaNMaSteR53, LinkedIn, Blog, Sessionize ]
Tim is an Application Security Professional with over 30 years of experience in the information technology and security industries. From network architecture design to software development to full-scope penetration testing, Tim has worked in multiple disciplines as both a manager and technician for the United States Military and private industry. Now focusing exclusively on web applications, Tim hones his development and security skills through managing multiple Open Source software projects, conducting consultative engagements, and providing training through PractiSec, a company for which he is also the founder. Tim has a strong belief in contributing to the community and does so through writing technical articles, speaking at conferences, and mentoring the next generation of web application security professionals.
Keynote // {JWT}.{Misuse}.&Abuse
Category: [ Security ]
Framework/Platform: [ JWT ]
JWTs are an incredibly flexible tool that make life easier for developers because they are standardized, widely supported, and include important security features by default. However, like any powerful tool, JWTs can be dangerous when used incorrectly, or for unintended purposes. In this talk, I aim to shine a light on common JWT misuse and abuse. I'll start by briefly describing JWTs and common use cases for them. I'll then present real world scenarios of misuse and abuse from applications that I've tested as a consultant, and written as an engineer. As I present each scenario, I'll demonstrate the various features and failures live, and discuss how the specific implementation of JWTs can be hardened. The end result will be an enlightening and entertaining presentation of information and experience that will provide the viewer with a practical knowledge of how, and how not, to use JWTs.
Andrew Thompson |> Greenville, SC
Senior Software Engineer, BMW Group
Social: [ LinkedIn ]
Meetup: [ UCLUG ]
Andrew is an electrical engineer who has somehow found himself mixed up in software development. Along the way he has worked as a paperboy, helicopter laser tag coach, construction GM and occasionally has been paid to look busy at a keyboard. Today he works at BMW Group trying to tame electrons on a screen in order to make the electrons inside BMW EVs behave in an orderly fashion. His preferred technologies are JavaScript & Python for coding and AWS infra for making it all run smoothly. A husband and father of two, concepts like free time and expensive hobbies have been replaced by toddler prompt engineering and 'trying to read a technical book while being assaulted by small humans'.
Lightning // The Seven Principles for Making a PostgreSQL DB Work Fast
Category: [ Development, Operations, DevOps ]
Languages: [ SQL ]
Framework/Platform: [ PostgreSQL]
Subtitle: A Practical Guide to DB tuning from the country's least notable relational db expert.
In this talk we'll dive into the fundamentals of creating a database that flies like a Concorde jet minus the crash-y parts and does so without racking up an AWS bill requiring you to drain your kid's 529 accounts! We'll touch on starting with a good data model, review the basics of DB profiling, discuss mental framework for implementing data logic/computation on the backend vs DB engine. Next we'll look at the fundamentals of indexing, add in some clustering/sharding for when our DB outgrows it's training wheels, and talk about how to determine when it's best to bail out of strict "third normal form" DB dogma and start adding in computed columns or even add a full-blown ETL to columnar DB solution. Wrapping up we look at how even just picking the right software tools can have an impact on performance over a wide variety of clients, engines, ORMs and platforms.
Cameron Presley |> Charlotte, NC
Knowledge Sharer and Problem Solver
Social: [ @pcameronpresley, LinkedIn, Blog, Sessionize ]
Cameron Presley is a Consultant for Lean TECHniques, a speaker, and a Microsoft MVP in Developer Technologies.
Based out of Charlotte, North Carolina, Cameron has ten years of experience working with start-ups and large enterprise both publicly and privately held to architect solutions, implement solutions, and training developers to be better today than what they were yesterday!
In his spare time, Cameron can be found hanging out with his family, playing board games, jamming on the bass guitar, and reading books.
Intermediate // Learning Functional Programming Through Construction: First Principles
Category: [ Development ]
Languages: [ C#, Typescript ]
In the past five years, functional programming has increased dramatically in popularity which has lead to an explosion of resources in learning these concepts. But, between languages (Haskell, Elm, PureScript, F#), libraries (Ramda, fp-ts), and concepts (Monads, Monoids, Functors), it can be overwhelming in determining where to start and how to begin.
In this talk, I'm going to show you three fundamental concepts of functional programming: pure functions, immutability, and composition by not only explanation but we will walk through building these concepts into your code and applications. As we explore each concept, I'll show you the advantages of following these principles, how they will improve your development experience, and how they will set the stage for more advanced ideas.
Intended for those who have experience with TypeScript or C#, by the end of this presentation, you will understand how pure functions lead to easier to test code, how immutability makes debugging easier, and how the power of compositions allows us to build bigger applications by combining smaller applications.
Lydia Stepanek |> New York, NY
Owner and Lead Software Engineer, Pen Loop, LLC
Social: [ @LydiaStepanek, LinkedIn, Blog, Sessionize ]
Lydia Stepanek brings over a decade of experience as a software and DevOps engineer, specializing in data-related technologies at places like MongoDB and Codecademy. Last year marked a significant shift in her career as she embarked on the journey of entrepreneurship, successfully launching two products, Is This Phishy and Too Phishy, both garnering 5-star ratings on Product Hunt.
She's dedicated to anti-phishing education, empowering users against fraud on her cybersecurity blog, which has made the front page of Hacker News multiple times.
Outside of work, Lydia finds balance in books and Brooklyn.
Lightning // Bridging the Gap: Developing Accessible Anti-Phishing Solutions
Category: [ Career, Ecosystem, Security ]
Languages: [ JavaScript, Bash ]
In the realm of cybersecurity, the battle against phishing attacks remains a perpetual challenge. While email providers offer spam filters and enterprises invest in sophisticated anti-phishing solutions, there's a noticeable gap in accessibility for the average internet user. This session delves into the journey of building an anti-phishing tool tailored for regular people, exploring the challenges encountered and the valuable lessons learned along the way.
At the outset of 2023, the absence of a free, user-friendly anti-phishing tool for everyday individuals sparked a realization: Why not build one? Thus began the journey of crafting an anti-phishing plugin designed to empower users worldwide. However, the path to success was far from straightforward. Initial attempts resulted in setbacks, with the first iteration falling short of expectations.
Through perseverance and a commitment to improvement, the anti-phishing plugin evolved, eventually garnering acclaim with 15 5-star reviews on Google and widespread adoption across diverse global communities. Yet, the journey was marked by numerous trials and tribulations, each offering valuable insights into the complexities of email analysis and phishing detection.
Throughout the session, I'll share firsthand accounts of the mistakes made and the invaluable lessons gleaned from each setback. From the intricacies of email headers to the subtleties of sender authentication protocols, we'll dissect the technical nuances that underpin effective phishing detection.
Courtney Yatteau |> Alexandria, VA
Developer Advocate, Esri
Social: [ @c_yatteau, LinkedIn, Facebook, Instagram, Blog, Sessionize ]
Courtney Yatteau is a Developer Advocate on Esri's Developer Experience Team. She is responsible for outreach and awareness related to Esri's developer SDKs and APIs. Before Esri, Courtney worked in the secondary education field, teaching computer science and mathematics.
Intermediate // A Developer’s Guide to Open Source Web Mapping Libraries
Category: [ Development ]
Languages: [ JavaScript, HTML/CSS ]
Framework/Platform: [ GIS, Leaflet, MapLibre GL, OpenLayers ]
Dive into the world of web JavaScript mapping libraries with a focus on how developers can leverage tools such as Leaflet, MapLibre GL JS, and OpenLayers. This presentation examines the unique functionalities of these popular libraries, providing insights into how they can be effectively utilized in diverse web development projects. A comprehensive understanding of essential geospatial data concepts will be provided, along with best practices for creating effective web-based mapping solutions. Emphasis will be placed on the importance of data visualization and cartographic design, highlighting how these elements enhance the visual appeal and clarity of maps. Geared towards developers new to GIS and those seeking to enhance their existing mapping skills, the presentation offers an in-depth exploration of the latest trends and capabilities in open source web mapping technologies.
Jake Hennett |> Greenville, SC
Software Engineer II, Lima One Capital
Social: [ LinkedIn, Blog, Sessionize ]
Jake is a software engineer with a traditional computer science background and a passion for developing clean, elegant business logic and solutions. He is partial to back end and database work, but he does enjoy challenging himself with interesting new problems and wants to grow into more of a full stack engineer with equal skill in front end and UI work.
Lightning // The Value of Prototypes
Category: [ Development, Team & Process Management ]
Many organizations fail to appreciate the value of project prototypes.
They give a functional if rough implementation of a project in much more granular time frames. More granular time frames give more accurate estimates from a project planning perspective. In most cases, this results in a shorter time to publish.
Furthermore, this allows the development team to confirm that what the business requested is what it actually wants, and equips the business to request specific changes to an already functional base product. Many business representatives may have trouble envisioning specifics about a product from documentation or marketing material. Seeing and using a practical implementation is substantially more concrete and provides the opportunity to suggest altered functionality from the prototype.
Bekah Rice |> Columbia, SC
Senior UX Designer/Developer & Accessibility Expert, truematter
Social: [ @bekahble, LinkedIn, Blog, Sessionize ]
Meetup: [ UX South Carolina ]
As a senior UX designer and developer at truematter, Bekah Rice helps large, industry-leading clients plan and create complex interfaces that seem effortless. She is a digital accessibility expert who speaks and teaches technical and non-technical groups alike about creating interactive experiences that inclusive and usable for all.
Bekah is also an advocate for the arts. She serves on the board for The Jasper Project, an organization dedicated to supporting the arts community, and is a musician in the band Husband.
Intermediate // DIY Usability Testing When You Have No Time and No Budget
Category: [ UI/UX, Testing ]
Testing your digital products with real people is the only real way to see if what you’ve built actually works. The problem is, many of us just don’t have the time or budget to run a full-scale usability test. Still, it’s always better to do some testing rather than none. We'll cover 8 steps for running your own short, successful qualitative usability tests on a shoestring budget, using just a few basic resources. After the talk we will put these steps into practice with a live single scenario test demo.
day.one.lunchHourTalks()
Rod Roth |> Greenville, SC
Co-Founder, Enok Collective. “Launch People”
Social: [ LinkedIn ]
Meetup: [ Mentor Network Meetup ]
With over 28 years of experience in technology, Roth is a proven leader specializing in business growth and transformation, delivering value through technology and teams. Since founding his first web development company in 1996, Roth has been at the forefront of guiding startups, high-growth companies, and Fortune 500 enterprises in adopting and implementing the right technology and practices to create impactful digital products.
Roth is known for his expertise in scaling product teams across diverse sectors, including Healthtech, Fintech, Agtech, Edtech, and Cybersecurity. His passion lies in enhancing product development processes through a balanced approach to innovation, optimizing organizational structures, equipping teams for success, and streamlining workflows.
As the co-founder of Enok Collective, a product development studio, and the founder of Avoda Coaching Group, a leadership coaching and training company, Roth is committed to making software and teams better. Enok has over seven years of designing and building successful products. Avoda powers Enok's Mentorship in Tech Accelerator and this September, plans to launch ConnectBetter.io, a powerful community builder platform where members will meet, build relationships, and grow.
Lunchning // Mentoring as a Leader with Limited Time
Category: [ Team & Process Management, Ecosystem, Career ]
As a tech leader, navigating the challenges of effective mentoring with demanding schedules and rapidly evolving work dynamics can be daunting. This talk offers practical strategies to elevate your mentoring approach by understanding and emphasizing the role of curiosity while improving efficiency and driving growth in both one-on-one and team settings.
Discover how to apply a coach approach to engage effectively with your team, empowering them to take ownership and explore new opportunities, adapt to emerging challenges, gain greater clarity, put plans into action, and celebrate successes.
Unlock your team’s full potential while balancing skill development with the demands of software delivery. Embrace coach-like skill so you can foster both individual and team development while meeting organizational needs and driving impactful change in today’s tech landscape.
Sean Reid |> Greenville, SC
Lead Instructor, Carolina Code School. Wearer of many hats
Social: [ LinkedIn, Blog, Sessionize ]
Over the last two decades I've been a developer, a teacher, a speaker, a roadie, and (former) cheerleader. I've worn about 50 different hats, it's kinda hard to pin down.
Currently I'm the lead instructor at Carolina Code School, and run a few brands with my uber-talented artist wife.
Lunchning // Teach them well and let them lead the way
Category: [ Team & Process Management, Career, Development ]
With apologies to Whitney Houston, I DO believe the juniors are our future!
Many of the developers of my generation came up at a time where we were just bouncing around and learning through breaking things. We had permission to make mistakes, and we frequently worked through things with peers. Now that the industry has (somewhat) matured, there's a risk of taking some of that for granted.
By default a "senior" !== "mentor." There's more to mentoring than just assigning tickets and tearing through code reviews. If you want your team to succeed, if you're averse to hiring junior developers, then examining whether or not you have proper "mentorship" is key.
Teach people to swim, don't just toss them in the deep end and yell commands.
day.one.afternoonTalks()
Ryan Edge |> Charlotte, NC
Sr. Software Engineer, UpTech Studio
Social: [ @chimon1984, LinkedIn, Blog, Sessionize ]
Books: [ Cross-Platform UIs with Flutter ]
Meetup: [ Flutter Charlotte, GDG Charlotte ]
Ryan Edge is a software engineer and Flutter GDE living in Charlotte, North Carolina. His primary focus is front-end mobile and web development using Flutter and React. His secondary focus is back-end development with technologies including Node.js, GraphQL, Vercel, Supabase, and Firebase. He is a co-author of the "Cross-Platform UIs with Flutter" book.
Ryan Edge has 10+ years of experience ranging from maintaining large-scale systems to developing internal and commercial web, mobile, and desktop applications using various technologies.
Ryan Edge is a community organizer of Flutter Charlotte and GDG Charlotte. He is passionate about creating software that has a tangible positive impact on the lives of its users, furthering diversity in the developer community, and mentoring young software engineers.
Keynote // Building Products Full-Stack with Dart and Flutter
Category: [ Development, Product ]
Languages: [ Dart ]
Framework/Platform: [ Flutter, Serverless, Supabase ]
For the past few years, Flutter has revolutionized mobile app development by allowing developers to build high-performance, cross-platform applications with ease. However, building a full-stack application can be a challenging task because we often find ourselves juggling multiple technologies to solve problems across an application stack.
In this talk, we will explore how to build a full-stack application using Flutter and Dart Frog.
Dart Frog is a backend framework that, when coupled with Flutter, allows developers to build full-stack applications using a single programming language. By leveraging the power of Flutter for the front-end and Dart Frog for the backend, developers can build high-performance applications with ease.
We will start by introducing the basics of Flutter and Dart Frog and their key features. We will then dive into building a full-stack application, starting with the front-end using Flutter, and then moving onto the backend using Dart Frog. We will cover topics such as handling user authentication, building RESTful APIs, and using a database to store data.
Throughout the talk, we will also discuss best practices for building full-stack applications and how to ensure that your application is scalable and maintainable. We will also highlight the advantages of using Flutter and Dart Frog together, including reduced development time and increased developer productivity.
By the end of the talk, attendees will have a solid understanding of how to build a full-stack application using Flutter and Dart Frog. They will also have learned best practices for building scalable and maintainable applications, as well as the benefits of using Flutter and Dart Frog together.
Allen Vailliencourt |> Greenville, SC
Solutions Engineer, Tailscale
Social: [ @Valien, LinkedIn, Sessionize ]
Allen has been in IT since the late 90's and his career has spanned from being a developer, sysadmin, network admin, to sales, and now sales engineering.
He has worked at startups, higher education, and publicly traded companies.
He got involved into the DevOps world when he built his 1st Docker container in 2014 and has been loving it ever since!
Lightning // Rethinking Remote Access in a Remote First World
Category: [ Security, DevSecOps, Cybersecurity ]
Everything we as technology professionals touch has a remote component to it. Whether we are working remotely and need access to cloud-based infrastructure (AWS, GCP, Azure, etc), or we're in an office and need access to our home-based infrastructure (Plex, Pi, cameras). Or maybe even a mashup of all things remote! What has happened with this fast change to remote access is that we've forgotten to update our network. We're still using old VPN's, whitelisted IP's, or even security by obscurity to secure access. Let's change that.
What if you could access any infrastructure (home/work) from anywhere in the world using a fast and encrypted network? What if you could ditch your SSH keys and use your Identity Provider to authenticate and verify who you are? What if you could securely access SaaS apps without having to manage changing IP whitelists and credentials?
In this session we'll talk through the status quo of today's remote access and see how we can improve our security posture by using OSS tools like Tailscale.
Diana Pham |> Denver, CO
Developer Advocate, Vonage and Appwrite Hero
Social: [ @dianasoyster, LinkedIn, Instagram, Blog, Sessionize ]
With a high spirit and a low sense of mortality, Diana completed her master’s in CS regardless of never having coded prior to grad school. Through her passion of learning and teaching tech, she found her calling in advocacy where she exercises her creativity through conference talks and content creation. She likes oysters.
Intermediate // What Online Dating Taught Me About Algorithms
Category: [ Artificial Intelligence / Machine Learning ]
Languages: [ Python ]
Have you ever thought about the parallels between online dating platforms and fundamental algorithm principles? (I’m sure that would make a great date opener.) In this session, we will cover various algorithms, highlighting their functions in online dating as well as broader applications. We’ll learn about the history of online dating, understand how different platforms predict compatibility, and what this teaches us about machine learning, pattern recognition, and data sorting.
Whether you are intrigued by date horror stories or are simply interested in learning about algorithms, swipe right on this talk!
Kevin Old |> White House, TN
Developer Relations Engineer, Stytch
Social: [ @kevinold, LinkedIn ]
Kevin Old is a Developer Relations Engineer at Stytch, leading various initiatives to drive awareness and adoption of Stytch among organizations and software developers and representing the developer's voice within the company. With a strong background in web application development and developer experience, he brings over 20 years of expertise in developing enterprise web applications. In his role, Kevin focuses on creating essential technical resources like tutorials, demos, and documentation to provide technical guidance to developers across various languages, frameworks, and platforms. He is committed to sharing his knowledge by speaking at conferences and workshops and managing developer programs and initiatives that incentivize community contributions. He lives in White House, TN, with his wife, two sons, and two dogs. He enjoys cooking, traveling, and experiencing new cuisines while spending time with his family.
Lightning // Strategies for testing Authentication and Authorization Flows
Category: [ Testing/QA ]
Languages: [ JavaScript ]
Framework/Platform: [ Cypress ]
Developers constantly run into barriers when implementing end-to-end tests against authentication providers, to the point of deleting their tests out of frustration and lack of solutions from providers. This talk will be a practical guide to testing real-world authentication and authorization scenarios leveraging end-to-end JavaScript testing tools like Cypress. In addition, Kevin will discuss the testing techniques necessary to effectively place web applications into states for testing after authentication and available solutions from providers to overcome these testing challenges.
Mihai Maruseac |> Cupertino, CA
Supply Chain Security, Google OSS Security Team
Social: [ @mihaimaruseac, LinkedIn, Facebook, Instagram, Blog, Sessionize ]
Mihai Maruseac is a member of Google Open Source Security team (GOSST), working on Supply Chain Security, mainly on GUAC. Before joining GOSST, Mihai created the TensorFlow Security team after joining Google, moving from a startup to incorporate Differential Privacy (DP) withing Machine Learning (ML) algorithms. Mihai has a PhD in Differential Privacy from UMass Boston.
Intermediate // End-to-end secure ML Development
Category: [ Cybersecurity, Artificial Intelligence / Machine Learning, DevSecOps, Security ]
Languages: [ Python ]
We are seeing an increase in the number of AI powered applications. At the same time, we are seeing that AI software repeats the same security mistakes as traditional software, but at an accelerated time frame and with higher risks.
In this tutorial, we aim to show how AI applications can be developed in a safe way, starting with datasets and software dependencies, building a secure software supply chain, and only accepting models in production that have clear, untampered provenance (both SLSA but also analyzing the capabilities of the models to eliminate future risks). For example, we want to be able to trace back from a bad inference in production to the potential poisoned input in the training dataset. We will show how we can reduce cost of retraining models in the event of an ML framework compromise by analyzing the blast radius and only retraining impacted models.
In order to achieve these, we need an AI/ML control plane and an AI/ML package manager, which we will introduce during the tutorial.
Yvette Johns |> Summerville, GA
Developer Relations Engineer, Fly.io
Social: [ LinkedIn ]
Yvette is a DevRel Engineer with a background in web design, illustration, and 10 years of experience in product support and leadership within the tech space. She's passionate about working with interesting and complex products and is also obsessed with drawing, painting, hoarding yarn, and pretending to be decent at rowing
Lightning // Bacon, Eggs & React: Real-World Analogies for Engineering
Category: [ Development ]
Languages: [ JavaScript ]
Framework/Platform: [ React ]
Learning software engineering is a bit like trying to navigate a maze blindfolded - it's challenging but incredibly rewarding when you make progress. However, I've found that using relatable analogies can help beginners understand difficult concepts more easily, and even aid in honing the ability to distill complex information for different audiences . In this talk, I'll discuss strategies for creating and using analogies to make learning software engineering easier and more engaging. I'll also share some of my favorite analogies I've developed over time to aid in my learning journey: like how building a React app is kinda like cooking breakfast.
Zach Daniel |> Greensboro, NC
Principal Platform Engineer, Alembic. Creator of Ash Framework
Social: [ @ZachSDaniel1, LinkedIn, Github, YouTube, Mastodon, Blog, Sessionize ]
Zach is a software engineer with ten years of experience with production Elixir applications. He is the Creator of Ash Framework, a resource-oriented declarative design framework for Elixir, and principal platform engineer at Alembic. He has a passion for declarative design, functional programming, and contributing to the open source community. When not programming, he enjoys spending time with his wonderful wife, pets, friends and family.
Intermediate // Ash Framework: The Power of Declarative Design
Category: [ Development, Ecosystem]
Languages: [ Elixir ]
Framework/Platform: [ Ash Framework ]
Modern applications are complex. They get messy and resistant to change quickly. As programmers, one of our most important and difficult charters is taming those complexities. Declarative Design offers a philosophy to help us do exactly that.
We begin by looking at a hypothetical future, where applications are understandable, with powerful and flexible layers derived and configured directly from our model. Next, we dive into the philosophy of Declarative Design, illustrating how it can be leveraged to improve our current patterns.
We tie it all together by showing how Ash Framework brings this philosophy to the forefront and how we are well down the path of bringing about the future we discussed at the outset. We show how Ash leverages the philosophy of Declarative Design to provide consistency, flexibility and power.
Finally, we talk about what the future holds for Ash, and how it will continue to grow to provide a solid foundation for any Elixir application.
day.two.morningTalks()
Jason Crome |> Charlotte, NC
Senior Perl Developer, Best Practical Solutions
Social: [ @cromedome, LinkedIn, Mastodon, BlueSky, Blog ]
Meetup: [ Charlotte Perl Mongers ]
Jason Crome is a 25+ year veteran of the software industry, working on everything from local government software in Powerbuilder and SQL Server to custom ERP development in Perl and PostgreSQL. Jason currently gets paid to work on open source software, developing for Request Tracker at Best Practical Solutions. He is the founder of Charlotte Perl Mongers, a member of Chicago.pm and MadMongers, and is a core team member of the Dancer web framework. When he's not hacking on a pet project, you can find Jason playing hockey or flying himself around the eastern seaboard.
Keynote // Modern Web Development in Perl
Category: [ Development ]
Languages: [ Perl ]
Framework/Platform: [ Dancer ]
Perl is not dying; in fact, it's quite alive and well in 2024! It's stable, battle-tested, and offers backwards compatibility as a feature. With a mature toolchain, strong testing culture, and robust web frameworks, Perl not only offers developers a great option for building applications, but provides a model for other languages and frameworks to aspire to.
In this talk, Jason Crome will convince you that Perl is still a great option for building new projects, and demonstrate how easy it is to build a database-enabled web application with Dancer, a premiere Perl web framework.
Liz Alvarez |> Spartanburg, SC
Data Scientist and Aspiring Linguist
Social: [ LinkedIn ]
Liz has had a varied programming career, starting with copying BASIC programs out of magazines when she was in elementary school, followed by coding TI-82s in high school, using MATLAB, C++, Java, and LabVIEW in college, and then moving on to arduinos, Scratch, Python, SQL, R, etc. In spite of all of that, Liz did not ever consider herself a programmer until a couple years ago, when she left her decade-long career of being a high school math teacher to become a data scientist. Now, Liz works in the ecommerce space dealing mainly with natural language processing (NLP) models.
Lightning // When You're a Hammer, Everything Looks Like a Nail
Category: [ Computer Science ]
How do the programming languages we use affect the way we interact with the world? Do object-oriented languages make us see everything in terms of the relationships between each other? Do block-based languages cause us to be more concrete with our speech and worse at memorizing? Conversely, does that mean there are better languages for us to learn based on how we already think about the world? In this talk, we'll explore different some different types of programming languages, their backgrounds, purposes and main uses, and how those languages may (or may not) affect the way we interact with the world and what that all means for us as we continue learning.
James Shockley |> Greenville, SC
Founding Engineer, Neurelo
Social: [ @shockley_je, LinkedIn, Github, Blog, Sessionize ]
Founding Software Engineer at Neurelo, a data access platform to help teams simplify, understand, and optimize how they work with data. I love solving problems and often find myself mulling over the toughest ones while shredding powder, climbing pitches, biking berms, or backpacking the AT.
Intermediate // Scratch, Dent and Data: Engineering A Used Appliance Information Advantage Out of Necessity
Category: [ Literally Everything ]
Languages: [ Python, SQL ]
Framework/Platform: [ Pandas, Spyder, Neurelo, Grafana, Prometheus, PostgreSQL ]
After moving to a new-to-us apartment and finding that the community coin laundry value proposition was in a flux state of being just too inconvenient, just too unreliable, and just too expensive, my partner and I opened the door to what we would find to be our biggest relationship hurdle so far- purchasing a value laundry set.
After being beaten to the close on the first few deals we moved out to execute, it was clear we could not compete with the rest of the market's hustle and grit on a fair footing. The only way we could compete would be if we had an information advantage.
This is the story of personal discovery in learning that, after practicing one kick 10,000 times, you might one day find a surprising number of situations that you can just kick your way out of.
The last few minutes of this talk will be reserved as a museum for sharing all the interesting novelties and oddities I found while scraping and aggregating 70+ used appliance provider inventories throughout SC, NC, and GA.
Steven Wade |> Mauldin, SC
Software Engineer, Follow Up Boss
Social: [ @stevenwadejr, LinkedIn, Blog, Sessionize ]
Meetup: [ UpstatePHP ]
Steven is a Software Engineer at Follow Up Boss and has been writing PHP since 2007 - though that was not his first language (ActionScript 2.0 - 2006). Steven has a passion for community and from 2014-2019 founded and ran the user group UpstatePHP in Greenville, SC. In addition to organizing UpstatePHP, he has organized local hackathons, was a PHP mentor with SC Codes, and Co-Hosts the Code Talk with Matt & Steven podcast. In his free time, he enjoys spending time with his best friend/wife and their two wonderful children.
Lightning // Embracing Failure: A Path to Success
Category: [ Career ]
In a world where success is often glorified and failure is stigmatized, it is important to remember that failure is not the end, but the beginning of a journey toward success. This talk delves into the concept that failure acts as the inaugural step towards success, drawing inspiration from famous failures and individuals who started their journeys with humble beginnings.
This presentation highlights how historical figures like Thomas Edison and J.K. Rowling overcame numerous failures before achieving breakthroughs, underscoring the idea that failure is a natural part of the success process. Moreover, it emphasizes that many renowned individuals did not start as refined experts but evolved through perseverance, resilience, and continuous learning.
This talk will also touch on the topic of Imposter Syndrome and its effect on our psyche and our performance. The speaker will share their personal and professional experiences with both actual and perceived setbacks and failures - illustrating their journey from imposter to individual.
Addressing the audience's emotional and psychological response to failure, the talk encourages a shift in mindset from viewing setbacks as obstacles to embracing them as valuable learning opportunities. By fostering a culture of resilience and creativity in the face of failure, individuals can cultivate the skills needed to navigate challenges and strive for excellence.
Through motivational anecdotes and quotes from iconic figures, this presentation reinforces the message that failure is not a sign of defeat but a catalyst for growth. By embracing failure as a necessary component of the journey to success, individuals can unlock their full potential and realize their aspirations.
In conclusion, "Embracing Failure: A Path to Success" offers a compelling narrative that challenges conventional notions of failure and inspires attendees to harness setbacks as springboards to achievement. The talk advocates for a mindset shift that emphasizes the importance of failure in fostering resilience, innovation, and personal development.
Nate Abele |> Minneapolis, MN
Founding Partner, Proof Partners. Stares at glowing rectangles for money
Social: [ @nateabele, LinkedIn, Sessionize ]
I wrote code to help people make your phone, and then I wrote more code to help people write code for your phone, and now I write code so I don't have to write code anymore.
I have the ability to fly.
While seated in an airplane.
Intermediate // Running K8s in the Browser. Yes, Really. Well, Not Really. Kind of.
Category: [ Ecosystem, DevOps, Development, Operations ]
Framework/Platform: [ Containers, WASM, Kubernetes, Container Orchestration ]
DaVinci once said that simplicity is the ultimate sophistication. Then along came Kubernetes, and the entire industry adopted it, and that's obviously working out great. So, yeah, I mean... what does that guy know?
This talk is a historical retrospective, from the perspective of a software architect peering over the scrap yard of artifacts excreted from hype cycles come and gone, beginning in the 1950s and leading up to the present.
We'll explore how we got here, where 'here' is, and, wait a second...
KubeletConfiguration...? StatefulSetPersistentVolumeClaimRetentionPolicy...!? Anti-affinity...!?!
Where the hell are we?
Pratik Thantharate |> New York, NY
Principal Software Engineer, Paycor. Author, Innovator, Speaker & Technology Enthusiast
Social: [ LinkedIn, Blog ]
Pratik Thantharate has over a decade of experience as a dedicated researcher and Principal Software Engineer specializing in Agile Software Development, Cybersecurity, and DevOps. He received a dual M.S. in computer science and Management Information Systems (MIS) from SUNY Binghamton, USA. He is currently a Principal Software Engineer at Paycor, focusing on designing and implementing robust frameworks.
His research interests include Agile Software Development, Machine Learning, DevOps, Code-to-Cloud Security, Observability, Cybersecurity, and Blockchain. He brings his expertise in continuous integration/continuous delivery pipelines, infrastructure as code, containerization, and microservices architecture to drive innovation in next-generation DevOps platforms, observability frameworks, and end-to-end code to cloud security. He is the author of 6 published peer-reviewed research papers and had an opportunity to serve on the more than 30 International Research and Industry Conferences
Lightning // Accelerating Secure Innovation: AI/ML Strategies for DevSecOps Excellence
Category: [ DevSecOps, Artificial Intelligence / Machine Learning ]
Languages: [ Python ]
In this session, explore how AI/ML technologies can revolutionize DevSecOps by automating security testing, optimizing vulnerability detection, and fortifying systems against cyber threats. Learn about leveraging automated security tools integrated throughout the software delivery lifecycle. Discover how genetic algorithms provide an intelligent approach to feature selection, maximizing accuracy in vulnerability identification. Real-world case studies demonstrate the power of fusing DevOps with AI/ML and proactive security measures for faster, more secure software releases. Gain insights into cutting-edge techniques shaping the future of DevSecOps.
Sam Ruby |> Raleigh, NC
Rails Specialist, Fly.io
Social: [ @samruby, LinkedIn, Facebook, Blog ]
Books: [ Agile Web Development with Rails 7, +more… ]
Author of Agile Web Development with Rails 2-7; previously Apache Software Foundation president, W3C HTML WG co-chair; IETF Atom WG secretary; Convener of the C# and .Net CLI WGs in ECMA; PHP Core Group.
Intermediate // Shared Nothing Architecture - How to Scale to Infinity
Category: [ DevOps, Development ]
Languages: [ Ruby, JavaScript ]
Framework/Platform: [ Ruby on Rails ]
After I retired from IBM, I wrote an application to help my dance studio schedule competitions. Now in my third year of production, and with 94 events in 42 cities in 5 countries on 3 continents, it is time to share my secrets to scaling:
Start with a single user. Run as many services as necessary on a single VM. This is the opposite of the micro-services approach.
Next run multiple users in separate apps with separate databases on a single VM.
Then run multiple clones of this VM, adding logic to route requests to the correct machine.
For larger tasks, start up special purpose machines to handle requests when needed, and stopping them when the requests are done.
Set in place a system that produces continuous backups - this enables you to switch machines when there is a failure.
Ensure that you have a logging system and that the logging system itself is both monitored and has redundancy.
For those updates that require momentary down time, start something fast to show the user while they are waiting.
Build an administrative interface to provision new users.
The source to this application is on GitHub and you can run a demo online. The application is written in Ruby on Rails and is deployed to fly.io, but the ideas apply to other frameworks and hosting providers. Links to the demo, docs, and code can be found here.
day.two.lunchHourTalks()
Doug Kim |> Greenville, SC
IP Attorney and Founder, Kim, Lahey & Killough Law Firm
Kim, Lahey & Killough Law Firm founder Doug Kim began his career as a computer programmer and software engineer. Later, as a registered patent attorney, he obtained South Carolina’s first NFT patent on behalf of a client. Doug provides his clients with strategies to protect inventions (patents), brands (trademarks), websites, software, apps, music, photos, and websites (copyright, licenses, and Internet law), and trade secrets (the “secret sauce”).
With offices in both North and South Carolina, the Kim, Lahey & Killough provides strategic legal solutions to businesses of all sizes in the areas of intellectual property creation and protection, brand protection, invention protection, copyright, licensing, intellectual property litigation, trade secrets, software protection, internet and e-commerce issues, corporate formation, contracts, and business disputes and resolutions.
Hunter Freeman |> Greenville, SC
Attorney, Kim & Lahey Law Firm
Registered patent attorney, experienced litigator and certified mediator Hunter Freeman strives to optimize the successes of his clients in leveraging their intellectual property to advance their business goals. His 20+ years of experience and insight provide novel ways for clients to create value through the protection, utilization and enforcement of their IP both in and out of the courtroom.
Lunchning // Intellectual Property Considerations for Developing and Licensing Software
Category: [ Business, Legal ]
Software based and software development companies have different legal needs than those of other businesses. From the navigation of open-source licenses to intellectual property ownership, safety using AI, SaaS subscription agreements or preparing for an audit or due diligence, there are legal issues unique to the industry.
Whether you're a seasoned developer or just starting out, understanding the best practices for reducing risks and increasing your intellectual capital is crucial for your success.
During "Intellectual Property Considerations for Developing and Licensing Software", we’ll unlock the secrets and provide best practices for addressing these topics and protecting your software using intellectual property and contract negotiation.
By the end of our session, you'll walk away with a clear roadmap on how to shield your valuable intellectual property assets.
day.two.afternoonTalks()
Vlad Patryshev |> York, SC
Programmer
Social: [ @vpatryshev, LinkedIn, Facebook, Wowiki, Sessionize ]
Meetup: [ Scala Bay ]
In SC since 2021. 20+ years in the Bay Area - Borland, Google, Salesforce, and a bunch of startups.
Taught Logic, Formal Methods, FP at Santa Clara University.
Gave regular talks at LambdaConf.
Was an organizer of ScalaBay, BaCat, etc.
Scala is my favorite language now.
Keynote // Explaining Lambda Calculus through Plain JavaScript
Category: [ Development, Computer Science ]
Languages: [ JavaScript ]
Lambda Calculus is conceptually equivalent to JavaScript, but is mostly unreadable and enigmatic. But we can write it all in JavaScript, and then the beautiful ideas of this calculus just shine right into our eyes. Let's enjoy the beauty, as it can be expressed so simply.
Lambda Calculus is a foundation of computing theory. It is known to be equivalent to Turing machines (which we are not going to build in this talk.) It's the mother lode of many foundational ideas, while it consists of just an idea of functions and functions applications.
Justin Nash |> Travelers Rest, SC
Managing Partner, Simply Binary
Social: [ LinkedIn ]
Justin Nash is, as told by his 9 and 7 year olds, good at building, a good dada, a pilot, good at telling what types of cars they are, funny, good at tickling and “he likes me”. In addition to two cute kiddos, Justin is also husband to an amazing, supportive wife who puts up with his shenanigans and multiple mid-life crises. Professionally, he co-owns Simply Binary and Co-Founded Slipstream and gets to work with some of the greatest people ever. When he’s not at kids activities he’s spends his time trying to convince his family to go to the airport or go play golf.
Lightning // Speaking Planely for the Grounded Professional
Category: [ Career ]
Commercial aviation is arguably the benchmark as the safest thing a human being can do. You’re more likely to die from sunstroke, a bicycle accident or a car crash; How is flying commercially so safe? From checklists, to mnemonics, to catchy jingles and more, we’ll examine lessons the aviation industry has learned over the years, often with great costs to life, and see how we can apply these lessons to our professional lives. Each principle will include a brief overview of how it's used in the aviation industry followed by how it can be applied to either business, software development or even just personal development.
Stephen Borengasser |> Atlanta, GA
Founder | Corporate Leader | TEDx Speaker
Social: [ LinkedIn, Blog, Sessionize ]
Stephen is a corporate leader, TEDx speaker, and founder of Tech Leaders Unlocked with a mission: To humanize leadership in technology for lasting prosperity.
His rich corporate leadership career spans over 2 decades, 3 continents, and 14 countries. Stephen speaks on the power people-first leadership as the best way to lead the next generation of employees, organizations, and communities. Stephen is a dad of two adult Gen Z technologists who refer to him as "big man." He lives outside Atlanta.
Intermediate // Ignore the Doubters: Why Technologists Make Great Business Leaders
Category: [ Career, Leadership, Team & Process Management ]
Have you heard that technologists make bad leaders? It’s a lie. In this empowering and thought-provoking talk, Stephen shows you how technologists break the mold of traditional leadership and stand out as brilliant leaders. You’ll debunk the myth that you don’t have the people skills, discover talents that other leaders wish they had, and learn how to ignite your career to lead technology organizations. Accelerate your path to great leadership with an engineer-turned-executive who has been breaking molds for 20+ years.
You’ll leave knowing 5 superpowers you already have as a technologist that will launch you into leadership.
Seth Williams |> Atlanta, GA
Senior Software Developer, Snap! Mobile
Social: [ LinkedIn ]
I've seen some things. I've done some things. Nothing really of note though. I did run into Jerry Springer at a rest stop in Connecticut one time though... so I guess you could say I know some people.
I built our dining room table, so that's pretty neat. I watch more soccer than I probably should, and I have no regrets about it. Automate things.
Intermediate // Durable Code Execution With Temporal
Category: [ Development ]
Languages: [ Go, Java, C#, Typescript, PHP, Ruby ]
Framework/Platform: [ Temporal ]
Temporal is a system that makes processing requests in distributed systems a much cleaner and resilient process. In this talk, since it's a lightning talk, we will quickly talk about what Temporal is and then dig into some use cases for Temporal (ie. making calls to 3rd party apis or moving data between internal services). Temporal has 5 main components - the server, the task queues, the workers, the workflows (the orchestrator), and the activities (the business logic execution). We will touch on the first 3 solely as a way to understand the last 2.
We will talk about how Temporal, out of the box, handles retries, failures, timeouts, and compensations so your code is more resilient from the start - and modifying those policies is as easy as assigning attributes to a policy object. On that note, we will also talk about Temporal's automatic state management (naturally goes hand-in-hand with the retries)
We will talk about the various SDK options that are available and how integrating into the Temporal ecosystem is done within the actual code you already work in. We will also touch on the fact that it's open source, so even if they don't have an official SDK for a given language, there's a chance it exists somewhere else (ie. Coinbase's Ruby SDK).
We will also talk about scalability and how simple the process is to scale workers up/down. They operate independently of each other, polling a task queue on their own, making it easy to create/kill workers w/out worrying about much else.
A byproduct of other conversation points will also be taking a look at the Temporal UI that will help you track workflows and activities, monitor their progress, and give you a clean way to view logs.
Dillon Mulroy |> Raleigh, NC
Software Engineer, Vercel
Social: [ @dillon_mulroy, Twitch, LinkedIn, Github (Blog) ]
Dillon is a software engineer with a decade of experience working in the JavaScript and TypeScript ecosystem. He has worked on notable open source projects like Victory-Charts and spent the better part of 6 years consulting, including with Formidable, a leader in the ecosystem. He has recently begun exploring OCaml, ReasonML, and type-systems after tiring of the many foot-guns in TypeScript and searching for what could be better. Dillon can regularly be found streaming his work on Twitch with OCaml, Gleam and Coffee!
Keynote // Your next favorite programming language: Gleam
Category: [ Development ]
Languages: [ Gleam, Erlang, Elixir, TypeScript, JavaScript ]
Framework/Platform: [ OTP ]
In the ever-evolving landscape of programming languages, finding a language that balances safety, efficiency, and ease of use can be challenging. After having worked in languages ranging from TypeScript, Go, Rust, and even OCaml, I am left feeling unsatisfied. These languages get so close to getting everything right, but come with tradeoffs I don’t love. Enter Gleam, a statically typed language for the Erlang VM (or JS Runtimes if that's your thing) that aims to make type-safe programming accessible and enjoyable for all. In this talk, we will explore the unique features of Gleam, including its type inference system, friendly compiler messages, its seamless interoperability with Erlang and Elixir, and its ability to compile to JavaScript (with TypeScript definitions!).
Due to a last minute conflict, Lisa Umberger had to withdraw her Day 2 Lightning Talk "Failing to Comply:The Urgent Need for Security Policies to Address Issues Facing Security Department"
Steven Wade's Lightning Talk has been moved up into her original time slot.