software
play

Software Is Details @KevlinHenney Any program is a model of a - PowerPoint PPT Presentation

Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs, Life Cycles, and Laws of Software


  1. Software Is Details @KevlinHenney

  2. Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs, Life Cycles, and Laws of Software Evolution"

  3. The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise. Edsger W Dijkstra

  4. It's just semantics.

  5. It's just meaning.

  6. It's just details.

  7. Details count. Peter Weinberger

  8. Geeks are people who love something so much that all the details matter. Marissa Mayer

  9. We're talking about a very specific mindset that is crucial when it comes to the act of creating. Will Gompertz Think Like an Artist

  10. It is an attitude that can be encapsulated in a simple but demanding rule: always think both big picture and fine detail. Will Gompertz Think Like an Artist

  11. software

  12. software architecture

  13. code

  14. implementation

  15. implementation details

  16. design details

  17. design decisions

  18. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change. Grady Booch

  19. Architecture is a hypothesis, that needs to be proven by implementation and measurement. Tom Gilb

  20. We propose [...] that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others. David L Parnas On the Criteria to Be Used in Decomposing Systems into Modules

  21. Programming is a design activity. Jack W Reeves What Is Software Design?

  22. Coding actually makes sense more often than believed. Often the process of rendering the design in code will reveal oversights and the need for additional design effort. The earlier this occurs, the better the design will be. Jack W Reeves What Is Software Design?

  23. If a plot works out exactly as you first planned, you're not working loosely enough to give room to your imagination and instincts.

  24. / WordFriday

  25. pantser, noun  Writer who writes by the seat of their pants.  In contrast to a plotter, a pantser doesn't work to (or have) an outline.

  26. 16-bit

  27. 32-bit

  28. 64-bit

  29. <windows.h>

  30. LLP64

  31. LP64

  32. Hamlet: To be, or not to be, that is the question.

  33. Ophelia: 'Tis in my memory locked, and you yourself shall keep the key of it.

  34. Hamlet: Yea, from the table of my memory I'll wipe away all trivial fond records.

  35. Mutable Unshared mutable Shared mutable data needs no data needs synchronisation synchronisation Unshared Shared Unshared immutable Shared immutable data needs no data needs no synchronisation synchronisation Immutable

  36. The Synchronisation Quadrant Mutable Unshared mutable Shared mutable data needs no data needs synchronisation synchronisation Unshared Shared Unshared immutable Shared immutable data needs no data needs no synchronisation synchronisation Immutable

  37. All computers wait at the same speed

  38. Savings in time feel like simplicity

  39. ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

  40. ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

  41. ... premature optimization is the root of all evil (or at least most of it) in programming. Donald Knuth

  42. Command-line tools can be 235x faster than your Hadoop cluster Adam Drake http://aadrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html

  43. sort

  44. O( n log n )

  45. O( n 2 )

  46. O( n !)

  47. OMG!

  48. O( n )

  49. Simple Testing Can Prevent Most Critical Failures An Analysis of Production Failures in Distributed Data-Intensive Systems https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf

  50. Schiaparelli’s Inertial Measurement Unit (IMU) went about its business of calculating the lander’s rotation rate. For some reason, the IMU calculated a saturation- maximum period that persisted for one second longer than what would normally be expected at this stage. When the IMU sent this bogus information to the craft’s navigation system, it calculated a negative altitude. http://gizmodo.com/a-crazy-miscalculation-doomed-the-sciaparelli-lander-1789319670

  51. That fateful miscalculation set off a cascade of despair, triggering the premature release of the parachute and the backshell, a brief firing of the braking thrusters, and activation of the on-ground systems as if Schiaparelli had already reached the surface. This all happened while the vehicle was still two miles (3.7 km) above ground. http://gizmodo.com/a-crazy-miscalculation-doomed-the-sciaparelli-lander-1789319670

  52. A majority of the production failures (77%) can be reproduced by a unit test. https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf

  53. http://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/

  54. http://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/

  55. http://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/

  56. http://www.commitstrip.com/en/2016/08/25/a-very-comprehensive-and-precise-spec/

  57. Normally screws are so cheap and small and simple you think of them as unimportant. But now, as your Quality awareness becomes stronger, you realize that this one, individual, particular screw is neither cheap nor small nor unimportant. Robert M Pirsig Zen and the Art of Motorcycle Maintenance

  58. Right now this screw is worth exactly the selling price of the whole motorcycle, because the motorcycle is actually valueless until you get the screw out. With this reevaluation of the screw comes a willingness to expand your knowledge of it. Robert M Pirsig Zen and the Art of Motorcycle Maintenance

  59. Software Is Details

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend