SlideShare a Scribd company logo
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Computer Bridge with F#:
DSLs and Genetic Programming
Computer Bridge with F#:
DSLs and Genetic Programming
@felienne
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
We interrupt the presentation for an
important message on SCIENCE
We interupt the presentation for an
important message on SCIENCE
Computer Bridge with F#:
DSLs and Genetic Programming
@felienne
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Omar Sharif bridge by Nationaal Archief (Ron Kroon) CC-BY-SA-3.0
N
S
E
W
Omar Sharif bridge by Nationaal Archief (Ron Kroon) CC-BY-SA-3.0
52 cards
in 4 suits
Tricks of
four cards
Tricks of
four cards
52 cards
Tricks of
four cards
52 cards
= 13 tricks
Trump
Trump
Always wins
Trump
Always wins
Trump
Always wins
4 hands
Let’s explain
with code
The basics
I	could	also	say	just	Hand	of	list,	
but	I	like	this	because:
The basics
Before we
play
though...
Bidding
phase
Hand
Bidding
phase
BidHand
The basics
I	could	also	say	just	Hand	of	list,	
but	I	like	this	because:
Add bids
Start small,
but real
DSL Tip #1
Add bids
Add bids
No Trump?!
Bidding
Bidding
Bidding
Bidding
SAd
Two suit types
Two suit types
Two suit types
Two suit types
Two suit types
Two suit types
Duplication
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Monads to
the rescue?!
Add bids
Does not sound
like domain
Balancing
act
Simple
language
Simple
language
Simple
language
Simple
language
Simple
language
over
perfect
model
DSL Tip #2
Hand
BidHand
BidHand
BidHand
635,013,559,600
BidHand
635,013,559,600 35
Mapping
Mapping
Hand
Hand
4
Hand
4
1) Max suit length
Hand
Hand
2) Card value
Hand
4
4
3
2
Hand
3) Balance4
4
3
2
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Pattern =>
Language
opportunity!
DSL Tip #3
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Getting a bid
Evaluating a hand
Evaluating a hand
Evaluating a hand
Traverse the
list until a
match
It takes two
Hand
4
1) Max suit length
Hand
2) Card value
It takes two
It takes two
It takes two
It takes two
It takes two
Read aloud
once in a while
DSL Tip #4
Better syntax
Better syntax
Better syntax
Better syntax
Better syntax
Better syntax
We can
make it
EVEN BETTER!
Even better!
Even better!
Even better!
Even better!
Even better!
Even better!
Even better!
Even better!
Even better!
Even better!
Error!
Let’s read the
lang specs!
Let’s read the
lang specs!
Let’s read the
lang specs!
Let’s read the
lang specs!
We cannot
overload ‘->’
Let’s read the
lang specs!
Even better!
Even better!
Thanks
Tomas!!!
Regularly
hang out
with Tomas
DSL Tip #5
Regularly
hang out
with Tomas
DSL Tip #5
Know about
language
features
DSL Tip #5
It takes two
It takes three!
Hand
4
1) Max suit length
Hand
2) Card value
Hand
3) Balance4
4
3
2
It takes three!
It takes three!
No
pretty
Such
long
Much
math
It takes three!
It takes three!
It takes three!
It takes three!
It takes three!
It takes three!
It takes three!
Partial
application
Partial
application
Partial
application
Partial
application
Partial
application
Partial
application
Partial
application
www.felienne.com/archives/tag/desiderius
Current state
Current state
Why a DSL?
Why a DSL?
Genetic
programming
Survival of
the fittest
Survival of
the fittest
Survival of
the fittest
Survival of
the fittest
Survival of
the fittest
Survival of
the fittest?
Survival of
the fittest?
Fitness
function
Fitness
function
Fitness
function
Any
ideas??
Fitness
function
Some corners
were cut
Usually we
don’t mutate
text
Usually we
don’t mutate
text
Mutating plain text
not very effective
Mutate ASTs
Mutate ASTs
if
DSL = fewer
option for AST!
Geneticprogrammingon a DSL
Geneticprogrammingon a DSL
Geneticprogrammingon a DSL
Geneticprogrammingon a DSL
Geneticprogrammingon a DSL
Let the machines
do the thinking
Geneticprogrammingon a DSL
Geneticprogrammingon a DSL
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Let the machines
do the thinking
Not all rules
are correct!
Not all rules
are correct!
J
Not all rules
are correct!
J
L
Not all rules
are correct!
J
L
J
Not all rules
are useful!
J
L
J
Not all rules
are useful!
J
L
L
Remove
useless rules
Remove
useless rules
Remove
useless rules
So little
effort!
Using
the rules
Using
the rules
Using
the rules
Using
the rules
Using
the rules
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Using
the rules
Using
the rules
Bit more
exciting!
Bit more
exciting!
Bit more
exciting!
Look mommy,
no thinking!
Look mommy,
no thinking!
Omar Sharif bridge by Nationaal Archief (Ron Kroon) CC-BY-SA-3.0
Next step:
Mutate this!
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
Computer Bridge with F#:
DSLs and Genetic Programming
@felienne
Women playing bridge in Tallahassee by Florida Memory Project Public Domain
h7p://stackoverflow.com/quesAons/2733415/
fsharp-core-sigdata-not-found-alongside-
fsharp-core

