Douglas HawkinsDan McKinleySteven PoustyLuciano Ramalho

Optimization from Code to Architecture

O'Reilly Software Engineering Online Conference

Date: This event took place live on April 28 2015

Presented by: Douglas Hawkins, Dan McKinley, Steven Pousty, Luciano Ramalho

Duration: Approximately 4 hours.

Cost: Free

Questions? Please send email to


Hosted By: Rachel Roumeliotis

Whether you're building a new architecture, tweaking your Python unicode, or optimizing your Java for performance, there are ways that you can fine-tune your practices to improve your efficiency and quality of work while reducing errors. O'Reilly's first online conference for software architects focuses on these matters. In four hours, we'll take you from line of code to the big picture, including an introduction to microservices and David McKinley's session "Choose Boring Technology" on making broader business decisions.

Hosted by Rachel Roumeliotis, conference chair for OSCON and the O'Reilly Software Architecture, the event is free, interactive (bring your questions), and worth your time.

Choose Boring Technology
Dan McKinley

How do you choose the technology to run your business? The prevailing advice du jour is something like: "use the best tool for the job." This is obviously right, but it is also devoid of meaning in an unfortunate way that lets people define the words "best" and "job" as myopically as they like.

This talk aims to give shape to these nebulous terms. Your job is to keep your company in business. The best tools tend to be the ones that solve the widest array of problems while requiring the least amount of operational overhead. If innovation happens when preparation meets opportunity, I submit that opportunity rarely appears in the form of an unforeseen data loss bug.

Of course, adding technology is sometimes necessary. It's true that shiny new technologies can be useful, and it's true that a mix of technology is healthy. But the world is beset by polyglot programmers and microservice proponents. A framework for thinking about these issues systematically is necessary. That process must consider the organization as a whole, and it must reintroduce constraints that have gone to seed in the era of cloud infrastructure.

Choose boring technology. If you can get past this, you can be exciting in ways you can't imagine.


About Dan McKinley

After starting his career in finance, Dan McKinley freaked out and moved to Brooklyn. He stumbled into a fledgling in 2007, and spent his first years there trying to stop overwhelming traffic from reducing the site to its constituent elements. In the long summer that followed he worked on activity feeds, search, recommendations, experimentation, and analytics.

Dan currently works for Stripe from Los Angeles, California.

Twitter: @mcfunley

Optimizing Java Performance with HotSpot
Write Clean Code "Just-In-Time" and Worry Less As a Developer
Douglas Hawkins

HotSpot promises to do wonders for Java developers by identifying hot code and optimizing it "just-in-time." For the most part, HotSpot stays true to its promises. However, it's easier to trust this adaptive performance engine once you understand precisely how the magic works.

In this session led by Douglas Hawkins, we'll help Java developers of all levels better understand what this virtual machine can and cannot do for them. By the end of this talk, developers will be able to use HotSpot to focus on solving critical performance issues with their code. They will also walk away with practical strategies they can use to implement a more efficient and productive development environment.


About Douglas Hawkins

Douglas Q. Hawkins is a VM Engineer at Azul Systems. He has been passionately developing software for over 10 years, and has created applications for a variety of industries including bioinformatics, finance, and online retail. However, his true interest has always been exploring what happens inside the virtual machines developers use on a daily basis. He is also a regular speaker on the No Fluff Just Stuff conference tour.

Twitter: @dougqh

Unicode Solutions in Python 2 and 3
Luciano Ramalho

This session tackles head-on the most common problems when dealing with Unicode data or any text data that is not limited to ASCII. Each example is presented first with Python 3 code — which is easier to understand — and then with Python 2.7, the version used in most current projects.

Topics covered:

  • Understanding character encodings and the encode/decode methods;
  • Diagnosing and fixing encoding errors raised by Python;
  • Handling text files and standard I/O in GNU/Linux, OSX and Windows;
  • Safe comparisons and pattern matching with Unicode;
  • Proper sorting of Unicode data


About Luciano Ramalho

Luciano Ramalho was a Web developer before the Netscape IPO in 1995, and switched from Perl to Java to Python in 1998. Since then he worked on some of the largest news portals in Brazil using Python, and taught Python web development in the Brazilian media, banking and government sectors. His speaking credentials include PyCon US (2013), OSCON (2002, 2013, 2014), and many talks over the years at PythonBrasil (the Brazilian PyCon) FISL (the largest FLOSS conference in the Southern Hemisphere) and RuPy. Ramalho is a member of the Python Software Foundation and co-founder of Garoa Hacker Clube, the first hackerspace in Brazil. He is co-owner of, a training company.

Twitter: @ramalhoorg

Microservices and You
The Straight Dope
Steven Pousty

You have started to hear about microservices and you want to learn more about what happens when the rubber meets the road. In this talk I will cover the process I went through in constructing, a multi-device application for gamified recording of roadkill. While I will briefly cover how I went about the process, I will pay particular attention to how to get started, understanding what microservices ACTUALLY needs, and how you too can be a microservices practitioner. My talk style is informal and interactive so there will be a back and forth to discuss some of your implementation questions. Come in curious, leave with some solid ideas on how to get started on your first microservice architected application.


About Steven Pousty

Steve is a Dad, Son, Partner, and PaaS Dust Spreader (aka developer evangelist) with OpenShift. He goes around and shows off all the great work the OpenShift engineers do. He can teach you about PaaS with Java, Python, PostgreSQL MongoDB, and some JavaScript. He has deep subject area expertise in GIS/Spatial, Statistics, and Ecology. He has spoken at over 50 conferences and done over 30 workshops including Monktoberfest, MongoNY, JavaOne, FOSS4G, CTIA, AjaxWorld, GeoWeb, Where2.0, and OSCON. Before OpenShift, Steve was a developer evangelist for LinkedIn, deCarta, and ESRI. Steve has a Ph.D. in Ecology from University of Connecticut. He likes building interesting applications and helping developers create great solutions.

Twitter: @TheSteve0

About Rachel Roumeliotis

Rachel Roumeliotis, a Strategic Content Director at O’Reilly Media, Inc., leads an editorial team that covers a wide variety of programming topics ranging from full-stack, to open source in the enterprise, to emerging programming languages. She is a Programming Chair of OSCON and O'Reilly's Software Architecture Conference. She has been working in technical publishing for 10 years, acquiring content in many areas including mobile programming, UX, computer security, and AI.