Skip to content

Commit

Permalink
More ideas from analogue notes
Browse files Browse the repository at this point in the history
  • Loading branch information
DinisCruz committed Feb 19, 2018
1 parent 3f742a9 commit c088f4e
Show file tree
Hide file tree
Showing 13 changed files with 144 additions and 32 deletions.
17 changes: 17 additions & 0 deletions content/2.technologies/iot.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: IOT (Internet of Things)
---

...

---

**Topics to cover and ideas**

- why it is big
- what it means for programmers
- massive job opportunities
- the power of software vs hardware
- it is all about code
- most IOT vendors don't understand much about modern development practices and security
- show shodan
13 changes: 10 additions & 3 deletions content/3.what-is-this/linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@ title: linux
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- linux history (it all started by Linus Torvalds inspired by a MINIX system)
- mention some of Linus views

- linux
- [Linux patch submitted by an 4 year old](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=690b0543a813b0ecfc51b0374c0ce6c8275435f0)
- most complex software in the world
- git was created to manage the linux code development
- you need to learn it, how to install kernel drivers, how to hack it, how to rebuilt it
- power of raspberry pi is that it gives you a linux environment for you to play with
- Mac is linux under the hood (same heritage)


{{% /panel %}}
14 changes: 13 additions & 1 deletion content/3.what-is-this/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@
title : Python
---

Here is how it all started
...


**Topics to cover and ideas**

- Here is how it all started
- what makes python special
- how guido was hired by google
- Guido van Rossum
- https://twitter.com/gvanrossum/
- guido created python when he was 35
- https://gvanrossum.github.io/
- http://neopythonic.blogspot.co.uk/2016/04/kings-day-speech.html

- make reference to other languages like NodeJs
8 changes: 5 additions & 3 deletions content/3.what-is-this/raspberry-pi.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ title: raspberry-pi
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- why was it created

