SlideShare a Scribd company logo
Yves Caseau - The Joy of Programming – June 2018 1/9
 
// finds a cell with a min count (heuristic)
findPivot(g:Grid) : any
-> let minv := 10, cmin := unknown in
(for c in g.cells
(if (c.value = 0 & c.count < minv)
(minv := c.count, cmin := c)),
cmin)
// solves a sudoku : branch on possible
// values using a recursive function
// branch(...) does all the work :)
solve(g:Grid) : boolean
-> when c := findPivot(g) in
exists(v in (1 .. 9) |
(if c.possible[v]
branch((c.value := v,
solve(g)))
else false))
else true
// first propagation rule
r1() :: rule(  c.value := v =>
(store(c.line.counts,v,0),
store(c.column.counts,v,0),
store(c.square.counts,v,0),
for v2 in (1 .. 9)
(if (v != v2 & c.possible[v2]) noLonger(c,v2),
for c2 in (c.line.cells but c) forbid(c2,v),
for c2 in (c.column.cells but c) forbid(c2,v),
for c2 in (c.square.cells but c) forbid(c2,v))))
// if c.count = 1, the only possible value is certain
r2() :: rule( c.count := y & y = 1 =>
c.value := some(y in (1 .. 9) | c.possible[y]))
// if a value v is possible only in one cell, it is certain
r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1
=> when c := some(c in cs.cells |
c.value = 0 & c.possible[v]) in
c.value := v
else contradiction!())
Yves Caseau
Michelin Group CIO
NATF (National Academy of Technologies of France)
Thinking, Designing, Writing,Thinking, Designing, Writing,
Testing … and Living with Code:Testing … and Living with Code:
Software in the 21Software in the 21stst
centurycenturyYves Caseau
Group CIO, Michelin
NATF
ADN Meetup, Le Crest
June 28th
, 2018 (v0.5)
Yves Caseau - The Joy of Programming – June 2018 2/9
The Need for Elegant ProgrammingThe Need for Elegant Programming
Constant change : love your code 
 Constant change & constant training
Refactoring : your code is a garden !
Yves Caseau - The Joy of Programming – June 2018 3/9
Software Development is a Team SportSoftware Development is a Team Sport
The world moves too fast to stay alone
 Build up your community
 Share your code to hire extra eye balls
Yves Caseau - The Joy of Programming – June 2018 4/9
Software is about Experience, not FunctionsSoftware is about Experience, not Functions
 User Experience Design is critical
 Cross-functional squads required
 Polyvalence makes collaboration easier
Yves Caseau - The Joy of Programming – June 2018 5/9
Always Ask for Help !Always Ask for Help !
In the 21st
century, to code starts with search
 Get in touch with your community for regular training
Leverage the power of MOOCs – Be curious !
Yves Caseau - The Joy of Programming – June 2018 6/9
Thinking and Doing in a Constant Learning LoopThinking and Doing in a Constant Learning Loop
 Analysts and Developers : 20th
century concepts 
 From mechanical design to organic growth
 Real-life operability issues makes delightful math problems
Yves Caseau - The Joy of Programming – June 2018 7/9
Good Software is Grown From Quantified FeedbackGood Software is Grown From Quantified Feedback
 Listen constantly to your users 
 Learn from measures – grow from your mistakes
 There is no user satisfaction without fast response time
Yves Caseau - The Joy of Programming – June 2018 8/9
Remember that You Belong to an EcosystemRemember that You Belong to an Ecosystem
 Your app is not isolated – recognize the system you are in
 Your users are not isolated – recognize the flows
 Don’t aim to be a “solution consultant” – be a magician !
Yves Caseau - The Joy of Programming – June 2018 9/9
ConclusionConclusion
Thank you for inviting me 
There has never been a better time
to write code 
Don’t build walls around yourselves 
 Let’s complete the Lean & Agile deployment
Yves Caseau - The Joy of Programming – June 2018 9/9
ConclusionConclusion
Thank you for inviting me 
There has never been a better time
to write code 
Don’t build walls around yourselves 
 Let’s complete the Lean & Agile deployment

More Related Content

Similar to Software Pitch 2018

OWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyondOWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyond
Björn Kimminich
 
Unit 6 Poster And Advert Design
Unit 6   Poster And Advert DesignUnit 6   Poster And Advert Design
Unit 6 Poster And Advert Designc.west
 
WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper
Antidot
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Henning Jacobs
 
IRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security SystemIRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security System
IRJET Journal
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
Puppet
 
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
University of Bologna
 
20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project
ecomplexx
 
Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)
Karel Dumon
 
Big Data for the CMO
Big Data for the CMOBig Data for the CMO
Big Data for the CMOBruno Aziza
 
Intro to Google Prediction API
Intro to Google Prediction APIIntro to Google Prediction API
Intro to Google Prediction API
Gabriel Hamilton
 
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
zuluJDK
 
Understanding Java Garbage Collection
Understanding Java Garbage CollectionUnderstanding Java Garbage Collection
Understanding Java Garbage Collection
Azul Systems Inc.
 
Machine Learning for Self-Tracking
Machine Learning for Self-TrackingMachine Learning for Self-Tracking
Machine Learning for Self-Tracking
Yves Caseau
 
Recommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial ServicesRecommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial Services
Andrea Gigli
 
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael VaroquauxBuilding a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
PyData
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
Christian Heilmann
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
fOSSa - Free Open Source Software Academia Conference
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse Duttile
Felice Pescatore
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
Brian Henerey
 

Similar to Software Pitch 2018 (20)

OWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyondOWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyond
 
Unit 6 Poster And Advert Design
Unit 6   Poster And Advert DesignUnit 6   Poster And Advert Design
Unit 6 Poster And Advert Design
 
WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
IRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security SystemIRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security System
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
 
20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project
 
Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)
 
Big Data for the CMO
Big Data for the CMOBig Data for the CMO
Big Data for the CMO
 
Intro to Google Prediction API
Intro to Google Prediction APIIntro to Google Prediction API
Intro to Google Prediction API
 
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
 
Understanding Java Garbage Collection
Understanding Java Garbage CollectionUnderstanding Java Garbage Collection
Understanding Java Garbage Collection
 
Machine Learning for Self-Tracking
Machine Learning for Self-TrackingMachine Learning for Self-Tracking
Machine Learning for Self-Tracking
 
Recommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial ServicesRecommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial Services
 
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael VaroquauxBuilding a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse Duttile
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 

More from Yves Caseau

CCEM2023.pptx
CCEM2023.pptxCCEM2023.pptx
CCEM2023.pptx
Yves Caseau
 
DataAquitaine February 2022
DataAquitaine February 2022DataAquitaine February 2022
DataAquitaine February 2022
Yves Caseau
 
Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3
Yves Caseau
 
Information Systems for Digital Transformation
Information Systems for Digital TransformationInformation Systems for Digital Transformation
Information Systems for Digital Transformation
Yves Caseau
 
Taking advantageofai july2018
Taking advantageofai july2018Taking advantageofai july2018
Taking advantageofai july2018
Yves Caseau
 
Intelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIAIntelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIA
Yves Caseau
 
Big data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT ArchitectureBig data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT Architecture
Yves Caseau
 
Smart selfnovember2013
Smart selfnovember2013Smart selfnovember2013
Smart selfnovember2013
Yves Caseau
 
Management socialnetworksfeb2012
Management socialnetworksfeb2012Management socialnetworksfeb2012
Management socialnetworksfeb2012
Yves Caseau
 
Google socialnetworksmarch08
Google socialnetworksmarch08Google socialnetworksmarch08
Google socialnetworksmarch08
Yves Caseau
 
Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance
Yves Caseau
 
Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013
Yves Caseau
 
Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015
Yves Caseau
 
GTES UTC 2014
GTES  UTC 2014GTES  UTC 2014
GTES UTC 2014
Yves Caseau
 
The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014
Yves Caseau
 
Disic mars2014
Disic mars2014Disic mars2014
Disic mars2014
Yves Caseau
 
Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Yves Caseau
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014Yves Caseau
 
