SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
GOTO
Paris | @
see Gopher
JAN
KLAT | SKRZ.CZ | @
KLATYS
1
Tools & Libraries | GopherJS
• Compiler of Go code to Javascript
• Similar to CGO
• All Go functionality
5
Dmitri Shuralyov Go in the browser

http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
WHY???
6
Dmitri Shuralyov Go in the browser

http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
Tools & Libraries | Go Mobile
• Export Go packages to Java and Objective C / Swift
• Access Java and Objective C API from Go
• Graddle plugin
• Databinding and other resources available from Go
7
Elias Naur Make mobile programming fun (again)

http://www.thedotpost.com/2016/10/elias-naur-make-mobile-programming-fun-again
Tools & Libraries | Small binaries
• $ go build -ldflags="..."
• -s Omit the symbol table and debug information
• -w Omit the DWARF symbol table.
• UPX (goupx for <= 1.6)
• might be marked as virus threat by AV
8
Javier Provecho Fernández Small binaries

https://golang.org/cmd/link/
Tools & Libraries | Small binaries
9
Javier Provecho Fernández Small binaries

https://golang.org/cmd/link/
https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/
Tools & Libraries | Worth mentioning
• Kelsey Hightower Self Deploying Go applications 🔗link 🔗code
• Franz Eichhorn Go machine learning at large scale 🔗link
• Book - Thorsten Ball Writing An Interpreter In Go
interpreterbook.com
10
Codebase mess & refactoring | The talk with way too long title to fit here
• No-op No-op No-op Interface maneuver
• Flocking rules
11
Katrina Owen The Scandalous Story of the Dreadful Code Written by the Best of Us

http://www.thedotpost.com/2016/10/katrina-owen-the-scandalous-story-of-the-dreadful-code-written-by-the-best-of-us
Codebase mess & refactoring | Plugins
• Proposition on how plugins might communicate
• most used is custom build - gh/mholt/custombuild
• wrap calls to external binaries using "net/rpc" for both os/exec and
"docker run”
• see https://github.com/drone/drone/issues/1863
12
Brad Rydzewski Plugins

What else?
• Robert Griesemer Prototype your design! 🔗link 🔗github

“Prototyping raises design questions we didn't even know we should be asking”
• Péter Szilágyi Immutability in Go 🔗link

“Opensource means good people find the bugs earlier but also bad people find
bugs earlier. Not so great when memory bug shuts down your network”
13
14
First class functions
15
First class functions
Dave Cheney Do not fear first class functions

http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
16
First class functions
Dave Cheney Do not fear first class functions

http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
17
First class functions
Dave Cheney Do not fear first class functions

http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
JAN KLAT | SKRZ.CZ
@KLATYS
HI@KLATYS.CZ
18
Thankyou!

Contenu connexe

Tendances

Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageRTigger
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingLukasz Dobrzanski
 
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2Giovanni Bassi
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporeDhruv Gohil
 
Flutter beers and pizza
Flutter beers and pizzaFlutter beers and pizza
Flutter beers and pizzaJon Durán
 
WordCamp Asheville 2014: WordPress and Git
WordCamp Asheville 2014: WordPress and GitWordCamp Asheville 2014: WordPress and Git
WordCamp Asheville 2014: WordPress and GitEvan Volgas
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 
maksym vlasov - culture of git as roots of your ci
maksym vlasov - culture of git as roots of your cimaksym vlasov - culture of git as roots of your ci
maksym vlasov - culture of git as roots of your ciDariia Seimova
 
Coding with golang
Coding with golangCoding with golang
Coding with golangHannahMoss14
 

Tendances (9)

Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming language
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2
 
Prototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at SingaporePrototype4Production Presented at FOSSASIA2015 at Singapore
Prototype4Production Presented at FOSSASIA2015 at Singapore
 
Flutter beers and pizza
Flutter beers and pizzaFlutter beers and pizza
Flutter beers and pizza
 
WordCamp Asheville 2014: WordPress and Git
WordCamp Asheville 2014: WordPress and GitWordCamp Asheville 2014: WordPress and Git
WordCamp Asheville 2014: WordPress and Git
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
maksym vlasov - culture of git as roots of your ci
maksym vlasov - culture of git as roots of your cimaksym vlasov - culture of git as roots of your ci
maksym vlasov - culture of git as roots of your ci
 
Coding with golang
Coding with golangCoding with golang
Coding with golang
 

Similaire à GOTO Paris | @see Gopher

13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applicationsKarthik Gaekwad
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsClay Smith
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...jward5519
 
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptx
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptxorlando-codecamp-meet-copilot-24-Feb-2024_pub.pptx
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptxBill Wilder
 
CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化Keishi Hosoba
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Todaydavyjones
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Michael Durrant
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 
Rags to Open Source - AllThingsOpen, Raleigh, NC 2014
Rags to Open Source - AllThingsOpen, Raleigh, NC  2014Rags to Open Source - AllThingsOpen, Raleigh, NC  2014
Rags to Open Source - AllThingsOpen, Raleigh, NC 2014Mike McNeil
 
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?Sacha Leprêtre
 
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowAchieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowNeo4j
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeRhio kim
 
So Easy, A Ten Year Old Can Do It by Zeph Gardler
So Easy, A Ten Year Old Can Do It by Zeph GardlerSo Easy, A Ten Year Old Can Do It by Zeph Gardler
So Easy, A Ten Year Old Can Do It by Zeph GardlerDocker, Inc.
 

