Click here to go see the bonus panel!
Hovertext:
Thanks again, early buyers! It is a sincerely big deal to have all these preorders in place.
Today's News:
More info here. God bless the 3 of you still using RSS who actually read this thing.
Hovertext:
Thanks again, early buyers! It is a sincerely big deal to have all these preorders in place.
More info here. God bless the 3 of you still using RSS who actually read this thing.
A big theme in the keynotes and conversation during Velocity Conf in NYC a few weeks ago was the role of ops in an "ops-less" and "server-less" world. It's also been a big feature in discussions on twitter and in conversations I've had with coworkers and friends in the industry. There are several things that stand out to me in these conversations: first, that some ops engineers (sysadmins, techops, devops, and SREs) are worried that they will be phased out if developers and software engineers are responsible for the operational tasks in their systems; second, that developers and software engineers do not have the skills needed to take over responsibility for operational tasks; and third, that building reliable systems is impossible without an operations organization.
I'm considered by many to be an ops engineer by trade, because I'm a site reliability engineer (SRE) at Uber. At most companies, SREs are just like any old ops engineers: they're viewed by developers as the engineers who are responsible for running the software after the developers build it. At other companies (like Uber), SREs aren't supposed to be your typical ops engineers - the majority of them aren't on-call for the microservices (the development teams are), they don't deploy the code (the developers do), but they do build tools to enable and empower developers to run their own services, and they are there to make sure that systems are built and run with reliability in mind. Even so, there's not that much that differentiates an SRE from a SWE (software engineer), and when people talk about an ops-less world, SREs (myself included) wonder where we fit into the picture.
Let's start with a simple question: do we really need operations engineers? My answer is a very loud and firm "no". We don't need operations engineers. We don't need a separate organization whose responsibility it is to deploy all the code, to be on-call for all the services, to monitor everything, to do all of the debugging and troubleshooting and mitigating and resolving every time something breaks. As I've argued before, these tasks are best accomplished when they are the responsibility of whoever knows the application, service, or system best, and, in the majority of cases, the developers are the best engineers for the job. If developers are ready, willing, and trained to take over the operational tasks for their systems, then there's no reason to have a separate operations organization - but in the industry today, that's not the case: many developers aren't ready (they haven't been on-call before, they don't know anything about systems debugging and troubleshooting), they aren't willing (after all, who wants to get paged at 2:00 AM when their code causes the system to fail?), and they aren't trained (they don't know best practices for deployment, for logging, for monitoring, etc.). In short, if developers are responsible for running their own applications, services, or systems, then no, you don't need a separate operations organization - but if they aren't, then you most certainly do.
To explain my reasoning behind this, I'm going to dig into each of the concerns I listed above. Let's start with the first concern: the fear that ops careers will be phased out. If we get to the point within a company where operational engineers are no longer needed, because developers are responsible for running and maintaining their own software, then we've done our jobs. One of the things that senior ops engineers have always told me is that ops should strive to automate themselves out of their jobs - automate monitoring, automate deployment, automate rollbacks when deployments go badly - and if you find yourself at a point where everything is automated, then it's time to either figure out how to make it even better (if you can), or move on to another company and set them up for success. Automating everything away isn't enough to justify running an ops-less organization, however: developers will need to become responsible for running the deployment systems, for understanding monitoring, for learning how to debug and troubleshoot complex systems problems. To run a successful ops-less organization, developers need to become experts in operations.
Let's imagine that we find ourselves in a company where the developers are experts in operations, every operational task has been turned into a self-service tool that is maintained by developers, and there are no traditional operational tasks left for the ops engineer to work on. What happens to the operations engineers? The first possibility is that the operations engineer moves on to another company where developers aren't responsible for operations - if you love ops work, then this would be the right move. The second possibility is that operations engineers become the software engineers responsible for internal self-service tools and the application platform, and they build centralized systems that all development teams can use for logging, for monitoring, for debugging, for deployment, and the like. This second possibility requires that ops engineers be strong and capable programmers (if you've automated yourself out of operations, then you're likely a pretty competent programmer), and it comes with work that will never end nor be phased out: there will always be new and improved infrastructure tools that you can adopt and migrate your systems to, there will always be new challenges you will meet. In this second picture, there is practically no difference between a software engineer and an operations engineer - they both build and run their own systems - other than the domain: the software engineer builds and runs the top-level applications, while the (ex-)operations engineer builds and runs the infrastructure and tooling underneath the applications.
Now for the second concern: that developers and software engineers (some places use the terms interchangeably, some do not, so I'm including both terms here) simply don't have the skills, knowledge, and/or expertise needed to take over operational tasks. There is a little bit of truth to this, because many developers work in organizations where they've never had to do any operational tasks. If they were told they were responsible for their own operations, many of them would have no idea where to start or what to do. However, the majority of developers are very capable and competent engineers who know the fundamentals of software engineering and computer science - if they can write an application, they can definitely debug, monitor, deploy, and be on-call for that application. Like anything else, learning how to handle operational tasks just takes time, training, and help.
There are three domains of expertise that experienced operations engineers tend to have. They have a lot of low-level systems knowledge: they know how to debug low-level systems problems, they understand the fundamentals of networking, they know the intricacies of the Linux kernel and they know every Linux command on this earth. They also have a lot of high-level distributed systems knowledge: they know how entire production systems fit and work together, they know how to design for scalability and reliability, they know how things should be deployed and monitored and logged. They also have solid programming skills: they know multiple languages quite well, and can easily write applications and tools for developers to use. The tricky thing about replacing operational engineers with software engineers is that software engineers tend to only be experts in the latter domain. In an ops-less organization, developers need to have the skills and experience in the two former domains as well. Again, this isn't impossible, and I've met many, many software engineers who are extraordinarily skilled in all three areas.
Finally, the third concern: that building a reliable system is impossible without an operations organization. This is, once again, something that is true in organizations where developers aren't responsible for operational tasks and lack the systems and best practices knowledge that operational engineers bring to the table. If you build a system without engineers that have (i) deep understanding of computer systems at a low-level, (ii) knowledge of operational best practices, and (iii) experience with building and running large-scale production systems, then yes, you are going to have a really horrible experience trying to build a reliable system. But if your developers are trained and have experience in these three areas, then you will be just fine.
I think the identity crisis in ops is justified. Ops roles have been around for many, many years, and recently the conversation in the industry has shifted so much that industry leaders are beginning to ask if having a separate operational organization even makes sense. In organizations that train and expect their developers to run what they build, the operations roles will change dramatically - in my opinion, they will change for the better, and we'll be building large, complex systems and self-service tools and application platforms and all kinds of wonderful, exciting, cool things. However, I think that the majority of operations engineers will find that the their roles will stay the same for a very long time: there will (probably) always be organizations that prefer to split their engineering resources between those who build (developers) and those who run (operations), and there will always be new organizations who are moving toward ops-less but need operations engineers to pave the way, to train the developers, to build the systems and automate things to the point that developers can begin taking on the operational responsibilities.
In summary: the identity crisis is real, and it's here, and it's unavoidable, but I don't think that it's a sign that things are getting worse for operations and for the tech industry. It's a sign that things are getting better. It's an exciting sign that the field is changing, evolving, growing. It's a sign that responsibility is (finally!) valued in the world of software engineering.
In 2008, while locating specimens to create a multi-colored blossom tree for an art project, artist and Syracuse University art professor Sam Van Aken had the opportunity to acquire a 3-acre orchard from the New York State Agricultural Experiment Station. Fascinated by the practice of grafting trees since a young age, Aken began to graft buds from the 250 heritage varieties found on the orchard onto a single stock tree.
To create the Frankenstein-esque tree, Aken worked with stone fruits (fruits with pits) like peaches, plums, apricots, almonds, and nectarines. Over the course of five years he successfully grafted dozens of plants onto the same tree, and with that, the Tree of 40 Fruit project was born. Because of their similarities, all 40 fruits bud, bloom and fruit in near perfect unison.
Aken has since grafted at least 16 different “Trees of 40 Fruit” which are planted across the U.S. in places like Newton, Massachusetts; Pound Ridge, New York; Short Hills, New Jersey; Bentonville, Arkansas; and San Jose, California. Each tree is specific to its environment, using both local and antique varieties.
National Geographic recently met up with Aken to interview the artist about how he makes each tree. You can hear him talk about the project in the video above. (via Digg)
The focus of my life in recent months has been living mindfully, and while I don’t always remember to do that, I have learned a few things worth sharing.
The first is a mindful life is worth the effort. It’s a life where we awaken from the dream state we’re most often submerged in — the state of having your mind anywhere but the present moment, locked in thoughts about what you’re going to do later, about something someone else said, about something you’re stressing about or angry about. The state of mind where we’re lost in our smartphones and social media.
It’s worth the effort, because being awake means we’re not missing life as we walk through it. Being awake means we’re conscious of what’s going on inside us, as it happens, and so can make more conscious choices rather than acting on our impulses all the time.
The second thing I’ve learned is that we forget. We forget, over and over, to be awake. And that’s OK. Being mindful is a process of forgetting, and then remembering. Repeatedly. Just as breathing is a process of exhaling, and then inhaling, repeatedly.
The third is that mindful living isn’t just one thing. It’s not just meditation. Nor is it just focusing on the sensations around you, right now in this moment. I’ve found mindful living to be a set of very related tools, perhaps all different ways of getting at the same thing, but each useful in its own regard.
I’ll share them in this post, and hope that you’ll consider each in turn.
Why bother to spend the time learning these tools? Is it just for some ideal of living a peaceful, stress-free life?
No. A stress-free life doesn’t exist, but these tools will definitely make you more prepared to deal with the stresses that will inevitably come your way.
But just as importantly, they’ll help you overcome the fear of failure and fear of discomfort that’s holding you back, that’s keeping you from making positive changes in your life.
These tools will help you launch your new blog, start a business, write a book, put out your first music album online, find your purpose in life, become the person you’ve always wanted to be.
This is what I’ve found. I’m certain you’ll find these tools just as useful.
This list, of course, is not complete. It’s a collection of things I’ve been learning about, and am still practicing, things I’ve found useful enough to share.
OK, that seems like a lot to digest and remember, right?
Well, there’s hope. I often forget all of this stuff, but then I remember, and say, “Ah, I was doing it again!” And then I practice again.
And then I forget, but I reflect, and I learn, and I practice again.
This is the process of learning mindfulness. It’s forgetting, and then remembering, again and again.
And it’s worth remembering, again and again.
Piled Higher & Deeper by Jorge Cham |
www.phdcomics.com
|
|
title:
"Post-Doctor Who, Pt. 3" - originally published
10/11/2013
For the latest news in PHD Comics, CLICK HERE! |
Dolphins have uncovered a marvel of naval history: the 125-year-old Howell torpedo, the first torpedo that could be released into the ocean and follow a track to smash a target without leaving a wake. Only 50 were made between 1870 and 1889 by a Rhode Island company before the competition copied the design. There are two others of its kind known to exist, housed in naval museums in Washington and Rhode Island. Now dolphins working for the Navy have turned up a third.
The dolphins are trained to dive in search of underwater objects like mines or lost naval swimmers. On a search, they touch the front of the boat if they’ve found something, and the stern of the boat if not.
In March, on a routine mine-hunting training exercise, a dolphin named Ten surfaced and touched the front of the boat in an area the team didn’t expect to find anything, so they ignored it and moved on. When a week later another dolphin named Spetz did the same thing in that area, they sent Spetz to mark the object’s location with a weighted buoy line. Further investigation revealed a broken torpedo in two parts, which the navy ultimately identified as a long-lost Howell torpedo.
Since the 1960s, the Navy Marine Mammal Program has been training dolphins to find mines, underwater objects expensive enough to warrant a search rather than a replacement, or weapons that might be a danger to Navy vessels. Dolphins use echolocation to map and navigate space, sending out calls and assessing distances and shapes based on the echoes they receive as their sounds bounce off objects in the environment. This capacity is the most sophisticated sonar known to man, an ability humans can barely understand, but which we have attempted to mimic in our own sonar technology.
But naval dolphins might soon be out of a job: in 2017, the US Military may begin retiring dolphins in favor of cheaper mine-hunting robots.
The honeybee may be the ideal mine-hunter: its minute stature, plus a natural talent for detecting the smell of explosives, means bees are able to wander through a Croatian field littered with landmines and detect them without being harmed.
Nikola Kezic of Zagreb University, a honeybee behavioral expert, is training bees to associate the smell of TNT, the most common explosive of the Balkan Wars, with food. By conducting trainings where TNT is placed in the same containers as sugar water, Kezic is training one bee at a time to navigate towards the TNT.
During the Balkan wars of the early 1990s, 90,000 land mines were littered around the area with no plan and no map. Since the wars ended, over 300 people have died from exploding landmines, and these accidents occur most frequently in areas thought to be de-mined, where landmines can remain buried in soil.
Once the training is brought to scale, the Tiramisu project, which funds Kezic’s work, hopes to track the bees’ movements with heat-seeking cameras, making it possible to find and deactivate the lethal mines by tracking the movements of the swarm. Kezic says there is a great difference between training one bee and a swarm of bees, but if critical mass could be achieved, these animals would be able to help identify unexploded mines without getting harmed in the action—unlike previous minehunters such as dogs and rats, whose weight can trigger the mines.
The post Honeybees and Dolphins Help Humans Find Lethal Mines appeared first on Visual Science.