Claire98
Claire98Claire98
Claire98
Yves Caseau
 
Cours chapitre2 2012
Cours chapitre2 2012Cours chapitre2 2012
Cours chapitre2 2012
Yves Caseau
 

More from Yves Caseau (20)

CCEM2023.pptx
CCEM2023.pptxCCEM2023.pptx
CCEM2023.pptx
 
DataAquitaine February 2022
DataAquitaine February 2022DataAquitaine February 2022
DataAquitaine February 2022
 
Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3
 
Information Systems for Digital Transformation
Information Systems for Digital TransformationInformation Systems for Digital Transformation
Information Systems for Digital Transformation
 
Taking advantageofai july2018
Taking advantageofai july2018Taking advantageofai july2018
Taking advantageofai july2018
 
Intelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIAIntelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIA
 
Big data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT ArchitectureBig data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT Architecture
 
Smart selfnovember2013
Smart selfnovember2013Smart selfnovember2013
Smart selfnovember2013
 
Management socialnetworksfeb2012
Management socialnetworksfeb2012Management socialnetworksfeb2012
Management socialnetworksfeb2012
 
Google socialnetworksmarch08
Google socialnetworksmarch08Google socialnetworksmarch08
Google socialnetworksmarch08
 
Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance
 
Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013
 
Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015
 
GTES UTC 2014
GTES  UTC 2014GTES  UTC 2014
GTES UTC 2014
 
The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014
 
Disic mars2014
Disic mars2014Disic mars2014
Disic mars2014
 
Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014
 
Claire98
Claire98Claire98
Claire98
 
Cours chapitre2 2012
Cours chapitre2 2012Cours chapitre2 2012
Cours chapitre2 2012
 

Recently uploaded

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 

Recently uploaded (20)

Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 

Software Pitch 2018

  • 1. Yves Caseau - The Joy of Programming – June 2018 1/9   // finds a cell with a min count (heuristic) findPivot(g:Grid) : any -> let minv := 10, cmin := unknown in (for c in g.cells (if (c.value = 0 & c.count < minv) (minv := c.count, cmin := c)), cmin) // solves a sudoku : branch on possible // values using a recursive function // branch(...) does all the work :) solve(g:Grid) : boolean -> when c := findPivot(g) in exists(v in (1 .. 9) | (if c.possible[v] branch((c.value := v, solve(g))) else false)) else true // first propagation rule r1() :: rule(  c.value := v => (store(c.line.counts,v,0), store(c.column.counts,v,0), store(c.square.counts,v,0), for v2 in (1 .. 9) (if (v != v2 & c.possible[v2]) noLonger(c,v2), for c2 in (c.line.cells but c) forbid(c2,v), for c2 in (c.column.cells but c) forbid(c2,v), for c2 in (c.square.cells but c) forbid(c2,v)))) // if c.count = 1, the only possible value is certain r2() :: rule( c.count := y & y = 1 => c.value := some(y in (1 .. 9) | c.possible[y])) // if a value v is possible only in one cell, it is certain r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1 => when c := some(c in cs.cells | c.value = 0 & c.possible[v]) in c.value := v else contradiction!()) Yves Caseau Michelin Group CIO NATF (National Academy of Technologies of France) Thinking, Designing, Writing,Thinking, Designing, Writing, Testing … and Living with Code:Testing … and Living with Code: Software in the 21Software in the 21stst centurycenturyYves Caseau Group CIO, Michelin NATF ADN Meetup, Le Crest June 28th , 2018 (v0.5)
  • 2. Yves Caseau - The Joy of Programming – June 2018 2/9 The Need for Elegant ProgrammingThe Need for Elegant Programming Constant change : love your code   Constant change & constant training Refactoring : your code is a garden !
  • 3. Yves Caseau - The Joy of Programming – June 2018 3/9 Software Development is a Team SportSoftware Development is a Team Sport The world moves too fast to stay alone  Build up your community  Share your code to hire extra eye balls
  • 4. Yves Caseau - The Joy of Programming – June 2018 4/9 Software is about Experience, not FunctionsSoftware is about Experience, not Functions  User Experience Design is critical  Cross-functional squads required  Polyvalence makes collaboration easier
  • 5. Yves Caseau - The Joy of Programming – June 2018 5/9 Always Ask for Help !Always Ask for Help ! In the 21st century, to code starts with search  Get in touch with your community for regular training Leverage the power of MOOCs – Be curious !
  • 6. Yves Caseau - The Joy of Programming – June 2018 6/9 Thinking and Doing in a Constant Learning LoopThinking and Doing in a Constant Learning Loop  Analysts and Developers : 20th century concepts   From mechanical design to organic growth  Real-life operability issues makes delightful math problems
  • 7. Yves Caseau - The Joy of Programming – June 2018 7/9 Good Software is Grown From Quantified FeedbackGood Software is Grown From Quantified Feedback  Listen constantly to your users   Learn from measures – grow from your mistakes  There is no user satisfaction without fast response time
  • 8. Yves Caseau - The Joy of Programming – June 2018 8/9 Remember that You Belong to an EcosystemRemember that You Belong to an Ecosystem  Your app is not isolated – recognize the system you are in  Your users are not isolated – recognize the flows  Don’t aim to be a “solution consultant” – be a magician !
  • 9. Yves Caseau - The Joy of Programming – June 2018 9/9 ConclusionConclusion Thank you for inviting me  There has never been a better time to write code  Don’t build walls around yourselves   Let’s complete the Lean & Agile deployment
  • 10. Yves Caseau - The Joy of Programming – June 2018 9/9 ConclusionConclusion Thank you for inviting me  There has never been a better time to write code  Don’t build walls around yourselves   Let’s complete the Lean & Agile deployment

