(+ loom (years 2))

Post on 19-Jan-2017

345 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

(+(years2))

AysyluGreenberg

April15,2016

@aysylu22

AysyluGreenberg

@aysylu22

TODAY

• Whatis

TODAY

• Whatis• Evolu2onofLoom

TODAY

• Whatis• Evolu2onofLoom• Maintainingopensourceproject

LIFE

WHATISLOOMgithub.com/aysylu/loom

Graphs

GraphsinRealLife

TypesofGraphs

SimpleGraph WeightedGraph

TypesofGraphs

DirectedGraph(Digraph) WeightedDigraph

TypesofGraphs

Mul2graph MixedGraph

Loom

(+GraphsAlgorithmsVisualiza2on)

•  UndirectedGraph•  Digraph•  WeightedGraph

•  Mul2graph

•  FlyGraph•  nodes+successorsedges

•  successors+startnodes+edges

Loom:SupportedGraphs

•  DFS/BFS(+bidirec2onal)

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort•  ShortestPath(Dijkstra,Bellman-Ford,A*,Johnson’s)

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort•  ShortestPath(Dijkstra,Bellman-Ford,A*,Johnson’s)

•  Cliques&SCC(Bron-Kerbosch,Kosaraju)

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort•  ShortestPath(Dijkstra,Bellman-Ford,A*,Johnson’s)

•  Cliques&SCC(Bron-Kerbosch,Kosaraju)•  Density(edges/nodes)•  LonerNodes

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort•  ShortestPath(Dijkstra,Bellman-Ford,A*,Johnson’s)

•  Cliques&SCC(Bron-Kerbosch,Kosaraju)•  Density(edges/nodes)•  LonerNodes•  Greedy&TwoColoring

Loom:GraphAlgorithms

•  DFS/BFS(+bidirec2onal)•  TopologicalSort•  ShortestPath(Dijkstra,Bellman-Ford,A*,Johnson’s)

•  Cliques&SCC(Bron-Kerbosch,Kosaraju)•  Density(edges/nodes)•  LonerNodes•  Greedy&TwoColoring•  Max-Flow&MinSpanTree

Loom:GraphAlgorithms

Loom:GraphVisualiza2ons

Loom:IntheWild

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

BeyondLoom'sprotocols:•  mixedgraphs•  mul2graphs•  mul2pleweightsperedge•  changeableweights

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

•  lein-voom

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

•  lein-voom•  ClojureforDataScience

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

•  lein-voom•  ClojureforDataScience

Loom&Friends

•  Ubergraph(github.com/Engelberg/ubergraph)

•  VisualizingLoomgraphs– ProtoREPLCharts(github.com/jasongilman/proto-repl-charts)

– GorillaREPL(github.com/JonyEpsilon/loom-gorilla)

•  lein-voom•  ClojureforDataScience•  Researchprojects&produc2onworkflows

EVOLUTIONOFLOOM

Evolu2onofLoom:2meline

•  2010–incep2onofLoombyJus2nKramer

jkk

Evolu2onofLoom:2meline

•  2010–incep2onofLoombyJus2nKramer•  2013–maintainedbyAysyluGreenberg

aysylu

Evolu2onofLoom:2meline

•  2010–incep2onofLoombyJus2nKramer•  2013–maintainedbyAysyluGreenberg•  2013–2016–talksonLoom

2013 2014 2015

Evolu2onofLoom:2meline

•  2010–incep2onofLoombyJus2nKramer•  2013–maintainedbyAysyluGreenberg•  2013–2016–talksonLoom•  2014–...(repeatedly #(swap! contributorsinc))

Evolu2onofLoom:2meline

•  2010–incep2onofLoombyJus2nKramer•  2013–maintainedbyAysyluGreenberg•  2013–2016–talksonLoom•  2014–...(repeatedly #(swap! contributorsinc)) •  2016–maintenanceledbyPaulSnyder

pataprogramming

Evolu2onofLoom:morealgorithms

•  A*•  pre-edge-traverseandpost-edge-traverse•  Bron-Kerbosch(maximalcliques)•  Greedycoloring•  DAGancestry(+genera2vetes2ng!)•  Bidirec2onalBFS•  Prim’sminimumspanningtree•  Dataflowanalysisframework

Evolu2onofLoom:Performance

•  Algorithmicimprovements•  Memoryusageimprovements•  Useoftransients

Evolu2onofLoom:API

•  SeparateprotocolforEditableGraph•  Supportformul2graphs•  Protocolcleanup:par2alfunc2onsremoval

Evolu2onofLoom:Tes2ng&more

•  Genera2vetes2ng•  loom.compliance-tester•  ClojurescriptsupportenabledandClojure1.7•  (incdependencies):– org.clojure/data.priority-mapforPrim’sMST

•  NolongerrequireClojurecontrib

MAINTAININGOPENSOURCEPROJECT

LIFE

MaintainingOpenSourceProject:PullRequests

•  Development2mevsreviewofPRs

MaintainingOpenSourceProject:PullRequests

•  Development2mevsreviewofPRs•  Qualityvsquan2tyofcontribu2ons

MaintainingOpenSourceProject:PullRequests

•  Development2mevsreviewofPRs•  Qualityvsquan2tyofcontribu2ons•  Consistencyofcodebaseover2me

lein eastwood

lein bikeshed

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– Mailinglist:groups.google.com/forum/#!forum/loom-clj

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– Mailinglist:groups.google.com/forum/#!forum/loom-clj

– Twiker:@loom_clj

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– Mailinglist:groups.google.com/forum/#!forum/loom-clj

– Twiker:@loom_clj

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– @loom_clj&loom-cljmailinglist

•  Talksondesign,structureandcontent

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– @loom_clj&loom-cljmailinglist

•  Talksondesign,structureandcontent

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– @loom_clj&loom-cljmailinglist

•  Talksondesign,structureandcontent•  Backwards-compa2bilityofreleases

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– @loom_clj&loom-cljmailinglist

•  Talksondesign,structureandcontent•  Backwards-compa2bilityofreleases•  Languageswitchoverhead

MaintainingOpenSourceProject:BeyondPRs

•  ReleasesviaClojars:clojars.org/aysylu/loom•  APIdocumenta2onviaCodox:aysy.lu/loom/•  Con2nuousintegra2ontestsviaTravisCI•  Newsandannouncements:– @loom_clj&loom-cljmailinglist

•  Talksondesign,structureandcontent•  Backwards-compa2bilityofreleases•  Languageswitchoverhead•  Balancingwithotherresponsibili2es

References

•  N.Marz,“HistoryofApacheStormandlessonslearned”!"

•  A.Bard,“Buildingagraph-poweredsugges2onengineforredditlaterwithLoom”!"

•  GorillaREPLforLoomworksheet!"

•  H.Garner,“ClojureforDataScience”!•  ImagesfromWikipedia

hkps://adambard.com/blog/building-a-sugges2on-engine-for-redditlater/

ThankstoLoomcontributors•  JohnSzakmeister•  RobertLachlan•  StephenKocken2edt•  AlexEngelberg•  KevinDowney•  AaronBrooks•  MarkEngelberg•  DanielShapero•  DanielGregoire•  TomHancock•  HorstDuchêne•  AshtonKemerling•  Jus2nKramer

•  JonyHudson•  GuruDevanla•  JoshuaDavey•  SungPae•  FrançoisRey•  GeorgiShopov•  MakRevelle•  ZackMaril•  DanielCompton•  ReidDMcKenzie•  ZTO•  AysyluGreenberg•  PaulSnyder

Loom’s Vision

TheGraphLibraryinClojure

github.com/aysylu/loom

(+(years2))

AysyluGreenberg

April15,2016

@aysylu22

top related