Dev Thoughts

Musings from my development journey.

Topics

Rails Conf 2017

Breaking bad - what happens when you defy conventions?

large

Talk by Christoph Gockel

What is Rails?

It's like a city. Each module is like a different part of a city.

Areas of Freedom in Rails

Status Quo

Pareto principle: 80/20 principle. 80% of Rails applications only use around 20% of the Rails framework.

Analyzing the Boot Process

  • Skipping the rails/all flag and only pick and choose the components neededContinue reading

Architecture: the next Generation

large

Talk on architecture from Taylor Jones

Rails Architecture

Architecture is the root of quite a bit of technical debt.

History of Application Architecture

Early web development

  • License driven
  • Difficult to deploy
  • Inconsistent code organization

Rails market change

  • Open Source
  • More straightforward to deploy
  • Convention over ... Continue reading

Built to last: A domain-driven approach to beautiful systems

large

Talk from Andrew Hao at Rails Conf 2017.

What Makes a System Beautiful?

  • Language: syntax, form, expressiveness
  • Tooling - developer ergonomics
  • Tests - test practices and coverage
  • Longevity - it can stand the test of time with changing business/product requirements

Deconstructing a Monolith

  • Microservices are challenging
  • How much should be extracted?
  • ... Continue reading

An optimistic proposal for making horrible code... Bearable

large

Talk from Joe Mastey

Common approaches to working with legacy code

  • Continue adding onto poorly structured code
  • Making small changes

Alternative approach

  • Name the evil (the issues with the codebase)
  • Sorting files by line length
  • bundle exec rake stats
  • Using tools such as RuboCop to set code structure benchmarks
  • Adding Rspec tests tha... Continue reading

How to Write Better Code Using Mutation Testing

large

Talk by John Backus at Rails Conf 2017.

Mutation Coverage

"The idea is that if code can be changed and your tests do not notice, then either that code isn't being covered or it does not have a speced side effect." - mbj

mutant gem automatically checks for mutation coverage in order to improve the test suite.

Implem... Continue reading