SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
We ♥ Haskell
             ------------------
             by @heidiHarman & @greenEmilyMay @scrive




Monday, August 15, 2011
We ♥ Haskell
             ------------------
             The story behind SkrivaPå and more about Haskell




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK


 Emily Green                        Heidi Harman

 :: JavaDev -> HaskellDev ->        _ Kaospilot, Denmark
 ServerCode                         _ Planner, projectmanager =
 :: BristolUni -> Maths -> Degree   webagencies
 :: JQuery -> CSS -> GUICode        _ IFL Stockholm School of Economics
 :: Bank -> Scrive -> Happy         _ Agencies
                                    _ Runalong Startup
                                    _ GeekGirlMeetup
                                    _ London, Scrive




Monday, August 15, 2011
Structure
                           allows
                          freedom
Monday, August 15, 2011
Or as Björk would
 have put it:




 “I tried organizing freedom,
 how scandinavian of me”




Monday, August 15, 2011
SkrivaPå aka Scrive

            Digital signatures for
            contracts etc

Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Why SkrivaPå?
 > Proven business model and product
 > A fantastic Team




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Why SkrivaPå?                                        Yes, it’s as
                                                    simple as that!



 > Proven business model and product
 > A fantastic Team




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK


 Tibetan Patches
                                     3

                               3         3




                           1




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 We Use Haskell
 Because the CTO, Gracjan, wanted to.

 “Haskell, whatʼs that?”
 > Itʼs a strongly typed, lazily evaluated, functional language.


 “Haskell, thatʼs a brave choice.”
 > Itʼs well-known and loved in academic circles, but a bit unusual of
 an unusual choice for building “real stuff”.




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Can I Describe What itʼs
 Like? Imagine: Variables
 canʼt change value.
 Once you set the value of a variable you canʼt change it. Ever.

 (If you ask me how to keep an incrementing count of user logins, I
 shall say “monads”.)




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Functions Only
 :: Input -> AnotherInput -> Output


 Want to go mess around with something that isnʼt stated in the type signature. Hard
 cheese. You canʼt.




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 My, this sounds insane,
 why?!
 Answer: some things are easier

 The thing thatʼs making functional languages like Haskell popular at
 the moment is ........


 Programming for Multiple
 Cores
Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK



 How many cores does your computer
 have?

 How many will it have in 3 years time?




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Immutability Makes Multi-
 Threaded Code Easier
 Did you know Twitter uses a functional
 language for itʼs highly threaded server
 code?



Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 TypeSafe
 saveAddress :: String -> Maybe Error User

 newtype Email = String
 saveAddress :: Email -> Maybe Error User




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Structure Gives Freedom

 But it makes compilation
 longer
 > “Like a logician on your shoulder” - eric
 > GHC magic




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Itʼs Different
 > Do you miss that excited
 feeling you got when you
 coded as a kid. Become a
 happy idiot again, learn
 Haskell.

Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 Quest to Grok the Monad
 > If you learn Haskell you will
 quickly hear the word
 “monad”. Keep calm.



Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK




 I love one thing more than
 Haskell, Haskell coders.
 Tip: if someone learns Haskell just to
 work on your project, theyʼll probably
 do a good job.



Monday, August 15, 2011
Thank you



Monday, August 15, 2011
More links about us
                Lukas Duczko on distributed teams at SSES
                http://www.vimeo.com/22653093

                IDG
                idg.se/2.1006/1.387765/arets-webbentreprenorer-lukas-duczko-och-gracjan-polak




Monday, August 15, 2011
@heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK



 Coffetalk




Monday, August 15, 2011

Mais conteúdo relacionado

Mais de heidi.harman

API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010
API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010
API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010heidi.harman
 
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...heidi.harman
 
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...heidi.harman
 
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...heidi.harman
 
Digital Process Leadership as a Tool for Action and Social Innovation in an U...
Digital Process Leadership as a Tool for Action and Social Innovation in an U...Digital Process Leadership as a Tool for Action and Social Innovation in an U...
Digital Process Leadership as a Tool for Action and Social Innovation in an U...heidi.harman
 
On-line and Off-line and Back Again for KING and ICA, 2010
On-line and Off-line and Back Again for KING and ICA, 2010On-line and Off-line and Back Again for KING and ICA, 2010
On-line and Off-line and Back Again for KING and ICA, 2010heidi.harman
 
API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010
 API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010 API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010
API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010heidi.harman
 
A freestyle intro for IFL at Stockholm School of Economics 2010
A freestyle intro for IFL at Stockholm School of Economics 2010A freestyle intro for IFL at Stockholm School of Economics 2010
A freestyle intro for IFL at Stockholm School of Economics 2010heidi.harman
 

Mais de heidi.harman (8)

