
Karl Hughes
CTO at The Graide Network
Actions
Karl Hughes has been building software and teams for education technology startups in Chicago for the past several years. He is currently the CTO at The Graide Network where he oversees architecture, testing, and product planning.
Links
Building Your First PHP Application with Docker
Whether you're just starting out or an expert PHP developer, you've probably heard the dreaded line, "Works on my machine." Docker is quickly becoming the industry-accepted answer to this problem by making virtualization faster and more flexible than ever before.
In this walk-through, we'll take a step-by-step look at exactly how to set up a PHP application using Docker. Along the way we'll explore how Docker works, why containers are an improvement over virtual machines, and how this setup can minimize the differences between local and production environments.
Slides: https://drive.google.com/drive/folders/1oq3qlcle8cHXixil6MQFqSXFtncq48Eg
Given At:
- [Northeast PHP, 2018](https://northeastphp2018.sched.com/event/Fh5v/building-your-first-php-application-in-docker-php)
- [Midwest PHP, 2019](https://joind.in/event/midwest-php-2019/building-your-first-php-application-in-docker)
- [Chicago PHP User Group, 2019](https://www.meetup.com/Chicago-PHP-User-Group/events/259924192/) ([Video](https://www.youtube.com/watch?v=tltpMxXgaf4))
Blog Posts:
- [Shiphp Book: Building Your First PHP Application with Docker](https://www.shiphp.com/books)
- [Building a PHP Command Line App with Docker](https://blog.codeship.com/building-a-php-command-line-app-with-docker/)
Stop Writing Code and Start Solving Problems
Solving problems is a complex, multi-disciplinary art, but as software developers, we tend to jump straight into writing code. While that may be your strength, there are times when you'd be better served by stopping to ask, "What's the real problem here?"
In this talk, I'll use three illustrative stories to drive home the key points: (1) software engineers are hired to solve problems, (2) we are expected to understand those problems, and (3) we don't have to write code to solve them. Along the way, I'll share some tools, tips, and discoveries I've made that might help you become a more productive and effective software developer.
Slides: https://drive.google.com/drive/folders/1ZgGKr7PgNGbMYtpRKKp-nMcTCUzGtFjj
Given At:
- [Chicago JS Camp, 2019](https://www.chicagojscamp.org/schedule) (10 minutes, [Video](https://www.youtube.com/watch?v=Aw5B8XDQLT8))
- [Developer First, 2020](https://www.developer-first.com/karl-hughes)
- React Native Meetup, April 15th 2020
Blog Posts:
- [The Bulk of Software Engineering is Just Plumbing](https://www.karllhughes.com/posts/plumbing)
- [Writing Less Software to Accomplish More](https://www.karllhughes.com/posts/less-custom-software)
- [The Age of Cloud Services](https://www.karllhughes.com/posts/cloud-services)
Improving Your PHP with Static Types
As PHP incorporates more features typical of statically typed languages (class properties, function parameters, return types), developers will need to adjust to a completely new style of programming in PHP. While many applaud these features, PHP's implementation isn't quite the same as many traditionally statically typed languages, so there are limitations and pitfalls to be aware of.
In this talk, we'll dive into several examples of how statically typed PHP can improve developer experience and code quality while eliminating the need for a whole class of unit tests. Developers will see some of the "weaknesses" in PHP's strong typing, and get a hint as to where static typing in PHP might be going given the right community support.
Building Your First Javascript Application with Docker
Since its first release in 2013, Docker has quickly become one of the hottest topics in software development, and has been adopted by both large and small companies across the world. While local development of Javascript projects using NVM helps ensure some level of environmental consistency, Docker takes it a step further and it's much faster and more flexible than a virtual machine.
In this talk, we'll go through the process of running a full-stack Javascript application using Docker. We'll use Node, Express, and Postgres to build and run our application locally, and we'll briefly look at some options for hosting containers.
Slides: https://drive.google.com/drive/folders/1oq3qlcle8cHXixil6MQFqSXFtncq48Eg
Given At:
- [Chicago Javascript Meetup, 2018](https://youtu.be/WciPdjtU24c?t=1095)
Blog Posts:
- [Building Your First Node App Using Docker](https://www.javascriptjanuary.com/blog/building-your-first-node-app-using-docker)
Testing Layers in a Distributed Architecture
Modern web applications often rely on internal APIs, multiple frontend applications, several third-party services, and dozens of vendor libraries. With complex distributed systems like this, how can developers create a comprehensive test plan that covers everything without slowing development down to a crawl?
In this talk, we'll learn how to create test plans for complex, service-oriented applications as well as some best practices for testing across a distributed architecture. We'll see how layers of unit, integration, acceptance, and end-to-end tests can greatly improve the reliability of our applications and make maintaining them much easier in the long-run.
Slides: https://drive.google.com/drive/folders/0B2SL8f3YPEJPLUdTWVZ2MEotMmc
Given At:
- [API Strat and Practice, 2017](https://apistrat17.sched.com/event/BiDd/testing-layers-in-a-distributed-architecture-karl-hughes-the-graide-network) ([Video](https://www.youtube.com/watch?v=NcQryexNKhM))
- [Codemash, 2018](https://www.karllhughes.com/posts/testing-layers-codemash-2018)
- University of Illinois Web Conference, 2018
- [JS Chi Meetup, 2017](https://www.youtube.com/watch?v=_o5-g4Boe1s&t=9s)
- [Angular Chicago Meetup](https://www.meetup.com/Angular-Chicago-Meetup/events/239758211/)
Blog Posts:
- [Testing Layers in a Microservice Architecture](https://www.karllhughes.com/posts/testing-layers)
- [Why Testing is Important for Distributed Software](https://www.linuxfoundation.org/blog/2017/10/testing-important-distributed-software/)
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top