SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
Loom and Graphs
in Clojure
github.com/aysylu/loom
Aysylu Greenberg
@aysylu22; http://aysy.lu
March 25th 2014
Graphs
Loom
Graph Algorithms + Visualization
In this Talk
Loom
Overview
Loom’s
Graph
API
Functional
Graph
Algorithms
Your
Graphs
in Loom
In this Talk
Loom
Overview
Loom’s
Graph
API
Functional
Graph
Algorithms
Your
Graphs
in Loom
Loom Overview: Supported Graphs
•  Undirected Graph
•  Directed Graph (Digraph)
•  Weighted Graph
•  FlyGraph
o  nodes + successors edges
o  successors + start nodes + edges
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
• Strongly Connected Components (Kosaraju)
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
• Strongly Connected Components (Kosaraju)
• Density (edges/nodes)
• Loner Nodes
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
• Strongly Connected Components (Kosaraju)
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
• Strongly Connected Components (Kosaraju)
• Density (edges/nodes)
• Loner Nodes
• Two Coloring
Loom Overview: Graph Algorithms
• DFS/BFS (+ bidirectional)
• Topological Sort
• Single Source Shortest Path (Dijkstra,
Bellman-Ford)
• Strongly Connected Components (Kosaraju)
• Density (edges/nodes)
• Loner Nodes
• Two Coloring
• Max-Flow (Edmonds-Karp)
Loom Overview: Visualizing Graphs
In this Talk
Loom
Overview
Loom’s
Graph
API
Functional
Graph
Algorithms
Your
Graphs
in Loom
Graph API: Representations
Graph API: Representations
• Adjacency List
{A: [B], B: [C, D], C: [], …}
Graph API: Representations
• Adjacency List
• Incidence List
{A: [e1], B: [e2, e3], …,
e1: [A, B], e2: [B, C], …}
Graph API: Representations
• Adjacency List
• Incidence List
• Adjacency Matrix
Source Destination
A B … E
A 0 1 … ∞
B ∞ 0 … ∞
… … … … …
E ∞ 1 … 0
Graph API: Representations
• Adjacency List
• Incidence List
• Adjacency Matrix
• Incidence Matrix
Nodes Edges
e1 e2 .. e5
A S N … N
B D S … D
… … … … …
E N N … S
Graph API: Representations
• Adjacency List sparse graphs
• Incidence List
• Adjacency Matrix dense graphs
• Incidence Matrix
Graph API: Graph
(defprotocol Graph!
(nodes [g])!
(edges [g])!
(has-node? [g node])!
(has-edge? [g n1 n2])!
(successors [g] [g node])!
(out-degree [g node]))!
Graph API: Digraph
(defprotocol Digraph!
(predecessors [g] [g node])!
(in-degree [g node])!
(transpose [g]))
Graph API: WeightedGraph
(defprotocol WeightedGraph!
(weight [g] [g n1 n2]))
Graph API: EditableGraph
(defprotocol EditableGraph!
(add-nodes* [g nodes])!
(add-edges* [g edges])!
(remove-nodes* [g nodes])!
(remove-edges* [g edges])!
(remove-all [g]))
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph …!
Digraph …!
EditableGraph …)!
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph!
!
!
!
!
)!
(nodes [g])!
(edges [g])!
(has-node? [g node])!
(has-edge? [g n1 n2])!
(successors [g] [g node])!
(out-degree [g node])
Protocol definition
(not valid code!)
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph default-graph-impl!
Digraph …!
EditableGraph …)!
Graph API: Complex Graphs
(def default-graph-impl!
{:edges!
(fn [g]!
(for [n1 (nodes g)!
n2 (successors g n1)]!
[n1 n2]))!
:nodes (fn [g] ...)!
...})!
(nodes [g])!
(edges [g])!
(has-node? [g node])!
(has-edge? [g n1
n2])!
(successors [g] [g
node])!
(out-degree [g
node])
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph default-graph-impl!
Digraph …!
EditableGraph …)!
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph default-graph-impl!
Digraph default-digraph-impl!
EditableGraph …)!
Graph API: Complex Graphs
(def default-digraph-impl!
{:transpose!
(fn [g]!
(assoc g!
:succs (:preds g)!
:preds (:succs g)))!
…})
(predecessors [g]!
! ! [g node])!
(in-degree [g node])!
(transpose [g])
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph default-graph-impl!
Digraph default-digraph-impl!
EditableGraph …)!
Graph API: Complex Graphs
How to create basic editable digraph?
(defrecord BasicEditableDigraph!
[nodes succs preds])!
(extend BasicEditableDigraph!
Graph default-graph-impl!
Digraph default-digraph-impl!
EditableGraph editable-graph-impl)!
In this Talk
Loom
Overview
Loom’s
Graph
API
Functional
Graph
Algorithms
Your
Graphs
in Loom
Functional Graph Algorithms:
Bellman-Ford
Functional Graph Algorithms:
Bellman-Ford
CLRS Introduction to Algorithms
Functional Graph Algorithms:
Bellman-Ford
CLRS Introduction to Algorithms
Functional Graph Algorithms:
Bellman-Ford
(defn- init-estimates!
[graph start]!
(let [nodes (disj (nodes graph) start)!
costs (interleave nodes!
(repeat 1e999M))!
paths (interleave nodes (repeat nil))]!
[(apply assoc {start 0} costs)!
(apply assoc {start nil} paths)]))
Functional Graph Algorithms:
Bellman-Ford
Functional Graph Algorithms:
Bellman-Ford
Functional Graph Algorithms:
Bellman-Ford
(defn- can-relax-edge?!
[[u v :as edge] edge-cost costs]!
(let [vd (get costs v)!
ud (get costs u)!
sum (+ ud edge-cost)]!
(> vd sum)))
Functional Graph Algorithms:
Bellman-Ford
(defn- relax-edge!
[[u v :as edge]!
uvcost!
[costs paths :as estimates]]!
(let [ud (get costs u)!
sum (+ ud uvcost)]!
(if (can-relax-edge? edge uvcost costs)!
[(assoc costs v sum)!
(assoc paths v u)]!
estimates)))
Functional Graph Algorithms:
Bellman-Ford
Functional Graph Algorithms:
Bellman-Ford
(defn- relax-edges!
[g start estimates]!
(reduce (fn [estimates [u v :as edge]]!
(relax-edge!
edge!
(weight g u v)!
! estimates))!
estimates!
(edges g)))!
Functional Graph Algorithms:
Bellman-Ford
(defn bellman-ford!
[g start]!
(let [initial-estimates (init-estimates g start)!
;relax-edges is calculated for all edges V-1 times!
[costs paths] (reduce (fn [estimates _] (relax-edges g start estimates))!
initial-estimates!
(-> g nodes count dec range))!
edges (edges g)]!
(if (some (fn [[u v :as edge]] (can-relax-edge? edge (wt g u v) costs))!
edges)!
false!
[costs!
(->> (keys paths)!
;remove vertices that are unreachable from source!
(remove #(= Double/POSITIVE_INFINITY (get costs %)))!
(reduce!
(fn [final-paths v]!
(assoc final-paths v!
; follows the parent pointers!
; to construct path from source to node v!
(loop [node v path ()]!
(if node!
(recur (get paths node) (cons node path))!
path))))!
{}))])))
Functional Graph Algorithms:
Bellman-Ford
(defn bellman-ford!
[g start]!
(let [initial-estimates (init-estimates g start)!
;relax-edges is calculated for all edges V-1 times!
[costs paths]!
(reduce!
(fn [estimates _] (relax-edges g start estimates))!
initial-estimates!
(-> g nodes count dec range))!
edges (edges g)]!
Functional Graph Algorithms:
Bellman-Ford
(if (some (fn [[u v :as edge]]!
(can-relax-edge? edge!
! ! ! ! ! (weight g u v)!
! ! ! ! ! costs))!
! ! edges)!
false!
! !;;; return paths))) !
Functional Graph Algorithms:
loom.alg-generic
• No knowledge of graph representation
• Requires only successors
o + start for DFS/BFS, topological sort, Dijkstra
o + end for BFS path
In this Talk
Loom
Overview
Loom’s
Graph
API
Functional
Graph
Algorithms
Your
Graphs
in Loom
Your Graphs in Loom
core.async
Single Static Assignment Form
Titanium-Loom
Github
And more!
Your Graphs in Loom
core.async
Single Static Assignment Form
Titanium-Loom
Github
And more!
SSA Loom
•  Single Static Assignment (SSA) form
produced by core.async
•  Generated by parse-to-state-machine
function
SSA Loom
(parse-to-state-machine!
'[(if (> (+ 1 2 x y) 0)!
(+ x 1)!
(+ x 2))])
{76
[{:value :clojure.core.async.impl.ioc-macros/
value, :id inst_4937}
{:value inst_4937, :id inst_4938}],
74
[{:refs [clojure.core/+ x 1], :id inst_4933}
{:value inst_4933, :block 76, :id inst_4934}],
73
[{:refs [clojure.core/+ x 1 2 y], :id inst_4930}
{:refs [clojure.core/> inst_4930 0], :id
inst_4931}
{:test inst_4931, :then-block 74, :else-block
75, :id inst_4932}]}}]
SSA Loom
(view (ssa->loom ssa ssa-node-fn ssa-edges-fn))
if (> (+ 1 2 x y) 0)!
V (+ x 1)!V (+ x 2)
V!
SSA Loom
(view (ssa->loom ssa ssa-node-fn ssa-edges-fn))!
!
(defn ssa->loom!
([ssa get-nodes get-edges]!
SSA Loom
(view (ssa->loom ssa ssa-nodes-fn ssa-edges-fn))!
!
(reify!
Graph!
(nodes [g] (get-nodes ssa))!
…!
(successors [g node]!
(->> edges!
(filter (fn [[n1 n2]]!
(= n1 node)))!
(map second)))!
…!
SSA Loom
(view (ssa->loom ssa ssa-nodes-fn ssa-edges-fn))!
!
Digraph!
(predecessors [g node]!
(->> edges!
(filter (fn [[n1 n2]]!
(= n2 node)))!
(map first)))!
…))
Your Graphs in Loom
core.async
Single Static Assignment Form
Titanium-Loom
Github
And more!
Titanium Loom
•  Titanium by Clojurewerkz
(titanium.clojurewerkz.org)
•  Built on top of Aurelius Titan
(thinkaurelius.github.com/titan)
•  Storage backends: Cassandra, HBase,
BerkeleyDB Java Edition
•  No graph visualization
Titanium Loom
(let [in-mem-graph!
(open {"storage.backend” "inmemory"})]!
(tg/transact!!
(let [a (nodes/create! {:name "Node A"})!
b (nodes/create! {:name "Node B"})!
c (nodes/create! {:name "Node C"})!
e1 (edges/connect! a b)!
e2 (edges/connect! b c)!
e3 (edges/connect! c a)]))!
(titanium->loom in-mem-graph))
Titanium Loom
(view graph)
Your Graphs in Loom
Titanium-Loom
core.async Single Static
Assignment Form
Github
And more!
Data Flow Analysis Framework
• Liveness analysis (dead code elimination)
• Constant propagation
• Taint analysis
• Clojure Repos + Relationships
Github: Clojure Repos + Relations
•  For each Clojure project, solve system of
equations until reaching fixed point:
Github: Clojure Repos + Relations
Quil
math.numeric-tower
Github: Clojure Repos + Relations
core.async
clojure-ring
clout > compojure
core.match
Loom’s Vision
The Graph Library in Clojure
github.com/aysylu/loom

Contenu connexe

Tendances

Analytic & Windowing functions in oracle
Analytic & Windowing functions in oracleAnalytic & Windowing functions in oracle
Analytic & Windowing functions in oracleLogan Palanisamy
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsAlexander Korotkov
 
[系列活動] 探索及應用生成對抗網路
[系列活動] 探索及應用生成對抗網路[系列活動] 探索及應用生成對抗網路
[系列活動] 探索及應用生成對抗網路台灣資料科學年會
 
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...Edureka!
 
Amazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Web Services
 
The evolution of Apache Calcite and its Community
The evolution of Apache Calcite and its CommunityThe evolution of Apache Calcite and its Community
The evolution of Apache Calcite and its CommunityJulian Hyde
 
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ..."Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...Edge AI and Vision Alliance
 
All about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAll about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAltinity Ltd
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google CloudPgDay.Seoul
 
Introduction to Cypher
Introduction to Cypher Introduction to Cypher
Introduction to Cypher Neo4j
 
Radical Speed for SQL Queries on Databricks: Photon Under the Hood
Radical Speed for SQL Queries on Databricks: Photon Under the HoodRadical Speed for SQL Queries on Databricks: Photon Under the Hood
Radical Speed for SQL Queries on Databricks: Photon Under the HoodDatabricks
 
Hyperloglog Project
Hyperloglog ProjectHyperloglog Project
Hyperloglog ProjectKendrick Lo
 
Climbing the Ontology Mountain to Achieve a Successful Knowledge Graph
Climbing the Ontology Mountain to Achieve a Successful Knowledge GraphClimbing the Ontology Mountain to Achieve a Successful Knowledge Graph
Climbing the Ontology Mountain to Achieve a Successful Knowledge GraphEnterprise Knowledge
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouseAltinity Ltd
 
Reinforcement Learning Tutorial | Edureka
Reinforcement Learning Tutorial | EdurekaReinforcement Learning Tutorial | Edureka
Reinforcement Learning Tutorial | EdurekaEdureka!
 
cstore_fdw: Columnar Storage for PostgreSQL
cstore_fdw: Columnar Storage for PostgreSQLcstore_fdw: Columnar Storage for PostgreSQL
cstore_fdw: Columnar Storage for PostgreSQLCitus Data
 
Building Modern Data Streaming Apps with Python
Building Modern Data Streaming Apps with PythonBuilding Modern Data Streaming Apps with Python
Building Modern Data Streaming Apps with PythonTimothy Spann
 

Tendances (20)

Analytic & Windowing functions in oracle
Analytic & Windowing functions in oracleAnalytic & Windowing functions in oracle
Analytic & Windowing functions in oracle
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problems
 
[系列活動] 探索及應用生成對抗網路
[系列活動] 探索及應用生成對抗網路[系列活動] 探索及應用生成對抗網路
[系列活動] 探索及應用生成對抗網路
 
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...
What is Talend | Talend Tutorial for Beginners | Talend Online Training | Edu...
 
Amazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and Optimization
 
The evolution of Apache Calcite and its Community
The evolution of Apache Calcite and its CommunityThe evolution of Apache Calcite and its Community
The evolution of Apache Calcite and its Community
 
How to Use JSON in MySQL Wrong
How to Use JSON in MySQL WrongHow to Use JSON in MySQL Wrong
How to Use JSON in MySQL Wrong
 
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ..."Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...
"Getting More from Your Datasets: Data Augmentation, Annotation and Generativ...
 
Vertica
VerticaVertica
Vertica
 
All about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdfAll about Zookeeper and ClickHouse Keeper.pdf
All about Zookeeper and ClickHouse Keeper.pdf
 
[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud[pgday.Seoul 2022] PostgreSQL with Google Cloud
[pgday.Seoul 2022] PostgreSQL with Google Cloud
 
Introduction to Cypher
Introduction to Cypher Introduction to Cypher
Introduction to Cypher
 
Radical Speed for SQL Queries on Databricks: Photon Under the Hood
Radical Speed for SQL Queries on Databricks: Photon Under the HoodRadical Speed for SQL Queries on Databricks: Photon Under the Hood
Radical Speed for SQL Queries on Databricks: Photon Under the Hood
 
Vector database
Vector databaseVector database
Vector database
 
Hyperloglog Project
Hyperloglog ProjectHyperloglog Project
Hyperloglog Project
 
Climbing the Ontology Mountain to Achieve a Successful Knowledge Graph
Climbing the Ontology Mountain to Achieve a Successful Knowledge GraphClimbing the Ontology Mountain to Achieve a Successful Knowledge Graph
Climbing the Ontology Mountain to Achieve a Successful Knowledge Graph
 
Your first ClickHouse data warehouse
Your first ClickHouse data warehouseYour first ClickHouse data warehouse
Your first ClickHouse data warehouse
 
Reinforcement Learning Tutorial | Edureka
Reinforcement Learning Tutorial | EdurekaReinforcement Learning Tutorial | Edureka
Reinforcement Learning Tutorial | Edureka
 
cstore_fdw: Columnar Storage for PostgreSQL
cstore_fdw: Columnar Storage for PostgreSQLcstore_fdw: Columnar Storage for PostgreSQL
cstore_fdw: Columnar Storage for PostgreSQL
 
Building Modern Data Streaming Apps with Python
Building Modern Data Streaming Apps with PythonBuilding Modern Data Streaming Apps with Python
Building Modern Data Streaming Apps with Python
 

En vedette

Loom and Graphs in Clojure
Loom and Graphs in ClojureLoom and Graphs in Clojure
Loom and Graphs in ClojureAysylu Greenberg
 
Loom & Functional Graphs in Clojure @ LambdaConf 2015
Loom & Functional Graphs in Clojure @ LambdaConf 2015Loom & Functional Graphs in Clojure @ LambdaConf 2015
Loom & Functional Graphs in Clojure @ LambdaConf 2015Aysylu Greenberg
 
1. looms – basic concept, types
1. looms – basic concept, types1. looms – basic concept, types
1. looms – basic concept, typesPalani Rajan
 
Types of Looms and Weaves
Types of Looms and WeavesTypes of Looms and Weaves
Types of Looms and WeavesRaNa ALi HaiDer
 
Rapier loom by Vignesh Dhanabalan
Rapier loom by Vignesh DhanabalanRapier loom by Vignesh Dhanabalan
Rapier loom by Vignesh DhanabalanVignesh Dhanabalan
 
Weaving Presentation By Sukhvir Sabharwal
Weaving Presentation By Sukhvir SabharwalWeaving Presentation By Sukhvir Sabharwal
Weaving Presentation By Sukhvir SabharwalSukhvir Sabharwal
 
Distributed systems in practice, in theory (ScaleConf Colombia)
Distributed systems in practice, in theory (ScaleConf Colombia)Distributed systems in practice, in theory (ScaleConf Colombia)
Distributed systems in practice, in theory (ScaleConf Colombia)Aysylu Greenberg
 

En vedette (12)

Loom and Graphs in Clojure
Loom and Graphs in ClojureLoom and Graphs in Clojure
Loom and Graphs in Clojure
 
Loom & Functional Graphs in Clojure @ LambdaConf 2015
Loom & Functional Graphs in Clojure @ LambdaConf 2015Loom & Functional Graphs in Clojure @ LambdaConf 2015
Loom & Functional Graphs in Clojure @ LambdaConf 2015
 
Rapier loom
Rapier loomRapier loom
Rapier loom
 
1. looms – basic concept, types
1. looms – basic concept, types1. looms – basic concept, types
1. looms – basic concept, types
 
Types of Looms and Weaves
Types of Looms and WeavesTypes of Looms and Weaves
Types of Looms and Weaves
 
Conventional loom and modern loom
Conventional loom and modern loomConventional loom and modern loom
Conventional loom and modern loom
 
Weaving, loom
Weaving, loomWeaving, loom
Weaving, loom
 
Different types of loom
Different types of loomDifferent types of loom
Different types of loom
 
Rapier loom by Vignesh Dhanabalan
Rapier loom by Vignesh DhanabalanRapier loom by Vignesh Dhanabalan
Rapier loom by Vignesh Dhanabalan
 
Weaving Presentation By Sukhvir Sabharwal
Weaving Presentation By Sukhvir SabharwalWeaving Presentation By Sukhvir Sabharwal
Weaving Presentation By Sukhvir Sabharwal
 
Distributed systems in practice, in theory (ScaleConf Colombia)
Distributed systems in practice, in theory (ScaleConf Colombia)Distributed systems in practice, in theory (ScaleConf Colombia)
Distributed systems in practice, in theory (ScaleConf Colombia)
 
Some lessons of Weaving
Some lessons of WeavingSome lessons of Weaving
Some lessons of Weaving
 

Similaire à Loom at Clojure/West

Clojure from ground up
Clojure from ground upClojure from ground up
Clojure from ground upDi Xu
 
AutoDesk
AutoDeskAutoDesk
AutoDeskSE3D
 
Vim Script Programming
Vim Script ProgrammingVim Script Programming
Vim Script ProgrammingLin Yo-An
 
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...AdaCore
 
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵Wanbok Choi
 
GIS/CAD workflows with FME
GIS/CAD workflows with FMEGIS/CAD workflows with FME
GIS/CAD workflows with FMESafe Software
 
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...Thejaka Amila Kanewala, Ph.D.
 
Graphs in data structures are non-linear data structures made up of a finite ...
Graphs in data structures are non-linear data structures made up of a finite ...Graphs in data structures are non-linear data structures made up of a finite ...
Graphs in data structures are non-linear data structures made up of a finite ...bhargavi804095
 
The algebra of library design
The algebra of library designThe algebra of library design
The algebra of library designLeonardo Borges
 
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsGreg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsFlink Forward
 
The Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhoneThe Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhoneJames Long
 
Erlang - Concurrent Language for Concurrent World
Erlang - Concurrent Language for Concurrent WorldErlang - Concurrent Language for Concurrent World
Erlang - Concurrent Language for Concurrent WorldZvi Avraham
 
BUILDING WHILE FLYING
BUILDING WHILE FLYINGBUILDING WHILE FLYING
BUILDING WHILE FLYINGKamal Shannak
 
Scala + WattzOn, sitting in a tree....
Scala + WattzOn, sitting in a tree....Scala + WattzOn, sitting in a tree....
Scala + WattzOn, sitting in a tree....Raffi Krikorian
 

Similaire à Loom at Clojure/West (20)

Clojure from ground up
Clojure from ground upClojure from ground up
Clojure from ground up
 
AutoDesk
AutoDeskAutoDesk
AutoDesk
 
Golang勉強会
Golang勉強会Golang勉強会
Golang勉強会
 
Vim Script Programming
Vim Script ProgrammingVim Script Programming
Vim Script Programming
 
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...
GNAT Pro User Day: Ada 2012, Ravenscar and SPARK running on an Atmel ARM M4 (...
 
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
[Let'Swift 2019] 실용적인 함수형 프로그래밍 워크샵
 
GIS/CAD workflows with FME
GIS/CAD workflows with FMEGIS/CAD workflows with FME
GIS/CAD workflows with FME
 
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...
ABSTRACT GRAPH MACHINE: MODELING ORDERINGS IN ASYNCHRONOUS DISTRIBUTED-MEMORY...
 
Should i Go there
Should i Go thereShould i Go there
Should i Go there
 
Graphs in data structures are non-linear data structures made up of a finite ...
Graphs in data structures are non-linear data structures made up of a finite ...Graphs in data structures are non-linear data structures made up of a finite ...
Graphs in data structures are non-linear data structures made up of a finite ...
 
AfterGlow
AfterGlowAfterGlow
AfterGlow
 
The algebra of library design
The algebra of library designThe algebra of library design
The algebra of library design
 
GCC, GNU compiler collection
GCC, GNU compiler collectionGCC, GNU compiler collection
GCC, GNU compiler collection
 
MATLAB & Image Processing
MATLAB & Image ProcessingMATLAB & Image Processing
MATLAB & Image Processing
 
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the CloudsGreg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
Greg Hogan – To Petascale and Beyond- Apache Flink in the Clouds
 
The Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhoneThe Scheme Language -- Using it on the iPhone
The Scheme Language -- Using it on the iPhone
 
Erlang - Concurrent Language for Concurrent World
Erlang - Concurrent Language for Concurrent WorldErlang - Concurrent Language for Concurrent World
Erlang - Concurrent Language for Concurrent World
 
BUILDING WHILE FLYING
BUILDING WHILE FLYINGBUILDING WHILE FLYING
BUILDING WHILE FLYING
 
Scala + WattzOn, sitting in a tree....
Scala + WattzOn, sitting in a tree....Scala + WattzOn, sitting in a tree....
Scala + WattzOn, sitting in a tree....
 
Clojure And Swing
Clojure And SwingClojure And Swing
Clojure And Swing
 

Plus de Aysylu Greenberg

Software Supply Chains for DevOps @ InfoQ Live 2021
Software Supply Chains for DevOps @ InfoQ Live 2021Software Supply Chains for DevOps @ InfoQ Live 2021
Software Supply Chains for DevOps @ InfoQ Live 2021Aysylu Greenberg
 
Binary Authorization in Kubernetes
Binary Authorization in KubernetesBinary Authorization in Kubernetes
Binary Authorization in KubernetesAysylu Greenberg
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
 
Software Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and KritisSoftware Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and KritisAysylu Greenberg
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisAysylu Greenberg
 
Zero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleZero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleAysylu Greenberg
 
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flightMesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flightAysylu Greenberg
 
Distributed systems in practice, in theory (JAX London)
Distributed systems in practice, in theory (JAX London)Distributed systems in practice, in theory (JAX London)
Distributed systems in practice, in theory (JAX London)Aysylu Greenberg
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Aysylu Greenberg
 
QCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryQCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryAysylu Greenberg
 
Building a Distributed Build System at Google Scale
Building a Distributed Build System at Google ScaleBuilding a Distributed Build System at Google Scale
Building a Distributed Build System at Google ScaleAysylu Greenberg
 
Distributed systems in practice, in theory
Distributed systems in practice, in theoryDistributed systems in practice, in theory
Distributed systems in practice, in theoryAysylu Greenberg
 
Probabilistic Accuracy Bounds @ Papers We Love SF
Probabilistic Accuracy Bounds @ Papers We Love SFProbabilistic Accuracy Bounds @ Papers We Love SF
Probabilistic Accuracy Bounds @ Papers We Love SFAysylu Greenberg
 
Benchmarking (JAXLondon 2015)
Benchmarking (JAXLondon 2015)Benchmarking (JAXLondon 2015)
Benchmarking (JAXLondon 2015)Aysylu Greenberg
 
Benchmarking (DevNexus 2015)
Benchmarking (DevNexus 2015)Benchmarking (DevNexus 2015)
Benchmarking (DevNexus 2015)Aysylu Greenberg
 
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)Benchmarking: You're Doing It Wrong (StrangeLoop 2014)
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)Aysylu Greenberg
 

Plus de Aysylu Greenberg (20)

Software Supply Chains for DevOps @ InfoQ Live 2021
Software Supply Chains for DevOps @ InfoQ Live 2021Software Supply Chains for DevOps @ InfoQ Live 2021
Software Supply Chains for DevOps @ InfoQ Live 2021
 
Binary Authorization in Kubernetes
Binary Authorization in KubernetesBinary Authorization in Kubernetes
Binary Authorization in Kubernetes
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Software Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and KritisSoftware Supply Chain Observability with Grafeas and Kritis
Software Supply Chain Observability with Grafeas and Kritis
 
Software Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and KritisSoftware Supply Chain Management with Grafeas and Kritis
Software Supply Chain Management with Grafeas and Kritis
 
Zero Downtime Migrations at Scale
Zero Downtime Migrations at ScaleZero Downtime Migrations at Scale
Zero Downtime Migrations at Scale
 
Zero Downtime Migration
Zero Downtime MigrationZero Downtime Migration
Zero Downtime Migration
 
PWL Denver: Copysets
PWL Denver: CopysetsPWL Denver: Copysets
PWL Denver: Copysets
 
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flightMesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
MesosCon Asia Keynote: Replacing a Jet Engine Mid-flight
 
Distributed systems in practice, in theory (JAX London)
Distributed systems in practice, in theory (JAX London)Distributed systems in practice, in theory (JAX London)
Distributed systems in practice, in theory (JAX London)
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
 
QCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryQCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theory
 
Building a Distributed Build System at Google Scale
Building a Distributed Build System at Google ScaleBuilding a Distributed Build System at Google Scale
Building a Distributed Build System at Google Scale
 
(+ Loom (years 2))
(+ Loom (years 2))(+ Loom (years 2))
(+ Loom (years 2))
 
Distributed systems in practice, in theory
Distributed systems in practice, in theoryDistributed systems in practice, in theory
Distributed systems in practice, in theory
 
Probabilistic Accuracy Bounds @ Papers We Love SF
Probabilistic Accuracy Bounds @ Papers We Love SFProbabilistic Accuracy Bounds @ Papers We Love SF
Probabilistic Accuracy Bounds @ Papers We Love SF
 
Benchmarking (JAXLondon 2015)
Benchmarking (JAXLondon 2015)Benchmarking (JAXLondon 2015)
Benchmarking (JAXLondon 2015)
 
Benchmarking (DevNexus 2015)
Benchmarking (DevNexus 2015)Benchmarking (DevNexus 2015)
Benchmarking (DevNexus 2015)
 
Benchmarking (RICON 2014)
Benchmarking (RICON 2014)Benchmarking (RICON 2014)
Benchmarking (RICON 2014)
 
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)Benchmarking: You're Doing It Wrong (StrangeLoop 2014)
Benchmarking: You're Doing It Wrong (StrangeLoop 2014)
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Loom at Clojure/West