reversibility   27

a rat is killed, a man broken, a horse splashes | sara hendren
"Take small steps. In an experimental approach to social change, presume that we cannot know the consequences of our interventions in advance. Given this postulate of ignorance, prefer wherever possible to take a small step, stand back, observe, and then plan the next small move. As the biologist J. B. S. Haldane metaphorically described the advantages of smallness: “You can drop a mouse down a thousand-yard mineshaft; and on arriving at the bottom, it gets a slight shock and walks away. A rat is killed, a man broken, a horse splashes.”

Favor reversibility. Prefer interventions that can easily be undone if they turn out to be mistakes. Irreversible interventions have irreversible consequences. Interventions into ecosystems require particular care in this respect, given our ignorance about how they interact. Aldo Leopold captured the spirit of caution required: “The first rule of intelligent tinkering is to keep all the parts.”

Plan on surprises. Choose plans that allow the largest accommodation to the unforeseen. In agricultural schemes this may mean choosing and preparing land so that it can grow any of several crops. In planning housing, it would mean “designing in” flexibility for accommodating changes in family structures or living styles. In a factory it may mean selecting a location, layout, or piece of machinery that allows for new processes, materials, or product lines down the road.

Plan on human inventiveness. Always plan under the assumption that those who become involved in the project later will have or will develop the experience and insight to improve on the design."
2018  sarahendren  seeinglikeastate  jamescscott  urbanplanning  socialservices  government  everyday  maps  mapping  legibility  highmodernism  socialengineering  reversibility  small  slow  humanism  humans  ecosystems  markets  community  cooperation  scale  scalability  taylorism 
january 2018 by robertogreco
sidkshatriya/dontbug: Dontbug is a reverse debugger for PHP
Dontbug is a reverse debugger (aka time travel debugger) for PHP. It allows you to record the execution of PHP scripts (in command line mode or in the browser) and replay the same execution back in a PHP IDE debugger. During replay you may debug normally (forward mode debugging) or in reverse, which allows you to step over/out backwards, step backwards, run backwards, run to cursor backwards, set breakpoints in the past and so forth.
reversibility  debugging  php 
october 2016 by rudi
Taming Complexity with Reversibility
This is a great post from Kent Beck, putting a lot of recent deployment/rollout patterns in a clear context -- that of supporting "reversibility":
Development servers. Each engineer has their own copy of the entire site. Engineers can make a change, see the consequences, and reverse the change in seconds without affecting anyone else.
Code review. Engineers can propose a change, get feedback, and improve or abandon it in minutes or hours, all before affecting any people using Facebook.
Internal usage. Engineers can make a change, get feedback from thousands of employees using the change, and roll it back in an hour.
Staged rollout. We can begin deploying a change to a billion people and, if the metrics tank, take it back before problems affect most people using Facebook.
Dynamic configuration. If an engineer has planned for it in the code, we can turn off an offending feature in production in seconds. Alternatively, we can dial features up and down in tiny increments (i.e. only 0.1% of people see the feature) to discover and avoid non-linear effects.
Correlation. Our correlation tools let us easily see the unexpected consequences of features so we know to turn them off even when those consequences aren't obvious.
IRC. We can roll out features potentially affecting our ability to communicate internally via Facebook because we have uncorrelated communication channels like IRC and phones.
Right hand side units. We can add a little bit of functionality to the website and turn it on and off in seconds, all without interfering with people's primary interaction with NewsFeed.
Shadow production. We can experiment with new services under real load, from a tiny trickle to the whole flood, without affecting production.
Frequent pushes. Reversing some changes require a code change. On the website we never more than eight hours from the next schedule code push (minutes if a fix is urgent and you are willing to compensate Release Engineering). The time frame for code reversibility on the mobile applications is longer, but the downward trend is clear from six weeks to four to (currently) two.
Data-informed decisions. (Thanks to Dave Cleal) Data-informed decisions are inherently reversible (with the exceptions noted below). "We expect this feature to affect this metric. If it doesn't, it's gone."
Advance countries. We can roll a feature out to a whole country, generate accurate feedback, and roll it back without affecting most of the people using Facebook.
Soft launches. When we roll out a feature or application with a minimum of fanfare it can be pulled back with a minimum of public attention.
Double write/bulk migrate/double read. Even as fundamental a decision as storage format is reversible if we follow this format: start writing all new data to the new data store, migrate all the old data, then start reading from the new data store in parallel with the old.

We do a bunch of these in work, and the rest are on the to-do list. +1 to these!
software  deployment  complexity  systems  facebook  reversibility  dark-releases  releases  ops  cd  migration 
july 2015 by jm
It's time physics recognised that time is real - opinion - 26 April 2013 - New Scientist
The best known arrow is the thermodynamic arrow of time, which refers to the irreversibility of processes such as broken porcelain. To explain this we invent a quantity that increases whenever an irreversible process happens – entropy – which the second law of thermodynamics asserts can only increase. In the 19th century, Ludwig Boltzmann proposed that the second law can be understood as a consequence of the hypothesis – then unproven – that matter is made of atoms. Entropy, Boltzmann proposed, is a measure of the disorder of atoms, and its tendency to increase is a consequence of the observation that random processes are more likely to introduce disorder than order.

Boltzmann's atomic hypothesis was correct. Yet he faced critics who were quick to point out a paradox lurking in his reasoning. The laws that describe the motion of atoms are reversible in time. So how come the second law of thermodynamics isn't? The closest we can get to a time-symmetric form of the second law says that if we find a system with low entropy it is most probable that entropy will increase in the future and that it was higher in the past.

Yet this still doesn't explain why our universe has such a strong arrow of time. As physicist Roger Penrose pointed out in 1979, the only thing that can explain the thermodynamic arrow of time is that the entropy of the initial conditions of the universe was very low. But this is extremely improbable too.
thermodynamics  entropy  time  physics  reversibility 
april 2013 by patrickandrews

related tags

17thst  2018  adaptivepath  agile  architecture  average  beck  bitcoin  book  brownianmotion  castro  cd  cellularautomaton  chemistry  chimney  cloud  community  complexity  compsci  computation  computer  computing  cooperation  crab  dark-releases  data  debugging  deletion  deployment  design  domino  economics  economy  ecosystems  electronics  energy  entropy  everyday  face  facebook  feynman  fluid  friction  google  government  highmodernism  humanism  humans  irreversible  jamescscott  landauer  language_design  legibility  logic  mapping  maps  markets  math  maxwell  mechanics  methodology  migration  mockup  molecule  multisignature  ops  organization  oscillation  php  physics  plaza  principles  programming  protocol  prototype  quantum  ratchet  releases  rfw  sanfrancisco  sarahendren  scalability  scale  sculpture  seeinglikeastate  serverless  sf  slow  small  socialengineering  socialservices  software  superfluid  systems  taylorism  test  thermodynamics  time  trends  urbanplanning  xp 

Copy this bookmark: