SlideShare a Scribd company logo
Clojure Workflow @
Dainius Jocas
2019-05-30
Agenda
● About TokenMill
● TokenMill workflow
● Why Clojure?
● Demo
● Questions
TokenMill workflow (1)
TokenMill workflow (2)
Loop:
1. Open source bits and pieces that should at least vaguely resemble an
idea of a credible software engineering
2. Find clients
3. Solve the problem for (2) using (1) open source bits and pieces with
the project specific custom functionality
And, of course, not loop like 2-3-1 :-)
TokenMill workflow (3)
Why Clojure?
Software
The most fundamental problem in computer science is problem decomposition:
how to take a complex problem and divide it up into pieces that can be solved
independently.
(John Ousterhout, A Philosophy of Software Design)
The Clojure Programming Language
Clojure is a dynamic, general-purpose programming language, combining the
approachability and interactive development of a scripting language with an
efficient and robust infrastructure for multithreaded programming.
(https://clojure.org/)
Proper Tooling
● Tools-deps (instead of Leiningen)
● IntelliJ + Cursive (some use emacs)
● GraalVM
● Docker
● Linux
● Elasticsearch and Lucene
● Apache Storm
● Gitlab for CI/CD
● AWS (S3, Lambda, Cloudformation, etc.)
● Github for OSS
Demo: text2date Lambda
- Project template
(https://github.com/tokenmill/clojure-graalvm-aws-lambda-template)
- Git dependencies (not from a private repository this time)
- GraalVM native image
- AWS Lambda
- https://github.com/dainiusjocas/clojure-meetup-vilnius-2019-05-30
Questions
Thank You!

More Related Content

Similar to Clojure workflow @ TokenMill by Dainius Jocas

Writing readable Clojure code
Writing readable Clojure codeWriting readable Clojure code
Writing readable Clojure code
Jiří Knesl
 
Innoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and BeyondInnoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and Beyond
SarahCraig7
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
Linaro
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
Linaro
 
Tech 101 @ delray tech spaces
Tech 101 @ delray tech spacesTech 101 @ delray tech spaces
Tech 101 @ delray tech spaces
Leo Hernandez
 
SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel
NECST Lab @ Politecnico di Milano
 
Dot net introduction
Dot net introductionDot net introduction
Dot net introduction
Dr.Neeraj Kumar Pandey
 
Java Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage EssayJava Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage Essay
Liz Sims
 
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptxITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
MarkJarusTTalanquine
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
RiazAhmad786
 
C++
C++C++
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
Uwe Friedrichsen
 
Unit 1
Unit 1Unit 1
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
Nicholas Sterling
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptx
shashiden1
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...
InfinIT - Innovationsnetværket for it
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)
Md. Mujahid Islam
 
The Practice of Programming - Notation
The Practice of Programming - NotationThe Practice of Programming - Notation
The Practice of Programming - Notation
Juggernaut Liu
 
jianli_en_s_20150529
jianli_en_s_20150529jianli_en_s_20150529
jianli_en_s_20150529
Limin Liu
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
Laura Torres
 

Similar to Clojure workflow @ TokenMill by Dainius Jocas (20)

Writing readable Clojure code
Writing readable Clojure codeWriting readable Clojure code
Writing readable Clojure code
 
Innoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and BeyondInnoslate the Gateway to SysML 2.0 and Beyond
Innoslate the Gateway to SysML 2.0 and Beyond
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
LAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoTLAS16-108: JerryScript and other scripting languages for IoT
LAS16-108: JerryScript and other scripting languages for IoT
 
Tech 101 @ delray tech spaces
Tech 101 @ delray tech spacesTech 101 @ delray tech spaces
Tech 101 @ delray tech spaces
 
SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel SDAccel Design Contest: Xilinx SDAccel
SDAccel Design Contest: Xilinx SDAccel
 
Dot net introduction
Dot net introductionDot net introduction
Dot net introduction
 
Java Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage EssayJava Is A Programming Dialect And Registering Stage Essay
Java Is A Programming Dialect And Registering Stage Essay
 
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptxITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
ITELOG113_CHAPTER_I_Introduction_to_Computing.pptx
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
C++
C++C++
C++
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
 
Unit 1
Unit 1Unit 1
Unit 1
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptx
 
Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...Are High Level Programming Languages for Multicore and Safety Critical Conver...
Are High Level Programming Languages for Multicore and Safety Critical Conver...
 
Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)Object Oriented Methodology in Java (Lecture-1)
Object Oriented Methodology in Java (Lecture-1)
 
The Practice of Programming - Notation
The Practice of Programming - NotationThe Practice of Programming - Notation
The Practice of Programming - Notation
 
jianli_en_s_20150529
jianli_en_s_20150529jianli_en_s_20150529
jianli_en_s_20150529
 
Various Approaches Of System Analysis
Various Approaches Of System AnalysisVarious Approaches Of System Analysis
Various Approaches Of System Analysis
 

Recently uploaded

Emcee Profile_ Subbu from Bangalore .pdf
Emcee Profile_ Subbu from Bangalore .pdfEmcee Profile_ Subbu from Bangalore .pdf
Emcee Profile_ Subbu from Bangalore .pdf
subran
 
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
mul1kv5w
 
DIGIDEVTV A New area of OTT Distribution
DIGIDEVTV  A New area of OTT DistributionDIGIDEVTV  A New area of OTT Distribution
DIGIDEVTV A New area of OTT Distribution
joeqsm
 
Orpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
Orpah Winfrey Dwayne Johnson: Titans of Influence and InspirationOrpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
Orpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
greendigital
 
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
Mega P
 
Christian Louboutin: Innovating with Red Soles
Christian Louboutin: Innovating with Red SolesChristian Louboutin: Innovating with Red Soles
Christian Louboutin: Innovating with Red Soles
get joys
 
Modern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
Modern Radio Frequency Access Control Systems: The Key to Efficiency and SafetyModern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
Modern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
AITIX LLC
 
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
9u08k0x
 
Authenticity in Motion Pictures: How Steve Greisen Retains Real Stories
Authenticity in Motion Pictures: How Steve Greisen Retains Real StoriesAuthenticity in Motion Pictures: How Steve Greisen Retains Real Stories
Authenticity in Motion Pictures: How Steve Greisen Retains Real Stories
Steve Greisen
 
Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __
catcabrera
 
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting SagaThe Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
greendigital
 
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptxFrom Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
Swing Street Radio
 
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdfUnveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
kenid14983
 
Barbie Movie Review - The Astras.pdfffff
Barbie Movie Review - The Astras.pdfffffBarbie Movie Review - The Astras.pdfffff
Barbie Movie Review - The Astras.pdfffff
theastras43
 
Everything You Need to Know About IPTV Ireland.pdf
Everything You Need to Know About IPTV Ireland.pdfEverything You Need to Know About IPTV Ireland.pdf
Everything You Need to Know About IPTV Ireland.pdf
Xtreame HDTV
 
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdfMatt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Azura Everhart
 
Divertidamente SLIDE muito lindo e criativo, pptx
Divertidamente SLIDE muito lindo e criativo, pptxDivertidamente SLIDE muito lindo e criativo, pptx
Divertidamente SLIDE muito lindo e criativo, pptx
lunaemel03
 
Top IPTV UK Providers of A Comprehensive Review.pdf
Top IPTV UK Providers of A Comprehensive Review.pdfTop IPTV UK Providers of A Comprehensive Review.pdf
Top IPTV UK Providers of A Comprehensive Review.pdf
Xtreame HDTV
 
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
greendigital
 
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
0md20cgg
 

Recently uploaded (20)

Emcee Profile_ Subbu from Bangalore .pdf
Emcee Profile_ Subbu from Bangalore .pdfEmcee Profile_ Subbu from Bangalore .pdf
Emcee Profile_ Subbu from Bangalore .pdf
 
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
原版制作(Mercer毕业证书)摩斯大学毕业证在读证明一模一样
 
DIGIDEVTV A New area of OTT Distribution
DIGIDEVTV  A New area of OTT DistributionDIGIDEVTV  A New area of OTT Distribution
DIGIDEVTV A New area of OTT Distribution
 
Orpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
Orpah Winfrey Dwayne Johnson: Titans of Influence and InspirationOrpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
Orpah Winfrey Dwayne Johnson: Titans of Influence and Inspiration
 
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
_7 OTT App Builders to Support the Development of Your Video Applications_.pdf
 
Christian Louboutin: Innovating with Red Soles
Christian Louboutin: Innovating with Red SolesChristian Louboutin: Innovating with Red Soles
Christian Louboutin: Innovating with Red Soles
 
Modern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
Modern Radio Frequency Access Control Systems: The Key to Efficiency and SafetyModern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
Modern Radio Frequency Access Control Systems: The Key to Efficiency and Safety
 
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
哪里买(osu毕业证书)美国俄勒冈州立大学毕业证双学位证书原版一模一样
 
Authenticity in Motion Pictures: How Steve Greisen Retains Real Stories
Authenticity in Motion Pictures: How Steve Greisen Retains Real StoriesAuthenticity in Motion Pictures: How Steve Greisen Retains Real Stories
Authenticity in Motion Pictures: How Steve Greisen Retains Real Stories
 
Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __Snoopy boards the big bow wow musical __
Snoopy boards the big bow wow musical __
 
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting SagaThe Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
The Unbelievable Tale of Dwayne Johnson Kidnapping: A Riveting Saga
 
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptxFrom Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
From Swing Music to Big Band Fame_ 5 Iconic Artists.pptx
 
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdfUnveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
Unveiling Paul Haggis Shaping Cinema Through Diversity. .pdf
 
Barbie Movie Review - The Astras.pdfffff
Barbie Movie Review - The Astras.pdfffffBarbie Movie Review - The Astras.pdfffff
Barbie Movie Review - The Astras.pdfffff
 
Everything You Need to Know About IPTV Ireland.pdf
Everything You Need to Know About IPTV Ireland.pdfEverything You Need to Know About IPTV Ireland.pdf
Everything You Need to Know About IPTV Ireland.pdf
 
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdfMatt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
Matt Rife Cancels Shows Due to Health Concerns, Reschedules Tour Dates.pdf
 
Divertidamente SLIDE muito lindo e criativo, pptx
Divertidamente SLIDE muito lindo e criativo, pptxDivertidamente SLIDE muito lindo e criativo, pptx
Divertidamente SLIDE muito lindo e criativo, pptx
 
Top IPTV UK Providers of A Comprehensive Review.pdf
Top IPTV UK Providers of A Comprehensive Review.pdfTop IPTV UK Providers of A Comprehensive Review.pdf
Top IPTV UK Providers of A Comprehensive Review.pdf
 
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
The Evolution of the Leonardo DiCaprio Haircut: A Journey Through Style and C...
 
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
定制(uow毕业证书)卧龙岗大学毕业证文凭学位证书原版一模一样
 

Clojure workflow @ TokenMill by Dainius Jocas

  • 1. Clojure Workflow @ Dainius Jocas 2019-05-30
  • 2. Agenda ● About TokenMill ● TokenMill workflow ● Why Clojure? ● Demo ● Questions
  • 3.
  • 5. TokenMill workflow (2) Loop: 1. Open source bits and pieces that should at least vaguely resemble an idea of a credible software engineering 2. Find clients 3. Solve the problem for (2) using (1) open source bits and pieces with the project specific custom functionality And, of course, not loop like 2-3-1 :-)
  • 8. Software The most fundamental problem in computer science is problem decomposition: how to take a complex problem and divide it up into pieces that can be solved independently. (John Ousterhout, A Philosophy of Software Design)
  • 9.
  • 10. The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. (https://clojure.org/)
  • 11. Proper Tooling ● Tools-deps (instead of Leiningen) ● IntelliJ + Cursive (some use emacs) ● GraalVM ● Docker ● Linux ● Elasticsearch and Lucene ● Apache Storm ● Gitlab for CI/CD ● AWS (S3, Lambda, Cloudformation, etc.) ● Github for OSS
  • 12. Demo: text2date Lambda - Project template (https://github.com/tokenmill/clojure-graalvm-aws-lambda-template) - Git dependencies (not from a private repository this time) - GraalVM native image - AWS Lambda - https://github.com/dainiusjocas/clojure-meetup-vilnius-2019-05-30