This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As the software expert you're on call for life unless you create other experts. | |
We'll explore the impossible problem of ocean navigation, of finding longitude. | |
Ships wrecked. Thousands died. 225 years ago Nathaniel Bowditch taught illiterate | |
sailors to navigate by the stars. Bowditch's five techniques show us how to | |
master our own craft, creating mastery in the developers around us. Next time you | |
have trouble explaining, remember how Bowditch did it. | |
Note - Aimed at the phptek-2020 "tech leadership" track, "topics that would be | |
interesting to Senior Developers, Team Leads, Dev Managers and CTOs". |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Keybase proof | |
I hereby claim: | |
* I am ewbarnard on github. | |
* I am ewbarnard (https://keybase.io/ewbarnard) on keybase. | |
* I have a public key ASDuWGG0jI24GLDUiCNbkVn-GhdhpCpnnfPWXhcSKHjbdgo | |
To claim this, I am signing this object: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
How PHP works - for PHP people | |
Our current PHP internals information naturally assumes the reader can program | |
in C. I think it's important we address a different audience: regular PHP | |
programmers. Assume no formal engineering or computer science background. Many | |
are self taught, which can mean large gaps in knowledge of the language, how | |
compilers and operating systems work, and so on. | |
Thus our target audience should be the people who "do" a lot of PHP. This | |
could include any large production application but also includes core |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The train fell over as it blew through a construction zone, killing 4 and | |
causing a safety rule to be amended. The railroad handbook are | |
"written in blood": every rule exists because someone died. Our software | |
is quickly reaching the same point yet we have no ethics with teeth. We'll | |
see how this came to pass, through the Harvard Business School, and how it | |
disproportionately affects women and minorities. We'll clearly see what | |
needs to change. | |
As a well-received twitter thread: https://twitter.com/ewbarnard/status/1033903800975863808 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Few know the story of the codebreakers who quietly moved to a glider factory | |
in St. Paul. They invented the first stored-program computer but the NSA kept | |
it secret. Their company merged with the creators of ENIAC and could have | |
become Silicon Valley - but never did, because the two groups hated each | |
other. We'll follow codebreaker Bill Norris and U of MN grad Seymour Cray | |
through Control Data to Cray Research. The unique character of the company | |
that made the CRAY-1 is based on the fact that Seymour Cray was not a people | |
person. | |
As a twitter thread: https://gist.github.com/ewbarnard/1e65b563e56f3148ac1b2a36cea43972 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
**This is a keynote format rather than technical talk** | |
Winter climbs of Mount Rainier remain as rare and dangerous now as 40 years | |
ago, when a group of teenagers decided to do this. Half of us had never been | |
on a glacier before. This was an audacious goal, which is why we chose it. | |
The mental toughness learned on this adventure has served me throughout my | |
career. We'll see extreme planning, practice, and perseverance when a life is | |
literally on the line. Follow our adventure as we summit Pikes Peak for | |
practice and Rainier for real in harsh winter conditions. 40 years later our | |
team instantly came together to tell this story - because we had built trust, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
By far the most work involved in any Machine Learning (ML) project is the data | |
wrangling. We can do this in PHP but it's far different from building a web | |
site! We normally use PHP as a *programming language* for *creating stuff*. | |
Far less often do we use PHP as a *scripting language* for *automating tasks.* | |
Yet PHP works well for automating tasks because of the rapid development/ | |
turn-around time. We'll learn patterns for multi-step processing. We'll munge | |
databases, import and export spreadsheet data. Although we use CakePHP, the | |
principles are universal to any modern PHP framework. | |
Additional information for conference organizers: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Anyone who fundamentally "gets it," understanding how computers and software | |
work, is a huge asset to any organization. We'll look at Mel Kaye, the | |
archetypical Real Programmer. During the 1950s-1960s he was renowned for his | |
ability to grok underlying systems and write code to take advantage of their | |
quirks. We'll step back 60 years to learn what it was like programming a | |
first-generation vacuum tube computer. | |
Mel's story demonstrates why knowledge of the full stack benefits you as a | |
programmer. In this talk, we'll hear about his zany exploits, focusing on the | |
lessons we can learn to make ourselves stronger and better developers. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
We've come full circle: A generation ago people were expected to manipulate | |
binary numbers. Those forgotten skills are coming back into demand. The | |
Raspberry Pi, IoT microcontrollers, network code, pure-PHP libraries, all | |
deal with binary-based interfaces or hardware pins. This workshop focuses on | |
learning the software skills you need for working close to the hardware. We'll | |
"learn binary" and practice this knowledge with two pure PHP projects. We'll | |
first learn and use AND, OR, XOR to build a binary adder implementing Boolean | |
logic gates in PHP. Next we learn shifting, masking, one's complement, two's | |
complement for our second PHP project: Implement your own algorithm converting | |
decimal to hexadecimal without sprintf(). This hands-on workshop focuses on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Producer/Consumer Programming | |
Time: 30 Minutes | |
Audience: CakeFest 2018 (CakePHP framework specific) | |
Producer/Consumer programming is a great technique for offloading work from | |
your main application. You can scale resources to meet increased demand. | |
You can "smooth out" spikes by placing your backlog in a queue. You can set | |
aside long-running tasks such as thumbnail generation. We'll develop a simple | |
application that produces and consumes via a free CloudAMQP (RabbitMQ) | |
account. |
NewerOlder