Similaire à GOTO Paris | @see Gopher (20)

cadec-2017-golang
cadec-2017-golangcadec-2017-golang
cadec-2017-golang
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications
 
Javascript Apps at Build Artifacts
Javascript Apps at Build ArtifactsJavascript Apps at Build Artifacts
Javascript Apps at Build Artifacts
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
 
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptx
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptxorlando-codecamp-meet-copilot-24-Feb-2024_pub.pptx
orlando-codecamp-meet-copilot-24-Feb-2024_pub.pptx
 
CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化
 
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There TodayHTML5 is the Future of Mobile, PhoneGap Takes You There Today
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
C9 and jwt
C9 and jwtC9 and jwt
C9 and jwt
 
Why Go Lang?
Why Go Lang?Why Go Lang?
Why Go Lang?
 
Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline Boston Ruby Group - Devops Pipeline
Boston Ruby Group - Devops Pipeline
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 
GDSC NYCU | 如何建立自己的開源專案
 GDSC NYCU | 如何建立自己的開源專案 GDSC NYCU | 如何建立自己的開源專案
GDSC NYCU | 如何建立自己的開源專案
 
Rags to Open Source - AllThingsOpen, Raleigh, NC 2014
Rags to Open Source - AllThingsOpen, Raleigh, NC  2014Rags to Open Source - AllThingsOpen, Raleigh, NC  2014
Rags to Open Source - AllThingsOpen, Raleigh, NC 2014
 
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
 
WebGL Awesomeness
WebGL AwesomenessWebGL Awesomeness
WebGL Awesomeness
 
Intro to Go
Intro to GoIntro to Go
Intro to Go
 
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache ArrowAchieve Blazing-Fast Ingest Speeds with Apache Arrow
Achieve Blazing-Fast Ingest Speeds with Apache Arrow
 
Docker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - GoraeDocker, Docker Swarm mangement tool - Gorae
Docker, Docker Swarm mangement tool - Gorae
 
So Easy, A Ten Year Old Can Do It by Zeph Gardler
So Easy, A Ten Year Old Can Do It by Zeph GardlerSo Easy, A Ten Year Old Can Do It by Zeph Gardler
So Easy, A Ten Year Old Can Do It by Zeph Gardler
 

Dernier

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Dernier (20)

Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

GOTO Paris | @see Gopher

  • 1. GOTO Paris | @ see Gopher JAN KLAT | SKRZ.CZ | @ KLATYS 1
  • 2.
  • 3.
  • 4.
  • 5. Tools & Libraries | GopherJS • Compiler of Go code to Javascript • Similar to CGO • All Go functionality 5 Dmitri Shuralyov Go in the browser
 http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
  • 6. WHY??? 6 Dmitri Shuralyov Go in the browser
 http://www.thedotpost.com/2016/10/dmitri-shuralyov-go-in-the-browser
  • 7. Tools & Libraries | Go Mobile • Export Go packages to Java and Objective C / Swift • Access Java and Objective C API from Go • Graddle plugin • Databinding and other resources available from Go 7 Elias Naur Make mobile programming fun (again)
 http://www.thedotpost.com/2016/10/elias-naur-make-mobile-programming-fun-again
  • 8. Tools & Libraries | Small binaries • $ go build -ldflags="..." • -s Omit the symbol table and debug information • -w Omit the DWARF symbol table. • UPX (goupx for <= 1.6) • might be marked as virus threat by AV 8 Javier Provecho Fernández Small binaries
 https://golang.org/cmd/link/
  • 9. Tools & Libraries | Small binaries 9 Javier Provecho Fernández Small binaries
 https://golang.org/cmd/link/ https://blog.filippo.io/shrink-your-go-binaries-with-this-one-weird-trick/
  • 10. Tools & Libraries | Worth mentioning • Kelsey Hightower Self Deploying Go applications 🔗link 🔗code • Franz Eichhorn Go machine learning at large scale 🔗link • Book - Thorsten Ball Writing An Interpreter In Go interpreterbook.com 10
  • 11. Codebase mess & refactoring | The talk with way too long title to fit here • No-op No-op No-op Interface maneuver • Flocking rules 11 Katrina Owen The Scandalous Story of the Dreadful Code Written by the Best of Us
 http://www.thedotpost.com/2016/10/katrina-owen-the-scandalous-story-of-the-dreadful-code-written-by-the-best-of-us
  • 12. Codebase mess & refactoring | Plugins • Proposition on how plugins might communicate • most used is custom build - gh/mholt/custombuild • wrap calls to external binaries using "net/rpc" for both os/exec and "docker run” • see https://github.com/drone/drone/issues/1863 12 Brad Rydzewski Plugins

  • 13. What else? • Robert Griesemer Prototype your design! 🔗link 🔗github
 “Prototyping raises design questions we didn't even know we should be asking” • Péter Szilágyi Immutability in Go 🔗link
 “Opensource means good people find the bugs earlier but also bad people find bugs earlier. Not so great when memory bug shuts down your network” 13
  • 15. 15 First class functions Dave Cheney Do not fear first class functions
 http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
  • 16. 16 First class functions Dave Cheney Do not fear first class functions
 http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
  • 17. 17 First class functions Dave Cheney Do not fear first class functions
 http://www.thedotpost.com/2016/10/dave-cheney-do-not-fear-first-class-functions
  • 18. JAN KLAT | SKRZ.CZ @KLATYS HI@KLATYS.CZ 18 Thankyou!