GopherCon UK
GopherCon UK
  • 205
  • 1 110 616
Reinventing Speech-to-Text Transcriptions with Go and Whisper - Pratim Bhosale & Sacha Arbonel
You have to build the transcriptions feature as good as Google and Zoom but we don't have a similar budget". That was a challenge we faced and solved with hundreds of coffee cups and incredible hair loss, our solution is cost-effective, open-source, and fits within our Go stack.
Whisper.cpp is a lightweight implementation of Open AI’s Whisper speech-to-text model, that comes with Go bindings. This solution is leveraged by a lot of emerging startups and existing companies.
Переглядів: 1 584

Відео

Adelina Simion & Artur Kondas - The shimmy to the left: why security is coming for engineers
Переглядів 1,1 тис.9 місяців тому
Software development is more complex than ever, relying on a wide variety of libraries and third-party tools, in order to build solutions quickly. DevOps enables us to ship these changes faster than ever, but leaves us vulnerable to security flaws, as we have less time to find and fix dangerous issues. Therefore, in today's world, the only way that engineers can confidently write code is by emb...
Memory Management in Go: The good, the bad and the ugly - Liam Hampton
Переглядів 14 тис.9 місяців тому
In this session, Liam delves into the crucial topic of memory management, providing a comprehensive overview of what it is, why it matters, and how to harness its power to write highly performant and cost-efficient code. He navigates the intricacies of the Go memory model, highlighting its distinctions and similarities with other popular languages, whilst also explaining the use of built-in too...
Structured Logging for the Standard Library - Jonathan Amsterdam
Переглядів 7 тис.9 місяців тому
Go 1.21's standard library will feature a new structured logging package, named "slog". slog aims to be easy to use, flexible and fast. In this talk, I’ll describe the motivation for adding structured logging to the standard library, and I’ll cover the design and API of the package. Along the way, I’ll explain how the design achieves high performance.
Understanding Language Server Protocol - autocomplete, formatting - Adrian Hesketh
Переглядів 9 тис.9 місяців тому
Part of Go's brilliant developer experience is the integration of gopls with text editors like VS Code, Neovim to provide features. Text editors use the Language Server Protocol standard to communicate. This standardisation allows multiple text editors to benefit from a single implementation. In this session, we'll go deeper to find out what's being passed between text editors and the language ...
Level-Up Real-time Go Applications with Ringbuffers - Fawaz Ghali
Переглядів 1,6 тис.9 місяців тому
Ringbuffers are great assets for real-time large scale distributed applications. Ringbuffer integration is a replicated, but not partitioned, the data structure that stores its data in a ring-like structure. You can think of it as a circular array with a given capacity. Each ringbuffer has a tail and a head. The tail is where the items are added and the head is where the items are overwritten o...
The 7 Deadly Sins for Gophers - John Gregory
Переглядів 3,9 тис.9 місяців тому
A light hearted look through 7 of the key mistakes and pitfalls that can befall Gophers both new and seasoned alike, and how to hopefully avoid them!
Zero Trust Security for your APIs - Akshata Sawant
Переглядів 7659 місяців тому
Are you a mid-level developer or an architect who’s curious about API Security and how to achieve it? In that case, we’re excited to help!! As you already know APIs are the building blocks of your application network. They are the medium of communication and participate in a lot of data transactions. As per Gartner’s report, API abuse will be the most frequent vector attack, and it’s quite evid...
The context package internals - Damiano Petrungaro
Переглядів 4,8 тис.9 місяців тому
This talk dives into the context types implementation provided by the standard library as part of the context package, the data structure used, and how it manages cancellations and deadlines in your applications.
State of the Go Nation! - Cameron Balahan
Переглядів 6959 місяців тому
Go has come a long way in recent years; From the IDE to package management to changes in the language itself, Go today provides a more productive, coherent experience than ever before. In this talk, we'll review the last several years of advancements in the Go language and the Go toolchain, as well as how the Go team leverages its portfolio of projects to create complete, developer-centric solu...
Efficient Debugging and Logging with OpenTelemetry in Go - Konstantin Ostrovsky
Переглядів 6 тис.9 місяців тому
We use OpenTelemetry extensively at Torq. In fact we are tracing 100% of our traffic. We started building the product with the idea in mind that we dislike logs and want to use them as little as possible. Since then we have grown to 30 engineers and everyone is in love with OpenTelemetry. We use it during development and to debug issues in production. We have automations built around it, specia...
The Adventurer’s Guide to Forking the Go Runtime - Dominic Black
Переглядів 8629 місяців тому
It is generally seen as a scary thing to do: modifying the Go runtime. However, by creating a rolling fork, we can add functionality such as distributed tracing to regular Go applications without needing modifications to the applications or the library code they use. In this talk, we walk through adding new functionality to Go, starting by showing how Go’s tooling makes it simple to create and ...
Boosting Test Coverage for Microservices - Laura Vuorenoja
Переглядів 3179 місяців тому
Unit tests are the bread and butter of any project's quality assurance process. We software developers have been used to writing them and measuring code coverage in our continuous integration pipelines for years. There is tooling that helps us find untested areas, records the coverage percentages, and notifies us if the changes cause a drop in the test scope. Still, one can not test all feature...
Make developers fly; Principles for platform engineering - Mahavir Teraiya
Переглядів 4269 місяців тому
How can your company help developers to fly, but not crash down? The answer is platform engineering, which is the discipline of building self-service internal developer platforms (IDPs) to simplify software delivery for product teams. In this talk, you will learn how platform engineering evolved from the DevOps movement and what principles and best practices make a good implementation. Finally,...
Incident Management - Talk the Talk, Walk the Walk - Hila Fish
Переглядів 2269 місяців тому
Incident management can be challenging and throw you curveballs with unexpected issues, resulting in data loss, downtimes, and overall money & hours of sleep going to waste, BUT! There are practical things you could do to make it a smoother process and handle it better. In this talk, Hila will cover the proactive ways you could take and incorporate into your day-to-day routine, in order to prep...
How NOT to Write a Test in Go - Amir Malka
Переглядів 1,4 тис.9 місяців тому
How NOT to Write a Test in Go - Amir Malka
Understanding the Go Compiler - Jesús Espino
Переглядів 2,6 тис.9 місяців тому
Understanding the Go Compiler - Jesús Espino
Fun with Generics - Daniela Petruzalek
Переглядів 9879 місяців тому
Fun with Generics - Daniela Petruzalek
Go security pitfalls; 2 lessons from the battlefield at Grafana Labs - Jeremy Matos
Переглядів 3689 місяців тому
Go security pitfalls; 2 lessons from the battlefield at Grafana Labs - Jeremy Matos
GO Quiz - Miki Tebeka
Переглядів 5829 місяців тому
GO Quiz - Miki Tebeka
The Hacker's Guide to JWT Security - Patrycja Wegrzynowicz
Переглядів 8589 місяців тому
The Hacker's Guide to JWT Security - Patrycja Wegrzynowicz
Learn how debuggers work by building your own one - Sayani Bhattacharjee
Переглядів 3,1 тис.9 місяців тому
Learn how debuggers work by building your own one - Sayani Bhattacharjee
Logic Programming in Go - Walter Schulze
Переглядів 1,2 тис.9 місяців тому
Logic Programming in Go - Walter Schulze
Monolith, Microservices or Both: Modern application development using Service Weaver - Robert Grandl
Переглядів 2,9 тис.9 місяців тому
Monolith, Microservices or Both: Modern application development using Service Weaver - Robert Grandl
Fun with Algorithms and Data Structures - Beth Anderson
Переглядів 2,1 тис.9 місяців тому
Fun with Algorithms and Data Structures - Beth Anderson
gogoprotobuf: How NOT to run an open source project - Walter Schulze
Переглядів 8 тис.Рік тому
gogoprotobuf: How NOT to run an open source project - Walter Schulze
Leading in Tech - Michael Cullum
Переглядів 1,6 тис.Рік тому
Leading in Tech - Michael Cullum
Causal's 1000x Spreadsheet; Performance beyond profiling - Angad Nadkarni
Переглядів 2,8 тис.Рік тому
Causal's 1000x Spreadsheet; Performance beyond profiling - Angad Nadkarni
Dreaming of high performance- a story about DORA metrics and Go - Catarina Bombaca
Переглядів 1,1 тис.Рік тому
Dreaming of high performance- a story about DORA metrics and Go - Catarina Bombaca
From Service to Platform- A Ranking System in Go - Konrad Reiche
Переглядів 2,6 тис.Рік тому
From Service to Platform- A Ranking System in Go - Konrad Reiche