More Related Content

Similar to Using F# and genetic programming to play computer bridge

F# Eye for the C# Guy
F# Eye for the C# GuyF# Eye for the C# Guy
F# Eye for the C# Guy
gueste3f83d
 
IDeACOM CEO roundtable presentation 2001
IDeACOM CEO roundtable presentation 2001IDeACOM CEO roundtable presentation 2001
IDeACOM CEO roundtable presentation 2001
m.schultz
 
Type on the Web (with WordPress)
Type on the Web (with WordPress)Type on the Web (with WordPress)
Type on the Web (with WordPress)
Tadpole Collective
 
The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019
🎤 Hanno Embregts 🎸
 
Ib Extended Essay Criteria 2014. Online assignment writing service.
Ib Extended Essay Criteria 2014. Online assignment writing service.Ib Extended Essay Criteria 2014. Online assignment writing service.
Ib Extended Essay Criteria 2014. Online assignment writing service.
Marissa Collazo
 
Persuasive Essay On The Devil And Tom Walker
Persuasive Essay On The Devil And Tom WalkerPersuasive Essay On The Devil And Tom Walker
Persuasive Essay On The Devil And Tom Walker
Mimi Young
 
NLP 101 + Chatbots
NLP 101 + ChatbotsNLP 101 + Chatbots
NLP 101 + Chatbots
Chris Shei
 
Progressing and enhancing
Progressing and enhancingProgressing and enhancing
Progressing and enhancing
Christian Heilmann
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
Karel Ha
 
People the biggest cyber risk
People the biggest cyber riskPeople the biggest cyber risk
People the biggest cyber risk
University of Hertfordshire
 
Hello, Joe. Hello, Mike; Hello, Robert.
Hello, Joe. Hello, Mike; Hello, Robert.Hello, Joe. Hello, Mike; Hello, Robert.
Hello, Joe. Hello, Mike; Hello, Robert.
⌨️ Steven Proctor
 
Future-proofing your content
Future-proofing your contentFuture-proofing your content
Future-proofing your content
Scriptorium Publishing
 

Similar to Using F# and genetic programming to play computer bridge (12)

F# Eye for the C# Guy
F# Eye for the C# GuyF# Eye for the C# Guy
F# Eye for the C# Guy
 
IDeACOM CEO roundtable presentation 2001
IDeACOM CEO roundtable presentation 2001IDeACOM CEO roundtable presentation 2001
IDeACOM CEO roundtable presentation 2001
 
Type on the Web (with WordPress)
Type on the Web (with WordPress)Type on the Web (with WordPress)
Type on the Web (with WordPress)
 
The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019The Soft Side of Software Development / Devoxx 2019
The Soft Side of Software Development / Devoxx 2019
 
Ib Extended Essay Criteria 2014. Online assignment writing service.
Ib Extended Essay Criteria 2014. Online assignment writing service.Ib Extended Essay Criteria 2014. Online assignment writing service.
Ib Extended Essay Criteria 2014. Online assignment writing service.
 
Persuasive Essay On The Devil And Tom Walker
Persuasive Essay On The Devil And Tom WalkerPersuasive Essay On The Devil And Tom Walker
Persuasive Essay On The Devil And Tom Walker
 
NLP 101 + Chatbots
NLP 101 + ChatbotsNLP 101 + Chatbots
NLP 101 + Chatbots
 
