Skip to content

Instantly share code, notes, and snippets.

View ewbarnard's full-sized avatar

Edward Barnard ewbarnard

View GitHub Profile
@ewbarnard
ewbarnard / gist:7b43fa83f5d595386dde61670311a1b5
Last active June 29, 2016 18:25
I Was Invited to Join Anonymous
WHAT CHANGED: Complete rework based on Matthew, Dave, Ben, Colin feedback
Title: I Was Invited to Join Anonymous
Type: Keynote, Special Talk, or PHP Architect Article (1 hour with Q&A)
Description:
The notorious hacker group Anonymous is actively recruiting. Their propaganda
videos are on YouTube. They have a great approach for bringing recruits into
an "elite" organization.
WHAT CHANGED: Rewrite per Chris and Colin feedback
Title: The Strangler Pattern
Type: Regular (1 hour with Q&A) or PHP Architect Article
Description:
Our large PHP application at InboxDollars works well and generates revenue.
Unfortunately we're locked into an old version of CakePHP. We've considered
the cost of rewriting our ancient beast to use CakePHP 3 and modern PHP. The
effort is not worth it to us, since the rewrite does not bring any additional
Title: The Cray Style
Type: Regular (1 hour with Q&A) or PHP Architect Article
Description:
Thirty years ago Cray Research held a certain mystique as maker of the
world's fastest computer, the CRAY-1. That computer continues to fascinate
today. We at Cray Research thought of ourselves as part of something big. We
had a vision, and how we went about achieving that vision became known as The
Cray Style.
@ewbarnard
ewbarnard / gist:637d2e5d2d810132c1206683b093d3ca
Last active October 30, 2016 15:32
I Was Invited To Join Anonymous
WHAT CHANGED: Moved "security fatigue" to beginning, per Luis
Title: I Was Invited to Join Anonymous
Type: Regular talk (1 hour with Q&A)
Description:
Hacks are hitting the news so often that "security fatigue" is now a thing.
The notorious hacker group Anonymous continues recruiting. Their propaganda
videos are on YouTube. They have a great approach for bringing recruits into an
“elite” organization. In this non-technical talk we deconstruct the tools,
@ewbarnard
ewbarnard / gist:1c96b010b37a39788280928b4cdb67e9
Last active November 7, 2016 15:09
Big Iron: Legendary CRAY-1 Supercomputer from the Inside Out
Title: Big Iron: Legendary CRAY-1 Supercomputer from the Inside Out
Type: Regular talk (1 hour with Q&A)
Level: Entry (not mid-level or advanced)
Category: Other
Desired: False (am promoting "Invited to join Anonymous" as best)
Sponsor: True (company is sponsoring Midwest PHP)
Description:
The original CRAY-1 supercomputer was a 5-ton monster with just 8 MB of
Title (16 of 50 characters max): The Story of Mel
Type: Regular talk (1 hour with Q&A)
Difficulty Level: Beginner
Description (427 of 500 characters max):
Parisa Tabriz, head of Google Chrome's security team, states "You'll benefit
from having a strong understanding of how computers and software work." This
talk aims to inspire you to explore "down the stack," enhancing your own
career. Mel Kay was a Real Programmer of the 1950s and 1960s. We walk through
@ewbarnard
ewbarnard / gist:3275ace8bdc3400ea35d81be220c11e3
Created December 6, 2016 17:35
Sharding Message Traffic with Redis and RabbitMQ
Title (48 of 50 characters): Sharding Message Traffic with Redis and RabbitMQ
Type: Regular talk (1 hour with Q&A)
Difficulty Level: Intermediate
Description (488 of 500 characters max):
At InboxDollars we increase processing capacity by offloading requests to a job
queue. An offline job consumes the job queue, one request at a time. We can
further increase capacity by adding more workers to consume the queue. However,
we then run into concurrency problems when multiple workers are processing the
@ewbarnard
ewbarnard / gist:5f8c24afd359d2ffbd1b18eb13b43c45
Last active February 14, 2017 18:03
CakePHP Prepared Statements Ease MySQL Table Design
Many projects use CakePHP so that they have an Object-Relational Model (ORM)
to simplify database usage. However, with high-volume logging and
statistics-gathering, it can pay to go "old school" with PHP Prepared
Statements.
When MySQL tables quickly grow by millions of rows, table storage space
becomes an issue. We use classic "third normal form" not necessarily because it
is recommended practice but because it keeps our tables more compact and
efficient.
@ewbarnard
ewbarnard / gist:6112d5e539de20e6fd1a903d36951ff6
Created April 12, 2017 22:09
The Single Responsibility Principle
**Description**
"A class should have only one reason to change." That's the Single
Responsibility Principle, but it's not about code. It's about people!
As software architect Martin Fowler notes, "Let's face it, all we are doing
is writing tomorrow's legacy software today." Anything we write today will
need to change, evolve, or be thrown away. In this talk we'll learn to
recognize changes as coming from different parts of the organization, and
how to structure our code accordingly (Conway's Law). We'll take my own
example where I got it wrong, and how I made it right.
@ewbarnard
ewbarnard / gist:75e3c5e35b0826b16c01c21e6e55dd6f
Last active June 3, 2017 15:09
The Train Wreck: When Safety is Discretionary
**Title (45 of 50 characters)**
The Train Wreck: When Safety is Discretionary
**Description (591 of 600 characters)**
The train fell over as it blew through a work zone at 60 mph, killing 4 and
causing a safety rule to be amended. The railroad handbooks are
"written in blood": Every rule exists because someone died. Our software is
quickly reaching the same point: People will die unless we think of their
safety first.