Search

Categories

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Send mail to the author(s) E-mail

# Thursday, December 18, 2014
( NDC )

http://www.ndcvideos.com/#/app/video/2481

Problems with monoliths:

  • no one owns
  • speed to release

Some of his highlights:

  • Custodians of code
  • Adopt a customer
  • Monitoring – capture metrics of app
  • Deployment – release small stuff
  • Chip away at the monolith

Logstash / Kibana
Graphite?
Error rates

| | # 
# Wednesday, December 17, 2014
( Code Reviews | NDC )

Inspirational guy!
http://www.ndcvideos.com/#/app/video/1871

  • Design principles
  • Where
  • Why?
    • So code is maintainable
  • When
  • DRY
    • Every bit of knowledge should have single authoritative thing
  • YAGNI
  • SRP
    • Long methods
    • SLAP – Single level of abstraction
  • TDA
  • OCP
  • LSP
  • DIP

Feedback code reviews
4am-7am!

Pairing is good

Make it work, make it better real soon

| | # 
( NDC )

http://www.bitnative.com/2014/11/16/presenting-code-in-visual-studio/ – presenting code

http://www.pluralsight.com/courses/career-reboot-for-developer-mind#career-reboot-for-developer-mind-m1-intro – interesting?

  • You are a writer – make it easy for next programmer to read
  • Zombie code – ie commented out get rid of
  • Blank lines
  • Arrow code – zoom out and how does it look
  • Cyclomatic complexity – keep it simple
  • Mayfly variables – keep short
  • Preconditions – rather than else at end.. easier to read at start?
  • Boolean parameters are smells

Every complained that a method or class is too short?

Returning null… hmm, then need null checks

  • Refactor till you drop
  • Pair program
  • Code reviews
  • Be the best at clean code

http://www.pluralsight.com/author/cory-house – clean code, and architecture course

| | # 
( NDC )

 

The Outage – when he turned off the prod DB.  Many hours to get back.  His boss was calm

The Referral – someone else gave him an opportunity

Hey Buddy – someone who didn’t like agile, but was happy to help, as he is a ‘guru’

Stack trace – build in monitoring

Nice is it live yet – Think what is the value of the product

The Leader – CIO – you’ll have to teach me

The Interview – don’t hire yourself

Lets ask Phil – build in Ruby/Python.. no bash!

  • You are what yo udo
  • Choose your travelling companions
  • Voracious learning
  • Be open to opportunity
  • Pay it forward
  • Be yourself
  • Practical trumps inspirational
  • People will never forget how you make them feel

Read http://en.wikipedia.org/wiki/Eliyahu_M._Goldratt

| | # 

aka Ports and Adapters or Orthogonal Architecture (as 6 is arbitrary, and is just many)

http://alistair.cockburn.us/Hexagonal+architecture – Alistair Cockburn first described this

Intent:

“Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases.”

| | # 
# Tuesday, December 16, 2014
( Logging | NDC )

http://michelebusta.com/

She is passionate about logging!

Why Log?

  • Troubleshoot
  • Visibility in real time
  • Security Audits
  • Review early detection of problems

What?

image
Screenshots copyright MichelleB

  • Application events eg exceptions
  • Audit eg login attemps
  • Activity eg user feature usage

Make it easy – implement a log helper for all developers eg ILogger
Debug, Info, Warn, Error, Thrown

image

  • Elmah
  • NLog
  • Log4Net

image

Put in a switch to turn off logging if all goes wrong

http://loader.io/ – stress test app

Elastic search!
Lucene

Kibana for visualisation
Logstash
Splunk

Summary

  • Something manageable
  • Evolve
  • Reduce io not put logs into SQL
  • Real time analytics for troubleshooting
| | # 

When to use a SPA?

  • When something is behind a login screen
  • UX rivalling desktop

KO is used in the Azure portal.  >1m lines of code.  Typescript.

Still works in IE6.

https://github.com/SteveSanderson/generator-ko – A good starting point

Fast ‘framework’, although KO is really about databinding

| | # 
( NDC )

Creativity

  • Unblock
    • Experimentation mindset
    • Tinker
    • Feedback loop prototype
  • Communicate
    • Listen
    • Be present
    • Pay attention
  • Collaborate
    • Seek others eg other languages, academics
    • Amplify ideas of others
    • Improv… yes and..
    • Teach and learn
  • Allocate
    • Time to de clutter
    • Side projects
  • Produce
    • Build great stuff

https://www.youtube.com/watch?v=Gyg9U1YaVk8 – Power Tools racing!

http://www.amazon.co.uk/The-Power-Starting-Something-Stupid/dp/1609070097 – Start something stupid!

| | # 
( NDC )

Talking about continuous delivery.

EC2 spin up new instances all the time

Real time monitoring

https://github.com/graphite-project

http://www.elasticsearch.org/overview/kibana/

http://logstash.net/

| | #