Editor's Notes

  1. This is not your CIO speech, it’s a dinner speech from an outsider expert - food for toughts Illustrations taken from my pet project – I will not go into it (not our topic today) – it is a a subliminal message Programming is fun (week-end &amp; vacations) I eat my own dog food : I apply to myself the advice that I am going to share
  2. Constant change =&amp;gt; easy to update =&amp;gt; nice code / well organized / easy to read (black box model is dead) Constant change in tech =&amp;gt; tools matter (iOS example) / Xcode Key idea : incremental (piece by piece / Agile) is great … but is creates accumulation and complexity
  3. Code in the first century is meant to be shared =&amp;gt; use the proper tools (GitHub) ADN is a Community  Communities is the best way to tackle complex things in changing world / complex world + need for reuse =&amp;gt; community Key principle from open source : reliability = f(1/bugs) = f(eyeballs)
  4. Obvious in the world of digital apps .. But true everywhere – Cross function experience is necessary to tackle at the same time usability, pleasure, performance, reliability … Not every one is everything : specialization occurs; but T-shaped is what works best
  5. The best efficiency comes from writing no code  “Collaboration does not mean to share what you know but what you don’t know” (pull / push) Curiosity has always been the mother of innovation, but today it is so efficient (access to knowledgeà
  6. What I mean : developers should be analysts (always) … and analysts should be developpers (today – because of complexity and change) – Taylorism is dead (requires stability) From Design to dev : the best theory is the one that works – Kevin Kelly &amp; Emergence From Dev to Design : Non-functional requirements (really practical reliability/ease of deply / operability) is worth a lot of thinking (Google SRE book)
  7. CFLL (explicit, implicit, social) : key for digital =&amp;gt; true for E2E SW (true for SaaS) Key lesson of Lean Startup : validated learning (analyst’s joker) Measure + focus on giving back free time to the user =&amp;gt; cf. Web Giants + Lean theorem “Tightly optimized systems are more robust”
  8. Software ecosystems are powerful : you need to surf the wave Digital : Customer journey is the key tool =&amp;gt; for E2E software, it’s business process and practice communities (BP do NOT capture everything) Arthur Clarke: Any sufficiently advanced technology is indistinguishable from magic. Magician are good role models for developers : key importance of practice + customer centricity focus on emotion