{{% /panel %}}
- https://en.wikipedia.org/wiki/Raspberry_Pi_Foundation
- https://www.makeuseof.com/tag/raspberry-pi-creditcard-sized-arm-computer-25/
- use a raspberry PI to connect to a hardware (get one of the starter kits (add link). Make a led blink, create a mobile phone, etc..
- connected to maker movement and IOT world
25 changes: 25 additions & 0 deletions content/3.what-is-this/wallabyjs-and-nodejs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: WallabyJS and NodeJS
---

...

---

**Topics to cover and ideas**

- why wallabyJS is a massive paradigm shift and why is it so good
- real time test execution
- only execution of tests affected by changes
- ability to see the code coverage in real-time
- ability to easily just run one test
- which with the real-time coverage, provides a much better way to debug that the normal 'debug/breakpoint model'

- why NodeJS took the world by storm
- the power of async code
- generating 20k requests with a couple lines of code
- coding at the speed of thought (and type)
- node history (based on chrome's V8)
- the node forking incident (io.js)
- why it was so important
- why java could had done with a fork like that
21 changes: 18 additions & 3 deletions content/5.concepts/agile-and-kanban.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,27 @@ title: Agile and Kanban
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- history
- why it worked
- agile manifesto
- https://www.agilealliance.org/agile101/the-agile-manifesto/
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan

- [Software Craftsmanship](http://manifesto.softwarecraftsmanship.org/)
- Not only working software , but also well-crafted software
- Not only responding to change , but also steadily adding value
- Not only individuals and interactions , but also a community of professionals
- Not only customer collaboration , but also productive partnerships

- Anton cords
- explain concepts (with diagrams)
- how agile become dogma and created environments where agile teams where not agile at all
- processes become more important than understanding why something was being created in the first place, to much effort was put on estimates, to much focus was placed on what could be done in 2 weeks
- Scrumbam is a nice alternative

- [The Mythical Man-Month](https://en.wikipedia.org/wiki/The_Mythical_Man-Month)

{{% /panel %}}
6 changes: 3 additions & 3 deletions content/5.concepts/change.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ title: Change
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- Change is the only constant
- Enjoy lose briefs (they are an opportunity to refactor those briefs into something that you are good at)
- put yourself in places where you are being highly productive while learning a lot.
- find the sweet spot where you are adding a lot of value
- view problems as oportunities (which can be broken down into smaller problems and tasks)


{{% /panel %}}
- [Who Moved My Cheese: An Amazing Way to Deal with Change in Your Work and in Your Life](https://www.amazon.co.uk/Who-Moved-My-Cheese-Amazing/dp/0091816971)
- [Our Iceberg is Melting: Changing and Succeeding Under Any Conditions](https://www.amazon.co.uk/Our-Iceberg-Melting-Succeeding-Conditions/dp/1509830111/)
21 changes: 19 additions & 2 deletions content/5.concepts/chaos-engineering.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,28 @@ title: Chaos Engineering
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- Great concept (from 2017)
- Security has been doing this for ages
- Add references to site and best posts
- focus on resilient systems
- need to understand and visualize what is going on
- a massive problem with micro-services (and any services/monolith) based application is vibility into what is going on (and even just getting good graphs is the first step, just ask anybody who has deployed AppDynamics)
- integrate this concept with the SRE's 'Error Budget'
- expand on the concept of 'Steady state' (and write tests for it)
- how we want tests to replicate it


{{% /panel %}}

**references**:

- [The Language of Chaos Experiments in Chaos Toolkit](https://medium.com/chaos-toolkit/the-language-of-chaos-experiments-in-chaos-toolkit-bd55a5c04057)
- https://github.com/chaostoolkit , http://chaostoolkit.org/ , http://chaostoolkit.org/faq/
- http://www.oreilly.com/webops-perf/free/chaos-engineering.csp book
- [Chaos Engineering: Why the Label Matters](https://medium.com/russmiles/chaos-engineering-why-the-label-matters-35ddbb974fa5)
- [Chaos Engineering for the Business](https://medium.com/russmiles/chaos-engineering-for-the-business-17b723f26361) introduces great concept "Limited scope, continuous, disaster recovery"
- [Are you ready for Chaos Engineering?](https://medium.com/russmiles/are-you-ready-for-chaos-engineering-59b859091281)
- [Chaos engineering paradigm](https://www.codibly.com/2017/05/chaos-engineering-paradigm/)
- https://github.com/Netflix/chaosmonkey
- [From resilient to antifragile - Chaos Engineering Primer DevSecCon](https://www.slideshare.net/sbodiu/from-resilient-to-antifragile-chaos-engineering-primer-devseccon)
6 changes: 2 additions & 4 deletions content/5.concepts/continuous-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Continuous Integration
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- why it matters
- how it works
Expand All @@ -17,6 +17,4 @@ title: Continuous Integration
- ZAP (to generate attack traffic)
- ELK (to visualise traffic)
- Write security tests that execute against site


{{% /panel %}}
- compare with CD (Continuous Delivery)O
15 changes: 6 additions & 9 deletions content/5.concepts/fdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: FDD (Feedback-Driven Development)
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- real-time feedback in IDE (REPLs)
- this is key to learn
Expand All @@ -12,16 +12,13 @@ title: FDD (Feedback-Driven Development)
- wallabyjs
- great example of what this UI needs to be
- incredible how it has not be copied into all IDEs (as far as I can tell only NCrunch has the same features)
- why is it so good
- real time test execution
- only execution of tests affected by changes
- ability to see the code coverage in real-time
- ability to easily just run one test
- which with the real-time coverage, provides a much better way to debug that the normal 'debug/breakpoint model'

- all code changes (except refactoring) should require a test change
- see http://pitest.org/
- see chaos engineering
- every developer does tests all time
- the question is how repeatable, scalable, mesuable those tests are
- and how much context switching occurs

- the FDD applies to much more than just coding (see chapter on "Inventing on Principle") it is also related to how we learn


{{% /panel %}}
6 changes: 3 additions & 3 deletions content/5.concepts/gdpr.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title: GDPR
---


{{% panel theme="success" header="Topics to cover" %}}
**Topics to cover and ideas**

- Know your rights. What does it mean for you

{{% /panel %}}
- History of privacy
- [The Right to Curate an Identity](https://pbx-group-security.com/blog/2017/12/04/the-right-to-curate-an-identity/)
9 changes: 8 additions & 1 deletion content/5.concepts/tdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,11 @@ title: TDD (Test-Driven Development)
**Topics to cover and ideas**

- the most coverage you get, the more changes you are happy to make, the better the code is because you have the confidence to make the hundreds of small changes that the only way to create a high quality and scalable application
- be a craftsman
- be a craftsman
- explain history
- key challenges
- why the TDD community created dogma and lost the plot
- if you don't have 100% code coverage, what are those bits of code not covered by tests? (what happens if that code changes)
- everything should be tested
- history of a site that went down for hours because of a one char (pipe) change in a nginx config file
- explain BDD and Gherkin language
15 changes: 15 additions & 0 deletions content/strings-should-be-banned.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Strings should be banned
---

...

---

**Topics to cover and ideas**

- Strings are not strongly typed
- You never want a string , you want a specific type (with a very specific format/regex)
- Strings are 4Gb monsters
- What happens is some fields are given 100k of data (what is the impact on the back end
- Each layer needs to validate all data that it receives and consumes

0 comments on commit c088f4e

Please sign in to comment.