КОМЕНТАРІ

  • @williamgilmore2226
    @williamgilmore2226 4 дні тому

    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

  • @derdere7803
    @derdere7803 7 днів тому

    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.

  • @sebas11tian
    @sebas11tian 13 днів тому

    Instead of watching this look for even freeman's 2018 presentation.

  • @aleksandrkravtsov8727
    @aleksandrkravtsov8727 18 днів тому

    Sadly but "Golang manages memory with with memory management mechanisms, go and learn them somewhere else" is all you will get from this video

  • @nexovec
    @nexovec Місяць тому

    great talk.

  • @zzFluke
    @zzFluke Місяць тому

    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!"

  • @Strawberry_Htet
    @Strawberry_Htet 2 місяці тому

    I thought this talk will go deep dive into GC. This video only touches the high level concepts.

  • @gpltaylor
    @gpltaylor 2 місяці тому

    great video with a clean and clear explanation of LSPs. Shame about the volume, but I was able to crank it up to 11 and squint (squinting helps you hear)

  • @gemini_537
    @gemini_537 3 місяці тому

    Gemini: This video is about the Language Server Protocol (LSP) which is a protocol that defines communication between a text editor and a programming language. The speaker, Adrian Hesketh, goes over the details of the protocol and how to implement it to build a language server. Here are the key points covered in the video: What is LSP: LSP defines the communication protocol between a text editor and a programming language. It enables features like autocompletion, goto definition, jump to diagnostics, and formatting. Messages: Communication between the client (text editor) and server (language server) happens through messages. These messages are formatted according to the JSON RPC specification and include headers, content length, and the message body. Requests and Responses: The client can send requests to the server to get information or perform actions. The server responds back with a response message. Notifications: The server can send notifications to the client to inform about changes or errors. For example, the server might send a notification to the client about diagnostics errors found in the code. Initialization: When the client and server start communication, they go through an initialization handshake. During the handshake, the client informs the server about what capabilities it has and the server informs the client about its capabilities. Building a language server: The speaker walks through the steps involved in building a language server. This includes handling requests and responses, handling notifications, and building parsers to understand the structure of the code. Libraries and tools: The speaker also mentions some libraries and tools that can be helpful when building a language server. These include libraries for parsing code, implementing the LSP protocol, and building language extensions for editors.

  • @robertfletcher8964
    @robertfletcher8964 3 місяці тому

    08:00 isn't a leak/bug. thats the end of the program, the memory is about to be automatically de-allocated.

  • @rpanda_old
    @rpanda_old 3 місяці тому

    white theme vscode surprisingly looks really comfortable

  • @AaronWanzagiro
    @AaronWanzagiro 3 місяці тому

    Where can we download the presentation slides?

  • @AndrewWPhillips
    @AndrewWPhillips 3 місяці тому

    Nice talk though I am much more interested in your `templ` package than Go LSP. (I appreciate the segue of extending the Go LSP for templ. :) BTW Just a small thing near the start: the mention of `ls` is confusing (more so for Windows Gophers :). `ls` does not use stdin, but *does* write to stdout. Though I guess when you type `ls` it is going to stdin of the shell you are using.

  • @brashcrab
    @brashcrab 3 місяці тому

    fish_head.000004 0:19

  • @dgethings
    @dgethings 4 місяці тому

    Incredible you covered so much so clearly in an hour. Thank you

  • @klamberext
    @klamberext 5 місяців тому

    This is the stuff I'm here for. Very good talk.

  • @devigupta2487
    @devigupta2487 5 місяців тому

    As a first timer well delivered... Keep it up.

  • @a0um
    @a0um 5 місяців тому

    Please, next time increase the font size of the slides to use all available space!

  • @SpotAllen
    @SpotAllen 5 місяців тому

    Great talk. Production fail. 😌

  • @rednafi
    @rednafi 6 місяців тому

    The talk is probably good; if you could actually read the slides. Who thought slapping wide bars of static content was a good idea?

  • @cristophermoreno2290
    @cristophermoreno2290 6 місяців тому

    👉 TEMPL @40:43

  • @ronminnich
    @ronminnich 7 місяців тому

    This is interesting material. I'm surprised at the incredible waste of space on the screen, in the lower right and upper left, that result in most of the important text being unreadable. I would like to see 50 minutes of the material, and I would be fine with 1 minute of the Gophercon UK /jetbrains ad in the top left, and the author's name and picture in the lower right. But I doubt you need 50m of that static content, especially when it makes the actual presentation almost unreadable 😞

    • @TheDiveO
      @TheDiveO 6 місяців тому

      fully agreed; on a tablet I can go fullscreen and then zoom in using two fingers to make most of the botched resolution. unfortunately, this terrible layout seems to become en vogue now, uck.

  • @AnkitChauhan-rt3zg
    @AnkitChauhan-rt3zg 7 місяців тому

    Super cool 🎉

  • @ferripradana4265
    @ferripradana4265 7 місяців тому

    Fresh From THE Oven

  • @Gruby7C1h
    @Gruby7C1h 7 місяців тому

    Great talk, shame that the audio is so low.

  • @mateuszm6162
    @mateuszm6162 8 місяців тому

    Hmm I actually hoped for some GC internals in Go; this presentation gives a high level overview and only touches multiple topics.

  • @invisibleinvisible83
    @invisibleinvisible83 8 місяців тому

    Thank you 🙏🏻 🌹

  • @invisibleinvisible83
    @invisibleinvisible83 8 місяців тому

    Thank you 🙏🏻

  • @RusinovGo
    @RusinovGo 8 місяців тому

    presentation is not readable (

  • @user-vt4jc6wq2s
    @user-vt4jc6wq2s 8 місяців тому

    Great talk! Thanks!

  • @kjp76
    @kjp76 8 місяців тому

    I couldn't deduce it from the presentation or read it quickly from the source code. Can I apply a group containing a group?

  • @linearz
    @linearz 8 місяців тому

    Please fix the sound 🙏

  • @matthiasendler7268
    @matthiasendler7268 8 місяців тому

    Nice talk! I learned somethings.... Thanks! :)

  • @brod515
    @brod515 8 місяців тому

    like everyone said. the audio needs addressing.

  • @LLGilad
    @LLGilad 8 місяців тому

    Improve sound please

  • @DarkoLuketic
    @DarkoLuketic 9 місяців тому

    Also SPEAK LOUDER, I can barely understand anything

  • @DarkoLuketic
    @DarkoLuketic 9 місяців тому

    I just want to know how I can integrate templ with Jetbrains products. The video doesn't have sections

  • @bangonkali
    @bangonkali 9 місяців тому

    Grains was mentioned. 😅 Awesome project.

  • @PascaldeKloe
    @PascaldeKloe 9 місяців тому

    You're not supposed to LOL when whatching alone, yet I did ... a lot. 👏 Might actually use this when stuck with low hopes.

    • @awalterschulze
      @awalterschulze 8 місяців тому

      Ha ha :D so glad to hear that you laughed at home, thank you for sharing <3

  • @speedTurtle
    @speedTurtle 9 місяців тому

    A fabulous, fabulous talk. I'll be rewatching this and experimenting with the examples.

  • @victoryosikwemhe2280
    @victoryosikwemhe2280 9 місяців тому

    Nice talk. But the audio is so low without headsets

  • @0777deep
    @0777deep 9 місяців тому

    Great one Sayani! Loved it.

  • @binitagupta
    @binitagupta 9 місяців тому

    😍😍😍 Super proud of you Sayani!

  • @rajhasan6984
    @rajhasan6984 9 місяців тому

    জুই জুই 🔥🔥🔥

  • @nancychauhan397
    @nancychauhan397 9 місяців тому

    Great talk Sayani 👏

  • @PraveenKumar-wx5yt
    @PraveenKumar-wx5yt 9 місяців тому

    Arnav sent me here to drop a comment :)

  • @may_9819
    @may_9819 9 місяців тому

    No audio😥

  • @jespinog
    @jespinog 9 місяців тому

    I have received a comment in other place about the talk and about the accuracy of the content, so I want to expose it here. This talk was prepare for 1.19 and then migrated to 1.20. During that process I miss the fact that the IR generation is no longer done through irgen by default, the default has changed to unified IR in 1.20. That is an interesting detail to take into account, but in my opinion the value of the talk is the general overview of the go compiler itself. But if anybody was specially interested on the IR generation, my talk can be misleading in that point.

  • @damianopetrungaro
    @damianopetrungaro 9 місяців тому

    Amazing talk!

  • @Quality-Doggo
    @Quality-Doggo 9 місяців тому

    Definetly one of the highlights, great talk!