SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Downloaden Sie, um offline zu lesen
Clojure
Community
Night
Aria Haghighi
CTO
@aria42
Saturday, October 5, 13
Eng @ Prismatic
Saturday, October 5, 13
Eng @ Prismatic
All Clojure in the
back
Saturday, October 5, 13
Eng @ Prismatic
All Clojure in the
back
Some Clojure in
the front
Saturday, October 5, 13
Saturday, October 5, 13
<31. Why
Saturday, October 5, 13
<31. Why
2.
Open
Source
Saturday, October 5, 13
<31. Why
2.
Open
Source
3.
What’s
needed
Saturday, October 5, 13
Why Clojure
<3
Saturday, October 5, 13
Programming to Behavior
Saturday, October 5, 13
Programming to Behavior
Saturday, October 5, 13
Programming to Behavior
Encapsulate
The
Object
Saturday, October 5, 13
Programming to Behavior
Interface
Encapsulate
The
Object
Saturday, October 5, 13
Programming to Behavior
At it’s best,
OOP is about
coding to
behavior, not
state or identity
Saturday, October 5, 13
Programming to Data
Saturday, October 5, 13
Programming to Data
Inherent data
structures can
be used to
derive the
structure of a
program
Saturday, October 5, 13
Programming to Data
Inherent data
structures can
be used to
derive the
structure of a
program
Saturday, October 5, 13
Programming to Data
Saturday, October 5, 13
Programming to Data
Ins & Outs
Saturday, October 5, 13
Programming to Data
Ins & Outs
Represent
Saturday, October 5, 13
Programming to Data
Ins & Outs
Represent
Transform
Saturday, October 5, 13
The killer feature
of Clojure isn’t that
it’s a functional
language, but the
best data-oriented
one
Programming to Data
Saturday, October 5, 13
Data Behavior
Saturday, October 5, 13
Data Behavior
sequences
maps
defn
destructuring
macros
Saturday, October 5, 13
Data Behavior
sequences
maps
defn
destructuring
macros
deftype
protocol
reify
Saturday, October 5, 13
Data Behavior
sequences
maps
defn
destructuring
macros
records
multi-
methods
deftype
protocol
reify
Saturday, October 5, 13
Data Behavior+
The crown of
Clojure’s design is
the clean
separation of data
and behavior
Saturday, October 5, 13
Open Source
Saturday, October 5, 13
Open Source
Saturday, October 5, 13
Plumbing and Graph
data-oriented
composition and
dependency
prismatic/plumbing
Saturday, October 5, 13
Graph: Overview
Saturday, October 5, 13
Graph: Overview
Univariate statistics: Given
data as double[] xs
Saturday, October 5, 13
Graph: Overview
Univariate statistics: Given
data as double[] xs
m =
1
n
nX
i=1
xi
m2 =
1
n
nX
i=1
x2
i
v = m2 m2
Saturday, October 5, 13
Graph: Overview
Univariate statistics: Given
data as double[] xs
m =
1
n
nX
i=1
xi
m2 =
1
n
nX
i=1
x2
i
v = m2 m2
xs
n
m2m
v
Saturday, October 5, 13
Graph: Overview
Univariate statistics: Given
data as double[] xs
xs
n
m2m
v
Saturday, October 5, 13
Graph: Overview
Univariate statistics: Given
data as double[] xs
xs
n
m2m
v
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum xs) n)
m2 (/ (sum sq xs) n)
v (- m2 (* m m))]
{:n n :m m :m2 m2 :v v}))
Saturday, October 5, 13
The Monster let
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
The Monster let
dozens of
parameters,
not compositional
structure of
(de)composition
is locked up in an
opaque function
(defn start [{:keys [a,z]}]
(let [s1 (store a ...)
s2 (store b ...)
db (sql-db c)
t2 (cron s2 db...)
...
srv (server ...)]
(fn shutdown []
(.stop srv)
...
(.flush s1))))
Saturday, October 5, 13
From let to Graph
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum xs) n)
m2 (/ (sum sq xs) n)
v (- m2 (* m m))]
{:n n :m m :m2 m2 :v v}))
Saturday, October 5, 13
From let to Graph
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum xs) n)
m2 (/ (sum sq xs) n)
v (- m2 (* m m))]
{:n n :m m :m2 m2 :v v}))
xs
n
m2m
v
Saturday, October 5, 13
From let to Graph
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum xs) n)
m2 (/ (sum sq xs) n)
v (- m2 (* m m))]
{:n n :m m :m2 m2 :v v}))
{:n (fn [xs] (count xs))
:m (fn [xs n] (/ (sum xs) n))
:m2 (fn [xs n] (/ (sum sq xs) n))
:v (fn [m m2] (- m2 (* m m)))}
xs
n
m2m
v
Saturday, October 5, 13
From let to Graph
(defn stats [{:keys [xs]}]
(let [n (count xs)
m (/ (sum xs) n)
m2 (/ (sum sq xs) n)
v (- m2 (* m m))]
{:n n :m m :m2 m2 :v v}))
{:n (fn [xs] (count xs))
:m (fn [xs n] (/ (sum xs) n))
:m2 (fn [xs n] (/ (sum sq xs) n))
:v (fn [m m2] (- m2 (* m m)))}
k
k
k
k
xs
n
m2m
v
Saturday, October 5, 13
Example:API Service
Saturday, October 5, 13
Example:API Service
(def api-service
(service
{:service-name “api”
:backend-port 42424
:server-threads 100}
{:store1 (instance store
{:type :s3 ...})
:memo (fnk [store1]
{:resource ...})
...
:api-server (...)}))
Saturday, October 5, 13
sane DOM
templating and
manipulation
prismatic/dommy
Dommy
Saturday, October 5, 13
fast primitive
array math
prismatic/hiphip
HipHip (Array)
w · x =
nX
i=1
wixi
Saturday, October 5, 13
HipHip Examples
Saturday, October 5, 13
HipHip Examples
Dot Product w · x =
nX
i=1
wixi
Saturday, October 5, 13
HipHip Examples
Dot Product w · x =
nX
i=1
wixi
Inner loop in
machine learning
Saturday, October 5, 13
HipHip Examples
Dot Product w · x =
nX
i=1
wixi
Inner loop in
machine learning
arg max
`
w · x`
prediction
Saturday, October 5, 13
HipHip Examples
Dot Product w · x =
nX
i=1
wixi
Inner loop in
machine learning
arg max
`
w · x`
prediction
P(x; w) / exp{w · x}
training
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
HipHip Examples
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
(defn dot-product [^doubles ws ^doubles xs]
(areduce ws idx sum 0.0
(+ sum (*  (aget ws idx)
(aget xs idx))))
HipHip Examples
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
HipHip Examples
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
double dotProd(double[] ws, double[] xs) {
double sum = 0.0;
for (int i=0; i < xs.length; ++i) {
sum += ws[i] * xs[i];
}
return sum;
}
HipHip Examples
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
HipHip Examples
Saturday, October 5, 13
Dot Product w · x =
nX
i=1
wixi
(defn dot-product [ws xs]
(hiphip.double/asum [w ws x xs] (* w x)))     
	
HipHip Examples
Saturday, October 5, 13
declarative data
description and
validation
prismatic/schema
Schema
Saturday, October 5, 13
What Clojure needs
Saturday, October 5, 13
Where’s my debugger!?!
Saturday, October 5, 13
MOAR Compiler Speed
(require 'api.deploy)
go get a coffee, it’s
going to be a bit
Saturday, October 5, 13
Compiler Tooling
real IDE tools
Make Paredit a library
Saturday, October 5, 13
Multi-project support
in Leiningen
Saturday, October 5, 13
Native Client Story
Saturday, October 5, 13
Thanks
Questions?
Saturday, October 5, 13

Weitere ähnliche Inhalte

Was ist angesagt?

Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Yuta Kashino
 
Python 101 language features and functional programming
Python 101 language features and functional programmingPython 101 language features and functional programming
Python 101 language features and functional programmingLukasz Dynowski
 
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsMark Chang
 
An Introduction to JavaScript: Week 5
An Introduction to JavaScript: Week 5An Introduction to JavaScript: Week 5
An Introduction to JavaScript: Week 5Event Handler
 
Queue implementation
Queue implementationQueue implementation
Queue implementationRajendran
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data Sciencehenrygarner
 
Grand centraldispatch
Grand centraldispatchGrand centraldispatch
Grand centraldispatchYuumi Yoshida
 
Computational Linguistics week 5
Computational Linguistics  week 5Computational Linguistics  week 5
Computational Linguistics week 5Mark Chang
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data ScienceMike Anderson
 
Recursion and Functional Programming
Recursion and Functional ProgrammingRecursion and Functional Programming
Recursion and Functional Programmingsathish316
 
Brief intro to clojure
Brief intro to clojureBrief intro to clojure
Brief intro to clojureRoy Rutto
 
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...Frederik Gevers Deynoot
 
Procedural Content Generation with Clojure
Procedural Content Generation with ClojureProcedural Content Generation with Clojure
Procedural Content Generation with ClojureMike Anderson
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introductionelliando dias
 
Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ssRuo Ando
 
Dynamically linked queues
Dynamically linked queuesDynamically linked queues
Dynamically linked queuesJonghoon Park
 

Was ist angesagt? (20)

Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12Wasserstein GAN Tfug2017 07-12
Wasserstein GAN Tfug2017 07-12
 
Python 101 language features and functional programming
Python 101 language features and functional programmingPython 101 language features and functional programming
Python 101 language features and functional programming
 
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANsNTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANs
 
An Introduction to JavaScript: Week 5
An Introduction to JavaScript: Week 5An Introduction to JavaScript: Week 5
An Introduction to JavaScript: Week 5
 
Queue implementation
Queue implementationQueue implementation
Queue implementation
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data Science
 
Grand centraldispatch
Grand centraldispatchGrand centraldispatch
Grand centraldispatch
 
Computational Linguistics week 5
Computational Linguistics  week 5Computational Linguistics  week 5
Computational Linguistics week 5
 
MATHS SYMBOLS - #7 - LOGARITHMS, LOG of a PRODUCT, LOG of a QUOTIENT - PROOFS
MATHS SYMBOLS - #7 - LOGARITHMS, LOG of a PRODUCT, LOG of a QUOTIENT - PROOFSMATHS SYMBOLS - #7 - LOGARITHMS, LOG of a PRODUCT, LOG of a QUOTIENT - PROOFS
MATHS SYMBOLS - #7 - LOGARITHMS, LOG of a PRODUCT, LOG of a QUOTIENT - PROOFS
 
U3.stack queue
U3.stack queueU3.stack queue
U3.stack queue
 
Clojure for Data Science
Clojure for Data ScienceClojure for Data Science
Clojure for Data Science
 
Data Structures - Lecture 6 [queues]
Data Structures - Lecture 6 [queues]Data Structures - Lecture 6 [queues]
Data Structures - Lecture 6 [queues]
 
Recursion and Functional Programming
Recursion and Functional ProgrammingRecursion and Functional Programming
Recursion and Functional Programming
 
Brief intro to clojure
Brief intro to clojureBrief intro to clojure
Brief intro to clojure
 
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...
Ernst kuilder (Nelen & Schuurmans) - De waterkaart van Nederland: technisch g...
 
Procedural Content Generation with Clojure
Procedural Content Generation with ClojureProcedural Content Generation with Clojure
Procedural Content Generation with Clojure
 
Lecture 2 f17
Lecture 2 f17Lecture 2 f17
Lecture 2 f17
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
 
Otter 2016-11-14-ss
Otter 2016-11-14-ssOtter 2016-11-14-ss
Otter 2016-11-14-ss
 
Dynamically linked queues
Dynamically linked queuesDynamically linked queues
Dynamically linked queues
 

Andere mochten auch

Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
Voxxed Days Thesaloniki 2016 - Machine Learning for Developers
Voxxed Days Thesaloniki 2016 - Machine Learning for DevelopersVoxxed Days Thesaloniki 2016 - Machine Learning for Developers
Voxxed Days Thesaloniki 2016 - Machine Learning for DevelopersVoxxed Days Thessaloniki
 
Introduction to clojure
Introduction to clojureIntroduction to clojure
Introduction to clojureAbbas Raza
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with ClojureJohn Stevenson
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureHsuan Fu Lien
 

Andere mochten auch (6)

Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
Voxxed Days Thesaloniki 2016 - Machine Learning for Developers
Voxxed Days Thesaloniki 2016 - Machine Learning for DevelopersVoxxed Days Thesaloniki 2016 - Machine Learning for Developers
Voxxed Days Thesaloniki 2016 - Machine Learning for Developers
 
Loom at Clojure/West
Loom at Clojure/WestLoom at Clojure/West
Loom at Clojure/West
 
Introduction to clojure
Introduction to clojureIntroduction to clojure
Introduction to clojure
 
Get into Functional Programming with Clojure
Get into Functional Programming with ClojureGet into Functional Programming with Clojure
Get into Functional Programming with Clojure
 
The Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from ClojureThe Ideas of Clojure - Things I learn from Clojure
The Ideas of Clojure - Things I learn from Clojure
 

Ähnlich wie Clojure night

JavaOne 2013 - Clojure for Java Developers
JavaOne 2013 - Clojure for Java DevelopersJavaOne 2013 - Clojure for Java Developers
JavaOne 2013 - Clojure for Java DevelopersJan Kronquist
 
Programación funcional con haskell
Programación funcional con haskellProgramación funcional con haskell
Programación funcional con haskellAgustin Ramos
 
The Not Java That's Not Scala
The Not Java That's Not ScalaThe Not Java That's Not Scala
The Not Java That's Not ScalaJustin Lee
 
D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4Jan Berdajs
 
Deconstructing Functional Programming
Deconstructing Functional ProgrammingDeconstructing Functional Programming
Deconstructing Functional ProgrammingC4Media
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with ClojureDmitry Buzdin
 
The Shape of Functional Programming
The Shape of Functional ProgrammingThe Shape of Functional Programming
The Shape of Functional ProgrammingMike Fogus
 
Christian Gill ''Functional programming for the people''
Christian Gill ''Functional programming for the people''Christian Gill ''Functional programming for the people''
Christian Gill ''Functional programming for the people''OdessaJS Conf
 
Артём Акуляков - F# for Data Analysis
Артём Акуляков - F# for Data AnalysisАртём Акуляков - F# for Data Analysis
Артём Акуляков - F# for Data AnalysisSpbDotNet Community
 
A gentle introduction to functional programming through music and clojure
A gentle introduction to functional programming through music and clojureA gentle introduction to functional programming through music and clojure
A gentle introduction to functional programming through music and clojurePaul Lam
 
2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factorskrishna singh
 
Intro to Clojure's core.async
Intro to Clojure's core.asyncIntro to Clojure's core.async
Intro to Clojure's core.asyncLeonardo Borges
 
Project Fortress
Project FortressProject Fortress
Project FortressAlex Miller
 
An Introduction to JavaScript: Week 4
An Introduction to JavaScript: Week 4An Introduction to JavaScript: Week 4
An Introduction to JavaScript: Week 4Event Handler
 
First Ride on Rust
First Ride on RustFirst Ride on Rust
First Ride on RustDavid Evans
 
Scala Implicits - Not to be feared
Scala Implicits - Not to be fearedScala Implicits - Not to be feared
Scala Implicits - Not to be fearedDerek Wyatt
 
Purely Functional I/O
Purely Functional I/OPurely Functional I/O
Purely Functional I/OC4Media
 

Ähnlich wie Clojure night (20)

JavaOne 2013 - Clojure for Java Developers
JavaOne 2013 - Clojure for Java DevelopersJavaOne 2013 - Clojure for Java Developers
JavaOne 2013 - Clojure for Java Developers
 
Programação Funcional
Programação FuncionalProgramação Funcional
Programação Funcional
 
Programación funcional con haskell
Programación funcional con haskellProgramación funcional con haskell
Programación funcional con haskell
 
The Not Java That's Not Scala
The Not Java That's Not ScalaThe Not Java That's Not Scala
The Not Java That's Not Scala
 
D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4D-Talk: What's awesome about Ruby 2.x and Rails 4
D-Talk: What's awesome about Ruby 2.x and Rails 4
 
Deconstructing Functional Programming
Deconstructing Functional ProgrammingDeconstructing Functional Programming
Deconstructing Functional Programming
 
Refactoring to Macros with Clojure
Refactoring to Macros with ClojureRefactoring to Macros with Clojure
Refactoring to Macros with Clojure
 
08 functions
08 functions08 functions
08 functions
 
The Shape of Functional Programming
The Shape of Functional ProgrammingThe Shape of Functional Programming
The Shape of Functional Programming
 
Christian Gill ''Functional programming for the people''
Christian Gill ''Functional programming for the people''Christian Gill ''Functional programming for the people''
Christian Gill ''Functional programming for the people''
 
Артём Акуляков - F# for Data Analysis
Артём Акуляков - F# for Data AnalysisАртём Акуляков - F# for Data Analysis
Артём Акуляков - F# for Data Analysis
 
A gentle introduction to functional programming through music and clojure
A gentle introduction to functional programming through music and clojureA gentle introduction to functional programming through music and clojure
A gentle introduction to functional programming through music and clojure
 
2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors2. R-basics, Vectors, Arrays, Matrices, Factors
2. R-basics, Vectors, Arrays, Matrices, Factors
 
Intro to Clojure's core.async
Intro to Clojure's core.asyncIntro to Clojure's core.async
Intro to Clojure's core.async
 
05 subsetting
05 subsetting05 subsetting
05 subsetting
 
Project Fortress
Project FortressProject Fortress
Project Fortress
 
An Introduction to JavaScript: Week 4
An Introduction to JavaScript: Week 4An Introduction to JavaScript: Week 4
An Introduction to JavaScript: Week 4
 
First Ride on Rust
First Ride on RustFirst Ride on Rust
First Ride on Rust
 
Scala Implicits - Not to be feared
Scala Implicits - Not to be fearedScala Implicits - Not to be feared
Scala Implicits - Not to be feared
 
Purely Functional I/O
Purely Functional I/OPurely Functional I/O
Purely Functional I/O
 

Kürzlich hochgeladen

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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 

Kürzlich hochgeladen (20)

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...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
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...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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...
 

Clojure night