Progressing and enhancing
Progressing and enhancingProgressing and enhancing
Progressing and enhancing
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
 
People the biggest cyber risk
People the biggest cyber riskPeople the biggest cyber risk
People the biggest cyber risk
 
Hello, Joe. Hello, Mike; Hello, Robert.
Hello, Joe. Hello, Mike; Hello, Robert.Hello, Joe. Hello, Mike; Hello, Robert.
Hello, Joe. Hello, Mike; Hello, Robert.
 
Future-proofing your content
Future-proofing your contentFuture-proofing your content
Future-proofing your content
 

More from Felienne Hermans

Functional Programming in Excel
Functional Programming in ExcelFunctional Programming in Excel
Functional Programming in Excel
Felienne Hermans
 
How does code sound?
How does code sound?How does code sound?
How does code sound?
Felienne Hermans
 
Programming is logical reasoning?
Programming is logical reasoning?Programming is logical reasoning?
Programming is logical reasoning?
Felienne Hermans
 
Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?
Felienne Hermans
 
Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?
Felienne Hermans
 
Programming by Calculation
Programming by CalculationProgramming by Calculation
Programming by Calculation
Felienne Hermans
 
A board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solversA board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solvers
Felienne Hermans
 
Spreadsheets for developers
Spreadsheets for developersSpreadsheets for developers
Spreadsheets for developers
Felienne Hermans
 
Spreadsheets are code
Spreadsheets are codeSpreadsheets are code
Spreadsheets are code
Felienne Hermans
 
Presenting: structure story and support
Presenting: structure story and supportPresenting: structure story and support
Presenting: structure story and support
Felienne Hermans
 
Improving Spreadsheet Test Practices
Improving Spreadsheet Test PracticesImproving Spreadsheet Test Practices
Improving Spreadsheet Test Practices
Felienne Hermans
 
Putting the science in computer science
Putting the science in computer sciencePutting the science in computer science
Putting the science in computer science
Felienne Hermans
 
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Felienne Hermans
 
Social media for the busy scientist
Social media for the busy scientistSocial media for the busy scientist
Social media for the busy scientist
Felienne Hermans
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD researchFelienne Hermans
 
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Felienne Hermans
 
Spreadsheet Testing
Spreadsheet TestingSpreadsheet Testing
Spreadsheet Testing
Felienne Hermans
 
TEDxDelft
TEDxDelftTEDxDelft
TEDxDelft
Felienne Hermans
 
The power of symmetry
The power of symmetryThe power of symmetry
The power of symmetry
Felienne Hermans
 

More from Felienne Hermans (19)

Functional Programming in Excel
Functional Programming in ExcelFunctional Programming in Excel
Functional Programming in Excel
 
How does code sound?
How does code sound?How does code sound?
How does code sound?
 
Programming is logical reasoning?
Programming is logical reasoning?Programming is logical reasoning?
Programming is logical reasoning?
 
Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?
 
Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?
 
Programming by Calculation
Programming by CalculationProgramming by Calculation
Programming by Calculation
 
A board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solversA board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solvers
 
Spreadsheets for developers
Spreadsheets for developersSpreadsheets for developers
Spreadsheets for developers
 
Spreadsheets are code
Spreadsheets are codeSpreadsheets are code
Spreadsheets are code
 
Presenting: structure story and support
Presenting: structure story and supportPresenting: structure story and support
Presenting: structure story and support
 
Improving Spreadsheet Test Practices
Improving Spreadsheet Test PracticesImproving Spreadsheet Test Practices
Improving Spreadsheet Test Practices
 
Putting the science in computer science
Putting the science in computer sciencePutting the science in computer science
Putting the science in computer science
 
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
 
Social media for the busy scientist
Social media for the busy scientistSocial media for the busy scientist
Social media for the busy scientist
 
An overview of my PhD research
An overview of my PhD researchAn overview of my PhD research
An overview of my PhD research
 
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
 
Spreadsheet Testing
Spreadsheet TestingSpreadsheet Testing
Spreadsheet Testing
 
TEDxDelft
TEDxDelftTEDxDelft
TEDxDelft
 
The power of symmetry
The power of symmetryThe power of symmetry
The power of symmetry
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

Using F# and genetic programming to play computer bridge