![GopherCon UK](/img/default-banner.jpg)
- Видео 231
- Просмотров 1 167 127
GopherCon UK
Добавлен 21 авг 2015
Recordings of sessions at our annual GopherCon UK Conference events.
GopherCon UK Conferences are held annually in the capital city of London. Attended by hundreds of delegates, speakers, sponsors, partners and volunteer assistants, they are run by volunteers from the GO community. Delegates are typically professional web developers and managers, along with some general GO enthusiasts/evangelists and employment recruiters.
The events are a mix of split-track talk sessions and keynote presentations, along with space for exhibitors, various networking and social events, and a raffle. Costs are kept low and any profit made is used to fund GopherCon London throughout the rest of the year and/or is rolled into funding future conferences.
GopherCon UK Conferences are held annually in the capital city of London. Attended by hundreds of delegates, speakers, sponsors, partners and volunteer assistants, they are run by volunteers from the GO community. Delegates are typically professional web developers and managers, along with some general GO enthusiasts/evangelists and employment recruiters.
The events are a mix of split-track talk sessions and keynote presentations, along with space for exhibitors, various networking and social events, and a raffle. Costs are kept low and any profit made is used to fund GopherCon London throughout the rest of the year and/or is rolled into funding future conferences.
How to write a programming language and shell in Go with 92% test coverage and instant CI/CD-Qi Xiao
In this talk I will share my experience of developing a programming language and shell (Elvish, elv.sh) in Go.
The talk will cover the following topics:
A quick intro to Elvish itself, showing its full-fledged programming language and interesting interactive features
A dive into Elvish's interpreter, as a case study of how to implement a dynamic language interpreters in Go. This will include topics like:
How I implemented a tree-walking interpreter and static analyzer in Go
How I avoided reinventing the wheel by leveraging Go's types and standard libraries
How I used Go's concurrency primitives to implement shell semantics like pipelines
Techniques for testing Elvish, including:
Testing Elvish as...
The talk will cover the following topics:
A quick intro to Elvish itself, showing its full-fledged programming language and interesting interactive features
A dive into Elvish's interpreter, as a case study of how to implement a dynamic language interpreters in Go. This will include topics like:
How I implemented a tree-walking interpreter and static analyzer in Go
How I avoided reinventing the wheel by leveraging Go's types and standard libraries
How I used Go's concurrency primitives to implement shell semantics like pipelines
Techniques for testing Elvish, including:
Testing Elvish as...
Просмотров: 8 408
Видео
Using Pact to Deploy Microservice with Confidence - Mark Bradley, Armakuni
Просмотров 402День назад
Reliable microservices integration remains a major challenge, particularly when it comes to ensuring that independently deployable services work harmoniously in production. This talk introduces Pact, a powerful Consumer-Driven Contract testing tool essential for deploying microservices with increased confidence. Deploy with confidence, knowing that your stubs represent the API they are imitatin...
Go Full Stack Server-Side Rendering vs SPAs - Fernando J. Villamarin Diaz, JPMC
Просмотров 973День назад
Over the past year, we've witnessed an exciting shift in the development community: front-end logic is merging into the back-end, converging neatly within the Go ecosystem. We're talking full-stack capabilities with server-side rendering via Templ and a dash of HTMX for interactivity. Creating a complete full stack application solely in Go? Sounds awesome! In this talk, we'll delve into how thi...
Production Ready "Hello, World!" Daniela Petruzalek, JPMC
Просмотров 668День назад
As software engineers most of the time we are focusing on delivering the task that is given to us. If someone asks us to do a hello world API we can do it in 4, maybe 5 lines of Go code, but would that code be production-ready? What does production-ready code actually looks like? In this talk we are going to implement a “hello world” API, but focusing on all the aspects that would make this cod...
Building Graphical Go apps is Fyne Andrew Williams, FyneLabs
Просмотров 1 тыс.День назад
Have you been thinking about creating a graphical app, but you don’t know where to start? Have you ever wondered if you could use Go to build these kinds of graphical apps? If these questions sound familiar, then my talk “Visually building Go apps is Fyne” is for you. In this talk, I will show you how to get up and running quickly by building an initial app using barely 10 lines of Go code. Fro...
Building Generative AI Applications in Go (continued)- Gari Singh, Google
Просмотров 228День назад
This session will cover how to leverage the emerging ecosystem of tools and frameworks to build and deploy AI applications and models using Go. Part 1 on our Channel or in the GopherCon UK 2024 playlist!
Building Generative AI Applications in Go Gari Singh, Google
Просмотров 257День назад
This session will cover how to leverage the emerging ecosystem of tools and frameworks to build and deploy AI applications and models using Go. Part 2 is on our channel or in the GopherCon UK 2024 playlist!
Embracing Complexity Entropy in Software Design Shivam Acharya and Peter Chai
Просмотров 436День назад
'Complexity' is often used as an abstract concept in programming and software design - but how does it really manifest itself in the systems we write? Following the refactoring of one of our critical internal libraries, we explore the concept of entropy in software design to guide here we should place complexity in software systems, highlighting the gains and trade-offs of increasing/offloading...
Encore For Go Streamlining Cloud Development and Deployment (Continued) Salman Shah, Smartsheet
Просмотров 103День назад
In this hands-on tutorial, we'll explore Encore, a powerful Go SDK that simplifies cloud development and deployment. Encore allows you to declare infrastructure primitives as type-safe objects in your application code, eliminating the need for manual infrastructure configuration and maintenance. We'll start by setting up a local development environment with Encore, showcasing how it automatical...
Encore For Go Streamlining Cloud Development and Deployment Salman Shah, Smartsheet
Просмотров 136День назад
In this hands-on tutorial, we'll explore Encore, a powerful Go SDK that simplifies cloud development and deployment. Encore allows you to declare infrastructure primitives as type-safe objects in your application code, eliminating the need for manual infrastructure configuration and maintenance. We'll start by setting up a local development environment with Encore, showcasing how it automatical...
Let's Go Quantum - Sam Burns
Просмотров 660День назад
As quantum computing advances, classical encryption will become increasingly vulnerable. Go 1.23 is the first version of the language to introduce some post-quantum encryption features, with more to come. This talk will start off with a very light overview of quantum computing. We will cover what it is, and check in on the current state of the art, as well as why this is relevant to encryption....
An Introduction to Functional Programming in Go - Eleanor McHugh, Innovative Identity Solutions
Просмотров 1,6 тыс.День назад
Some rabbit holes are so far off the beaten track that when you find them they're essentially irresistible. This is one of those rabbit holes. Go is a pragmatic language with good tooling that's quick to learn and well suited to writing concurrent and network aware programs. It's design is generally conservative and so is its community, only gaining Generics a decade after release. It doesn't s...
Blazing Fast Merge with Loser Trees - Bryan Boreham, Grafana Labs
Просмотров 742День назад
Both sorting and merging efficiently can be hard problems. Merging ordered sequences is a little bit easier, but still hard. Thankfully many hard problems in computer science have been well-studied. A good strategy for k-way merging is called Tournament Tree, or Loser Tree. Go didn’t have an implementation of that, so I made one. In this talk, we will look at - Fundamentals and problems of k-wa...
Load testing distributed web services - George Malamidis, loveholidays
Просмотров 623День назад
January 2024 saw loveholidays' busiest period to date, with loveholidays.com serving 8,050 requests per second. Not only were our systems stable during this time, they also maintained strict performance expectations at a record low infrastructure cost. This is the result of continued focus on performance and scalability. Key has been ensuring our systems undergo daily load testing to address an...
Using Go to Scale Audit Logging at Cloudflare - Arti Phugat, Cloudflare
Просмотров 1,3 тыс.14 дней назад
At Cloudflare we operate applications at massive scale, and audit logging serves as a prime example of a distributed system handling millions of requests. Audit logging is integral to modern software development, allowing organizations to track user actions, system activities, and data changes for security, compliance, and troubleshooting purposes. In this session, I will discuss what audit log...
Go for serverless functions - Edson Ticona Zegarra
Просмотров 74014 дней назад
Go for serverless functions - Edson Ticona Zegarra
Go Channels slow down with more CPUs - Grant Stephens, Fastly
Просмотров 1,2 тыс.14 дней назад
Go Channels slow down with more CPUs - Grant Stephens, Fastly
The Key to Go Efficiency is Just a Few Go Runtime Metrics Away! - Bartłomiej Płotka & Arianna Vespri
Просмотров 1 тыс.14 дней назад
The Key to Go Efficiency is Just a Few Go Runtime Metrics Away! - Bartłomiej Płotka & Arianna Vespri
Event Driven Workflows - Andrew Wormald, Luno
Просмотров 2,4 тыс.14 дней назад
Event Driven Workflows - Andrew Wormald, Luno
Decoding AI: A Go Programmer's Perspective - Beth Anderson, BBC
Просмотров 64414 дней назад
Decoding AI: A Go Programmer's Perspective - Beth Anderson, BBC
Improving your code craft with generative AI - Liam Hampton, Microsoft
Просмотров 55714 дней назад
Improving your code craft with generative AI - Liam Hampton, Microsoft
AI is coming for your job - Adam Scholey, Benefex
Просмотров 75614 дней назад
AI is coming for your job - Adam Scholey, Benefex
Boost application performance with profile guided optimization Michael Pratt, Google
Просмотров 1,3 тыс.14 дней назад
Boost application performance with profile guided optimization Michael Pratt, Google
Understanding the Go runtime, Jesús Espino, Mattermost
Просмотров 1,2 тыс.14 дней назад
Understanding the Go runtime, Jesús Espino, Mattermost
Debugging Go Applications - Matt Boyle, Cloudflare
Просмотров 1,9 тыс.14 дней назад
Debugging Go Applications - Matt Boyle, Cloudflare
The Business of Go - Cameron Balahan, Google
Просмотров 66314 дней назад
The Business of Go - Cameron Balahan, Google
Reinventing Speech-to-Text Transcriptions with Go and Whisper - Pratim Bhosale & Sacha Arbonel
Просмотров 1,8 тыс.11 месяцев назад
Reinventing Speech-to-Text Transcriptions with Go and Whisper - Pratim Bhosale & Sacha Arbonel
Adelina Simion & Artur Kondas - The shimmy to the left: why security is coming for engineers
Просмотров 1,3 тыс.11 месяцев назад
Adelina Simion & Artur Kondas - The shimmy to the left: why security is coming for engineers
Memory Management in Go: The good, the bad and the ugly - Liam Hampton
Просмотров 17 тыс.11 месяцев назад
Memory Management in Go: The good, the bad and the ugly - Liam Hampton
Structured Logging for the Standard Library - Jonathan Amsterdam
Просмотров 8 тыс.11 месяцев назад
Structured Logging for the Standard Library - Jonathan Amsterdam
Very nice well done
Human's Thinking can not be replaced
46:57 Wait for it ... 😂
What's the resource usage like compared to electron? I have a lot of Chromebook and low powered device users and this is an important constraint
Thank you for the video!
This is very entertaining but please please please never try to do anything like this at work
Don't show it to Rob Pike
This talk is excellent and it has been featured in the last issue of Tech Talks Weekly newsletter! 🎉 Congrats Eleanor!
👏👏👏
Thank you
Thank you 🙏🏻
Thank you 🙏🏻
Nice !
If you're interested in Elvish, you may also be interested in the talk on its design - ruclips.net/video/wrl9foNXdgM/видео.html. Subscribe to youtube.com/@ElvishShell for more Elvish videos :)
jeez, I almost feel asleep . nice asmr 😀
I want the slides
RUclips is not allowing me to post the link directly, but you can find them in my speakerdeck (my user is jespino).
Not for beginners and would be a pain for people to maintain this in their codebase unless I'm using this code as a library that someone maintains 😅
It's a quite hard concept for me but I became incredibly interested in Functional Programming. !! thanks
CONTENTS 3:07 Is Go 1.23's implementation of Post-Quantum Cryptography secure? 4:25 What is quantum computing 6:34 Quantum phenomenon explained with Gophers! 8:37 What is a qubit? 11:34 'Measuring a qubit' meme 13:59 Quantum logic gates 17:44 Quantum decoherence 23:03 Simulating quantum computers in Go 29:18 What is Post-Quantum Cryptography? 31:31 Quantum Computing's implications for encryption 33:36 Why do we need PQC now? 35:14 Public key cryptography recap 36:09 Key Encapsulation Mechanisms recap 37:44 Lattice-Based Cryptography overview 39:48 NIST standards body 40:56 Hybrid PQC/traditional encryption and the work of Dr Bas Westerbaan 42:36 Detecting PQC in the browser 44:39 What's new in Go 1.23 cryptography, and why it's secure 45:29 Original work by Filippo Valsorda 47:48 Caddy and Cloudflare's fork of Go 49:50 Building a webserver in Go 1.23+ with PQC 51:07 NIST's finalised standard and why Go's implementation is as secure as the finalised version 52:46 Possible future developments SLIDES A write-up and link to the slides is available at sam-burns.com/posts/gophercon-uk-2024-talk-lets-go-quantum/
So many emotions...
horribly unreadable code
I think the point here was just to do a ludicrous dive into a rabbit hole that was never to be opened, not present a new way to write your software
Great talk
Thank you for these videos. It's very appreciated!
Next time, use the entire screen for the code.
Nice talk! Now, I'm waiting for the upload of the talk from Bryan Boreham: Getting Started with Go Optimization.
one of the most information rich talks I've seen, thank you!
Really appreciate the "running it in your editor" part - I was struggling all day with this today. Sadly, only after figuring it out myself I came across this talk :D. The talk didn't go over Helix (understandably so), so I'll leave it here if anyone is curious: Add the following to $HOME/.config/helix/languages.toml: [[language]] name = "<lang>" language-servers = ["<name>"] [language-server.<name>] command = "<path>" <lang> is the language your LSP is for <name> any arbitrary name <path> is obviously the location of your LSP
Thats bizarre...
This talks is excellent and it has been featured in the last issue of Tech Talks Weekly newsletter 👏 Congrats Matt!
There is a reason why he is running ELK on ver 7, ver 8 is royal pain to run locally :D
simplemente, Excelente, Felicitaciones Edson
Amdahl's Law it is.
Really well explained and complete details on how to tackle scaling issues
Yeah, I don't think Go's scheduler is necessarily optimised and/or built for 128 core scheduling and contention🤔Usually microservices have ~1 core or units of cores. This use case seems a bit of an odd edge case. I would, instead of having 128 cores, downsize the nodes to 32 core ones, which, yes, increases the number of connections but I don't think that's necessarily a problem. 🤔
Thank you for sharing
Have you thought about using temporal and writing your logic directly instead of converting it to a state machine?
You can't take something that i don't have
thank you interesting talk
I use very extensively and it is definitely better than JetBrains AI assistant. But in general i have found chat gpt answers to be significantly better than co pilot. I wish chat gpt integration is released into IDEs as well
Thank you
white theme - opinion rejected
Loved the talk and the insights. The only slight issue I faced is that it could've been 2 minutes long if it just referred to the documentation.
I have great audio!
Don’t waste your time watching this! I seldom am this harsh. There is minimal value in the information covered. At best, it is a time waste with a shill for CoPilot at the end. There are errors in it. The worst is that defer is scope by a code block where it is actually scoped at the function level. He absolutely states to not use global variables and subsequently states to reuse variables to minimize allocations without realizing that these two statements have conflicts in cases. Furthermore, he never references sync.Pool as an alternative means. There much better content available. much better
I dont understand people that waste the whole screen and put the content in a tiny box in the middle that's unreadable. we don't fancy syntax higlighter we just need to see the plain code.
Instead of watching this look for even freeman's 2018 presentation.
Sadly but "Golang manages memory with with memory management mechanisms, go and learn them somewhere else" is all you will get from this video
great talk.
well it's really really high level stuff. Almost a quote from the talk: "Wonderful GC would come and clean all your memory for you, don't worry!"
I thought this talk will go deep dive into GC. This video only touches the high level concepts.
@Strawberry_Htet Did you got hold of any better resources, which explain the GC internals in Go?