- Cyborg UnPlug — sits on your wifi network and will alert you if it finds Google Glass, Dropcam, spycams, and other unwanted wifi Klingons. Or it can automatically send deauth packets to those devices to try and boot them off the network.
- How Complex Systems Fail (PDF) — That practitioner actions are gambles appears clear after accidents; in general, post hoc analysis regards these gambles as poor ones. But the converse: that successful outcomes are also the result of gambles; is not widely appreciated.
- Schnail Mail — exciting new startup idea.
- Mapping Digital Media (Open Society) — analysis of media, online and off, in various regions and discussion of how it’s changing. Among the global findings: digitization has brought no pressure to reform state broadcasters, less than one-third of countries found that digital media have helped to expand the social impact of investigative journalism, and digitization has not significantly affected total news diversity.
The daily work of building and deploying complex software.
You are desperate to communicate, to edify or entertain, to preserve moments of grace or joy or transcendence, to make real or imagined events come alive. But you cannot will this to happen. It is a matter of persistence and faith and hard work. So you might as well just go ahead and get started. — Anne Lamott, bird by bird
Words like ‘persistence’ and ‘work’ rarely show up in the same sentence as DevOps. It is more likely to be characterized as that One Weird Trick that will suddenly make your entire software development and deployment pipeline work faster and without failure every time. There are DevOps consultants and entrepreneurs — people and companies promising jetpacks and hovercrafts delivered on schedule and with cost savings. This is the software equivalent of the legendary savant writer struck by divine genius, churning out perfect page after page without fail and swimming in millions from her bestselling novels.
In reality, DevOps is quite similar to writing — it requires concerted, daily effort — but instead of sitting down to write every day, the principles look something more like:
- Release regularly
- Release in small chunks
- Test in production (or, less provocatively: do not expect to release something perfect all the time)
- Collect system/performance data and user feedback
- Refine, optimize, repeat
How do we manage systems that are too large to understand, too complex to control, and that fail in unpredictable ways?
“What is surprising is not that there are so many accidents. It is that there are so few. The thing that amazes you is not that your system goes down sometimes, it’s that it is up at all.”—Richard Cook
In September 2007, Jean Bookout, 76, was driving her Toyota Camry down an unfamiliar road in Oklahoma, with her friend Barbara Schwarz seated next to her on the passenger side. Suddenly, the Camry began to accelerate on its own. Bookout tried hitting the brakes, applying the emergency brake, but the car continued to accelerate. The car eventually collided with an embankment, injuring Bookout and killing Schwarz. In a subsequent legal case, lawyers for Toyota pointed to the most common of culprits in these types of accidents: human error. “Sometimes people make mistakes while driving their cars,” one of the lawyers claimed. Bookout was older, the road was unfamiliar, these tragic things happen. Read more…
How you handle failure can mean the difference between "just another incident" and a revenue-stealing accident.
I was ready to get home. I’d been dozing throughout the flight from JFK to SFO, listening to the background chatter of Channel 9 as a lullaby. Somewhere over Sacramento, the rhythmic flow of controller-issued clearances and pilot confirmations was broken up by a call from our plane:
“NorCal Approach, United three-eighty-nine.”
“United three-eighty-nine, NorCal, go.”
“NorCal, United three-eighty-nine, we’d like to go ahead and…”
My headphones went silent, Channel 9 shut off.
I didn’t think too much of it as we continued our descent, flight attendants walking calmly through the cabin, getting us ready for landing. I had noticed our arrival path was one I was unfamiliar with, but nothing else seemed out of the ordinary… until we turned onto the final approach. In the turn, I noticed the unmistakable glint of firetrucks’ rotating red lights, lined up alongside the runway.
“Ever tried. Ever failed. No matter. Try again. Fail again. Fail better.” —Samuel Beckett
Entrepreneurial success hinges in large part on a founder’s mastery of psychology. This requires the ability to manage one’s responses to what Ben Horowitz calls “The Struggle,” that is, the emotional roller coaster of startup life. Paul DeJoe captures the ups and downs of being a startup CEO in a post reprinted in a book that I edited, Managing Startups: Best Blog Posts.
It’s all in a founder’s head: the drive to build something great; the resilience to dust yourself off when you repeatedly get knocked down; the passion powering a Reality Distortion Field that mesmerizes potential teammates, investors, and partners. But inside a founder’s head may also be delusional arrogance; an overly impulsive “ready-fire-aim” bias for action; a preoccupation with control; fear of failure; and self-doubt fueling the impostor syndrome. That’s why VC-turned-founder-coach Jerry Colonna named his blog The Monster in Your Head. In a recent interview with Jason Calacanis, Colonna does a nice job of summarizing some of the psychological challenges confronting entrepreneurs. So does a classic article by the psychoanalyst Manfred Kets de Vries: “The Dark Side of Entrepreneurship.”
CV Camouflage, Best Practices, Failure Conference, and Fiber Lessons
- Urban Camouflage Workshop — Most of the day was spent crafting urban camouflage intended to hide the wearer from the Kinect computer vision system. By the end of the workshop we understood how to dress to avoid detection for the three different Kinect formats. (via Beta Knowledge)
- Starting a Django Project The Right Way (Jeff Knupp) — I wish more people did this: it’s not enough to learn syntax these days. Projects live in a web of best practices for source code management, deployment, testing, and migrations.
- FailCon — a one-day conference for technology entrepreneurs, investors, developers and designers to study their own and others’ failures and prepare for success. Figure out how to learn from failures—they’re far more common than successes. (via Krissy Mo)
- Google Fiber in the Real World (Giga Om) — These tests show one of the limitations of Google’s Fiber network: other services. Since Google Fiber is providing virtually unheard of speeds for their subscribers, companies like Apple and I suspect Hulu, Netflix and Amazon will need to keep up. Are you serving DSL speeds to fiber customers? (via Jonathan Brewer)
Abstraction problems, resilience engineering and outliers among Velocity's big themes.
Mike Loukides highlights talks from Velocity 2012, including: Bryan McQuade on the importance of understanding the full stack, Dr. Richard Cook on failures and complex systems, Mike Christian on redundant data centers, and John Rauser on the value of outliers.
Mike Brittain on the resilient user experience.
A failure in secondary content doesn't need to take down an entire website. Here, Etsy's Mike Brittain explains how to build resilience into UIs and allow for graceful failures.
Craft Pharma, Silly Toy, Failure, and Android Image/Audio Capture
- 3D-Printing Pharmaceuticals (BoingBoing) — Prof Cronin added: “3D printers are becoming increasingly common and affordable. It’s entirely possible that, in the future, we could see chemical engineering technology which is prohibitively expensive today filter down to laboratories and small commercial enterprises. “Even more importantly, we could use 3D printers to revolutionise access to health care in the developing world, allowing diagnosis and treatment to happen in a much more efficient and economical way than is possible now.
- Bolt Action Tactical Pen (Uncrate) — silliness.
- Ken Robinson’s Sunday Sermon (Vimeo) — In our culture, not to know is to be at fault socially… People pretend to know lots of things they don’t know. Because the worst thing to do is appear to be uninformed about something, to not have an opinion… We should know the limits of our knowledge and understand what we don’t know, and be willing to explore things we don’t know without feeling embarrassed of not knowing about them. If you work with someone who hides ignorance or failure, you’re working with a timebomb and one of your highest priorities should be to change that mindset or replace the person. (via Maria Popova)
- Using Android Camera in HTML Apps (David Calhoun) — From your browser you can now upload pictures and videos from the camera as well as sounds from the microphone. The returned data should be available to manipulate via the File API (via Josh Clark)
Resilience engineering and data's role in performance are key trends in web ops.
A number of emerging themes are defining the web operations world, including: resilience engineering, new approaches to failure, and the role data plays in boosting performance.