ms-jpq / vim.conf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synopsis

The challenges of extending a program with decades of legacy and huge ecosystem around said legacy.

The main theme is as follows:

  • Ossification of ecosystem around program

  • Ossification of user habits

  • Preventing future ossification

  • Retaining extensibility & interoperability

  • Bad traditions

Prexisting Ecosystem

Instead of being seen as a burden, view ossification of code as unoffical API.

Like a compiler, transform & pre-validate thirdparty code through into static bundles of JSON.

Result: Zero runtime cost & Zero runtime error from thirdparty sources.

User Habits

Users want a faster horse, but a faster horse is not worth the pain of breaking changes.

Need significant & obvious value proposition.

Perpetual Greenfield

Move fast without breaking things.

Zero implementation exposure. Implementation exposure leads to stagnation.

Putting users (UX) before developers (API).

Interoperability

Communicate via existing Protocols (intentional or accidental), not implementations.

Protocols succeed when ossified, implementations fail.

Nvim & ecosystem is the platform, not your app.

Total inversion of control, impossible for thirdparty to import own code. Therefore prevention of being tied down

Break these traditions

UNIX (worse is better) design push burden from system designer onto users.

This is OK for software, but wetware is many times slower.

Design must recognize human are slow, forgetful, and error prone.

Misc

Other cool things that I want to talk more on, but cannot fit into 15 minutes.

  • Data driven text processing.

  • Task Scheduling

About


Languages

Language:TeX 97.2%Language:Shell 2.8%