API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010
API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010
API's as a Monetizing Web Strategy for GeekGirlMeetup #4 Noveber, 2010
 
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...
The Anatomy of Change for IFL (Institute for Leadership at Stockholm School o...
 
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...
API as a Monetizing Strategy for IFL (Institute for Leadership at Stockholm S...
 
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...
The Anatomy of Change - for The Swedish Institute / Cairo Social Media Cafe, ...
 
Digital Process Leadership as a Tool for Action and Social Innovation in an U...
Digital Process Leadership as a Tool for Action and Social Innovation in an U...Digital Process Leadership as a Tool for Action and Social Innovation in an U...
Digital Process Leadership as a Tool for Action and Social Innovation in an U...
 
On-line and Off-line and Back Again for KING and ICA, 2010
On-line and Off-line and Back Again for KING and ICA, 2010On-line and Off-line and Back Again for KING and ICA, 2010
On-line and Off-line and Back Again for KING and ICA, 2010
 
API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010
 API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010 API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010
API's as a Monetizing Web Strategy at Disruptive Code #dcode 2010
 
A freestyle intro for IFL at Stockholm School of Economics 2010
A freestyle intro for IFL at Stockholm School of Economics 2010A freestyle intro for IFL at Stockholm School of Economics 2010
A freestyle intro for IFL at Stockholm School of Economics 2010
 

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

An intro about Scrives electronic signatures - with Emily Green at Social Swedish WebCamp

  • 1. We ♥ Haskell ------------------ by @heidiHarman & @greenEmilyMay @scrive Monday, August 15, 2011
  • 2. We ♥ Haskell ------------------ The story behind SkrivaPå and more about Haskell Monday, August 15, 2011
  • 3. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Emily Green Heidi Harman :: JavaDev -> HaskellDev -> _ Kaospilot, Denmark ServerCode _ Planner, projectmanager = :: BristolUni -> Maths -> Degree webagencies :: JQuery -> CSS -> GUICode _ IFL Stockholm School of Economics :: Bank -> Scrive -> Happy _ Agencies _ Runalong Startup _ GeekGirlMeetup _ London, Scrive Monday, August 15, 2011
  • 4. Structure allows freedom Monday, August 15, 2011
  • 5. Or as Björk would have put it: “I tried organizing freedom, how scandinavian of me” Monday, August 15, 2011
  • 6. SkrivaPå aka Scrive Digital signatures for contracts etc Monday, August 15, 2011
  • 7. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Why SkrivaPå? > Proven business model and product > A fantastic Team Monday, August 15, 2011
  • 8. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Why SkrivaPå? Yes, it’s as simple as that! > Proven business model and product > A fantastic Team Monday, August 15, 2011
  • 9. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Tibetan Patches 3 3 3 1 Monday, August 15, 2011
  • 10. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK We Use Haskell Because the CTO, Gracjan, wanted to. “Haskell, whatʼs that?” > Itʼs a strongly typed, lazily evaluated, functional language. “Haskell, thatʼs a brave choice.” > Itʼs well-known and loved in academic circles, but a bit unusual of an unusual choice for building “real stuff”. Monday, August 15, 2011
  • 11. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Can I Describe What itʼs Like? Imagine: Variables canʼt change value. Once you set the value of a variable you canʼt change it. Ever. (If you ask me how to keep an incrementing count of user logins, I shall say “monads”.) Monday, August 15, 2011
  • 12. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Functions Only :: Input -> AnotherInput -> Output Want to go mess around with something that isnʼt stated in the type signature. Hard cheese. You canʼt. Monday, August 15, 2011
  • 13. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK My, this sounds insane, why?! Answer: some things are easier The thing thatʼs making functional languages like Haskell popular at the moment is ........ Programming for Multiple Cores Monday, August 15, 2011
  • 14. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK How many cores does your computer have? How many will it have in 3 years time? Monday, August 15, 2011
  • 15. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Immutability Makes Multi- Threaded Code Easier Did you know Twitter uses a functional language for itʼs highly threaded server code? Monday, August 15, 2011
  • 16. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK TypeSafe saveAddress :: String -> Maybe Error User newtype Email = String saveAddress :: Email -> Maybe Error User Monday, August 15, 2011
  • 17. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Structure Gives Freedom But it makes compilation longer > “Like a logician on your shoulder” - eric > GHC magic Monday, August 15, 2011
  • 18. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Itʼs Different > Do you miss that excited feeling you got when you coded as a kid. Become a happy idiot again, learn Haskell. Monday, August 15, 2011
  • 19. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Quest to Grok the Monad > If you learn Haskell you will quickly hear the word “monad”. Keep calm. Monday, August 15, 2011
  • 20. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK I love one thing more than Haskell, Haskell coders. Tip: if someone learns Haskell just to work on your project, theyʼll probably do a good job. Monday, August 15, 2011
  • 22. More links about us Lukas Duczko on distributed teams at SSES http://www.vimeo.com/22653093 IDG idg.se/2.1006/1.387765/arets-webbentreprenorer-lukas-duczko-och-gracjan-polak Monday, August 15, 2011
  • 23. @heidiHarman & @greenEmilyMay @scrive @skrivaPa @scrive_UK Coffetalk Monday, August 15, 2011