My activities

Plan

  • Problem
  • Discovery
  • Solution
  • Results

The problem

  • Duplicated javascript code
  • Duplicated html templates
  • Large amount of bugs
  • Long time for bug fixing

Discovery

  • Analogues
  • Algorithms

Algorithms

  • Aho–Corasick
  • Rabin-Karp
  • Bloom filters

Rabin-Karp

The solution

  • Architecture
  • Tokeniser

Architecture

Tokens Service
Tokens Service
Hash Service
Hash Service
Detector
Detector
Store
[Not supported by viewer]
Input Service
Input Service
Blamer
Service
[Not supported by viewer]
Reporter
Service
[Not supported by viewer]

Result

  • 7 years of open source
  • 150 languages and format support
  • Node.js/browser support
  • Integration with CI/IDE
  • Blamer for copy/paste creators
  • Different reporters

Used by

Statistics

  • ~3M downloads for all time
  • ~1.9k stars on github
  • ~25k downloads per week
  • Useful tool
  • Open source contributor
  • Advanced engineer