Giter Site home page Giter Site logo

gitling's Introduction

Gitling: git for learning(s)

Quick Start (Incredibly WIP)

git clone [email protected]:donaldguy/gitling.git
#install node if needed
npm install -g parcel-bundler
# install bazel per https://docs.bazel.build/versions/master/install.html
# install https://github.com/bazelbuild/bazel-watcher
# by cloning; bazel build //ibazel; cp bazel-bin/ibazel/$(uname -s | tr 'WDL' 'wdl')_amd64_pure_stripped/ibazel /usr/local/bin
make

And https://localhost:8080 should be serving an autorebuilding API server, which proxies to frontend dev server on http://localhost:1234

(if you put it in a GOPATH and go get or dep ensure, you can go run ./server/server_example.go instead; but where's the fun in that)

Note that right now if you make local changes to this README they won't be reflected in what the server loads until git commited to HEAD

What?

Aspirationally: gitling is a bi-directional knowledge server for software teams.

Mechanically: Gitling is a self-contained daemon which serves a realtime-editable ~wiki to and from the Markdown content of one or more git repos.

Foundational Goals:

  • Be the ✨best✨ tool for a team of people to read, write, and update non-autogenerated "software documentation": onboarding, design, process, runbooks, FAQs, etc.
  • Never demand it be the only tool for any-of-the-above. Let people use their lesss, vims, codes, GitHub edit buttons or IDEs as befits their workflow
  • Be a viable tool for on-the-fly capture for e.g. incident management, work journaling, meeting notes, etc.
  • Support commit-to-trunk and commit-to-PR (for at least GitHub and VSTS, ideally also GitLab, Bitbucket, Phabricator, Gerrit, ReviewBoard, ... )

Eventual/Maybe Goals

  • Facilitate easy/rich cross-linking to Project Management, Code Review, etc. external systems (configurable/extensible automatic linkification)
  • Facilitate rich embed of external else-formatted knowledge: videos, slide decks, tweets, stack overflow questions, etc.
  • Provide facilities for navigating and finding what you need in a large corpus of such knowledge
  • Provide facilities for asynchronous critique and improvement of documentation (e.g. "Google Doc-style comments", proposed changes)
  • Real-time collaboration

Non-goals:

Why? (and the name)

About 4 years ago, my worldview was impacted by Andrew Clay Shafer's (aka @littleidea) 2013 Velocity talk "there is no talent shortage":

there is no talent shortage -- velocity NYC 2013 -- andrew clay shafer

It's a little meandering; I'd still encourage you to watch it if you have the time. My TL;DW is thus:

  • "Culture", linguistically, is a system for cultivating (people, ideas, products)
  • The market in "knowledge work" is a competition of cultures, largely in incentives: what people are enabled to and rewarded for focus(ing) on
  • What enables a team in this market to outcompete (individuals and) other teams is the creation of a culture which is better than competitors at continuously (generating, capturing, sharing, and remembering) learning(s)
  • (This is the same essential insight as/of "Lean" in both its Ohno manufacturing and Reis "Startup" incarnations. See also Senge, Marsick & Watkins, Womack, lean.org, Mike Rother, more)
  • "You are either building a learning organization or you will be losing to someone who is"
  • (It turns out that in addition to being a path to "winning", a collaborative Learning Culture is also a path to happy, fulfilled employees)

Along the way he touches on the idea of Marsick & Watkins's (DLOQ) dimension of "embedded system": "

Necessary systems to share learning are created, maintained, and integrated with work; employees have access to these high- and low-technology systems

By no means is this (even close to) the most important of those dimensions, but I have a vague belief that it can help trojan-horse in the others. In short, it is my hypothesis that if you make it easy enough you can trick a product-development culture into viewing internal docs (secretly: the knowledge they contain) as another product or even the real product of a SaaS team. ("Documentation driven development")

Eventually you reach the πŸŒˆπŸ¦„ of "The real [Your Company/Product Here] was the friends knowledge we made learned along the way" (learning together is also an okay way to make friends; This is mostly not an anti-capitalist plot).

The name

If you watch the talk above (or look at the slides) there is a recurrent image: a vintage photograph of the testing of an early Gatling-type cannon:

Early Gatling gun

The metaphor is a little violent for my taste, but it gets the point across: a game-changing tool for "competitive advantage".

I would aspire for this software to be one as well.

How?

Inspiration:

Implementation:

maybe later

gitling's People

Contributors

donaldguy avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.