An open API service indexing awesome lists of open source software.

https://github.com/quasilyte/talks

A collection of slides, notes and other related stuff from talks I have given.
https://github.com/quasilyte/talks

archive articles go golang pdf slides talks

Last synced: 9 months ago
JSON representation

A collection of slides, notes and other related stuff from talks I have given.

Awesome Lists containing this project

README

          

# quasilyte talks

My slides for public talks, workshop materials plus articles in both English and Russian.

## Meetup/Conference talks

| Topic | Date | Location |
|---|---|---|
| [Go gamedev: XM music](talks/2024-27-Feb-tbilisi) | February, 2024 | Tbilisi (Georgia) |
| [Zero alloc pathfinding](https://speakerdeck.com/quasilyte/zero-alloc-pathfinding) [:movie_camera:](https://www.youtube.com/watch?v=X8C-R-jDkG4) | September 27, 2023 | Online |
| [Ebitengine Ecosystem Overview](https://speakerdeck.com/quasilyte/ebitengine-ecosystem-overview) [:movie_camera:](https://www.youtube.com/watch?v=0Fd_Ijku9Sc) | January 31, 2023 | Online (Russia) |
| [Go gamedev patters](https://speakerdeck.com/quasilyte/go-gamedev-patterns) [:movie_camera:](https://www.youtube.com/watch?v=YWx80V_ccYk) | December, 2022 | Online (International) |
| [Working with CPU profiles data](talks/2022-11-May-online) | May 11, 2022 | Online (Russia) |
| [quasigo interpreter](talks/2022-14-Apr-moscow) | Apr 14, 2022 | Moscow (Russia) |
| [profile-guided code analysis](talks/2022-5-Feb-kazan) | Feb 5, 2022 | Kazan (Russia) |
| [KPHP FFI](talks/2021-14-Nov-innopolis) | Nov 14, 2021 | Innopolis (Russia) |
| [Parsing and Go](talks/2021-5-Aug-online) [:movie_camera:](https://www.youtube.com/watch?v=Rwa66EpAzbk) | Aug 5, 2021 | Online (Russia) |
| [Deterministic performance tests](talks/2021-29-May-online) [:movie_camera:](https://www.youtube.com/watch?v=ghri4bz_ybQ) | May 29, 2021 | Online (Russia) |
| [KPHP for CLI](talks/2021-15-May-kazan) [:movie_camera:](https://youtu.be/nr1883za8tM?t=247) | May 15, 2021 | Kazan (Russia) |
| [PHP Code -> Linter rules](talks/2020-24-Oct-online) [:movie_camera:](https://www.youtube.com/watch?v=wHebTmcHZgY) | October 24, 2020 | Online (Russia) |
| [Ruleguard vs Semgrep vs CodeQL](talks/2020-17-Oct-online) [:movie_camera:](https://www.youtube.com/watch?v=wCCeQC_A6b4) | October 17, 2020 | Online (Russian) |
| [Efficient VM with JIT in Go](talks/2020-11-Jul-online) | July 12, 2020 | Online (International) |
| [How to do regexp analysis](talks/2020-25-Apr-online) [:movie_camera:](https://www.youtube.com/watch?v=PO9A082Nqsk) | April 25, 2020 | Online (Russia) |
| [The Missing Static Type Ballad](talks/2019-7-Dec-yoshkarola) [:movie_camera:](https://www.youtube.com/watch?v=9cbuXRWR1_g) | December 7, 2019 | Yoshkar-Old (Russia) |
| [Applied Go code similarity analysis](talks/2019-7-Oct-moscow) [:movie_camera:](https://www.youtube.com/watch?v=WQB7pVtOFzw) | October 9, 2019 | Moscow (Russia) |
| [Finding catastrophic backtracking statically](talks/2019-28-Sep-vladivostok) [:movie_camera:](https://www.youtube.com/watch?v=xH2ClIIGN94) | September 28, 2019 | Vladivostok (Russia) |
| [Drawing gophers with Go](talks/2019-22-Sep-kazan) | September 2, 2019 | Kazan (Russia) |
| [phpgrep: syntax-aware code search](talks/2019-2-Aug-innopolis) [:movie_camera:](https://www.youtube.com/watch?v=34Rk4uLPn1A) | August 2, 2019 | Innopolis (Russia) |
| [NoVerify PHP linter](talks/2019-18-May-moscow) [:movie_camera:](https://www.youtube.com/watch?v=FQijPdVAnQw) | May 18, 2019 | Moscow (Russia) |
| [VK API from Go](talks/2019-27-Apr-nizhny) | April 27, 2019 | Nizhny Novgorod (Russia) |
| [Go goodies](talks/2019-5-Jan-kazan) [:movie_camera:](https://www.youtube.com/watch?v=ptCNC9lrg8U) | January 5, 2019 | Kazan (Russia) |
| [What I love in your open source Go projects](talks/2018-8-Dec-nizhny) | December 8, 2018 | Nizhny Novgorod (Russia) |
| [We need to rewrite everything in Go!](talks/2018-2-Dec-kazan) | December 2, 2018 | Kazan (Russia) |
| [Go inliner: past, present and the future](talks/2018-24-Nov-novosib) | November 24, 2018 | Novosibirsk (Russia) |
| [Efficient concurrency in Go](talks/2018-8-Nov-kazan) [:movie_camera:](https://www.youtube.com/watch?v=o4vd-lMRI54) | November 8, 2018 | Kazan (Russia) |
| [Efficient usage of Go data structures](talks/2018-6-Nov-kazan) [:movie_camera:](https://www.youtube.com/watch?v=kClQ7rM5uBY) | November 6, 2018 | Kazan (Russia) |
| [Go Inline Assembler: Dream or Reality](talks/2018-28-Sep-minsk) [:movie_camera:](https://www.youtube.com/watch?v=d_Vm05OaQYQ) | September 28, 2018 | Minsk (Belarus) |
| [Go static analysis](talks/2018-10-Sep-innopolis) [:movie_camera:](https://www.youtube.com/watch?v=6SDk8ibowW4) | September 10, 2018 | Innopolis (Russia) |
| [Why Go?](talks/2018-20-Aug-nizhny) [:movie_camera:](https://www.youtube.com/watch?v=eRgWQOUvm8Y) | August 20, 2018 | Nizhny Novgorod (Russia) |
| [Binary size optimizations in Go](talks/2018-31-May-innopolis) [:movie_camera:](https://www.youtube.com/watch?v=HpriPuIfrGE) | May 31, 2018 | Innopolis (Russia) |

## Workshops

| Topic | Date | Location |
|---|---|---|
| [Ruleguard workshop](workshops/2021-24-Apr-online) [:movie_camera:](https://www.youtube.com/watch?v=wZMgZNtKCm0&list=PLAjl-3QkinHvbgBKtIwlD2j3qqZ7iNOhE&index=2) | April 24, 2021 | Online (Russia) |
| [Go contributors workshop](workshops/2019-13-Apr-moscow) | April 13, 2019 | Moscow (Russia) |
| [Go contributors workshop](workshops/2018-23-Nov-novosib) | November 23, 2018 | Novosibirsk (Russia) |
| [Hacktoberfest-2018](workshops/2018-13-Oct-innopolis) | October 13, 2018 | Innopolis (Russia) |

## Articles

### [quasilyte.dev/blog](https://quasilyte.dev/blog) (eng)

| Topic | Date |
|---|---|
| [Zero alloc pathfinding in Go](https://quasilyte.dev/blog/post/pathfinding/) | October 13, 2023 |
| [Generations-based array](https://quasilyte.dev/blog/post/gen-map/) | September 22, 2023 |
| [Game development in Go: Ebitengine shaders](https://quasilyte.dev/blog/post/ebitengine-shaders/) | May 3, 2023 |
| [A simpler scheme than SSA](https://quasilyte.dev/blog/post/naive-ssa-alternative/) | March 26, 2022 |
| [Profile-guided code search](https://quasilyte.dev/blog/post/profile-guided-gogrep/) | December 21, 2021 |
| [YAML is your JSON5](https://quasilyte.dev/blog/post/yaml5/) | September 10, 2020 |
| [gogrep: structural search and replace](https://quasilyte.dev/blog/post/gogrep/) | June 8, 2020 |
| [Let's Go write Pratt parsers!](https://quasilyte.dev/blog/post/pratt-parsers-go/) | March 27, 2020 |
| [ruleguard: dynamic inspection rules for Go](https://quasilyte.dev/blog/post/ruleguard/) | January 9, 2020 |
| [Step driven evaluation](https://quasilyte.dev/blog/post/step-pattern/) | February 27, 2019 |
| [log.Fatal vs log.Panic](https://quasilyte.dev/blog/post/log-fatal-vs-log-panic/) | January 8, 2019 |
| [Go compiler: SSA optimization rules description language](https://quasilyte.dev/blog/post/go_ssa_rules/) | June 30, 2018 |
| [Go AVX-512 support](https://quasilyte.dev/blog/post/go-avx512/) | June 8, 2018 |
| [Disassembling Go AVX-512](https://quasilyte.dev/blog/post/disassembling-go-avx512/) | June 8, 2018 |
| [Dispatch tables in Go asm](https://quasilyte.dev/blog/post/go-asm-dispatch-tables/) | May 31, 2018 |
| [Goism objects layout model](https://quasilyte.dev/blog/post/goism-objects-layout-mode/) | January 14, 2018 |
| [Writing Emacs Lisp compiler intrinsics](https://quasilyte.dev/blog/post/writing-emacs-lisp-compiler-intrinsics/) | September 23, 2017 |
| [Go assembly language complementary reference](https://quasilyte.dev/blog/post/go-asm-complementary-reference/) | September 20, 2017 |
| [Go nested functions and static locals](https://quasilyte.dev/blog/post/go-nested-functions-and-static-locals/) | September 18, 2017 |
| [Path to convenient C FFI in Go](https://quasilyte.dev/blog/post/cgo-funcall/) | August 18, 2017 |
| [RISC-V: custom instruction and its simulation](https://quasilyte.dev/blog/post/riscv32-custom-instruction-and-its-simulation/) | June 21, 2017 |
| [Emacs Lisp multi return values](https://quasilyte.dev/blog/post/elisp-multi-return-values/) | May 19, 2017 |

### [habr.com](https://habr.com/ru/users/quasilyte/posts/) (rus)

| Topic | Date |
|---|---|
| [Делаем RPG на Go: часть 0.5](https://habr.com/ru/articles/799497/) | March 12, 2024 |
| [Делаем RPG на Go: часть 0](https://habr.com/ru/articles/791192/) | February 3, 2024 |
| [Самый быстрый поиск пути на Go без аллокаций и СМС](https://habr.com/ru/articles/766882/) | October 11, 2023 |
| [Битва за производительность: SparseMap vs GenerationsMap](https://habr.com/ru/articles/762984/) | September 23, 2023 |
| [Разработка игр на Go: шейдеры](https://habr.com/ru/articles/730848/) | April 22, 2023 |
| [Улучшенный benchstat для оптимизирующих гоферов](https://habr.com/ru/post/703294/) | December 3, 2022 |
| [Текстовые шаблонизаторы и их реализация](https://habr.com/ru/company/vk/blog/698532/) | November 29, 2022 |
| [Встраиваем Lua в PHP через FFI](https://habr.com/ru/company/vk/blog/681400/) | August 23, 2022 |
| [Используем SQLite в KPHP и PHP через FFI](https://habr.com/ru/post/653677/) | March 11, 2022 |
| [Анализируем bound checks в Go по CPU профилю](https://habr.com/ru/post/651203/) | February 13, 2022 |
| [Ускоряем hugo на 20% простым изменением в пакете reflect](https://habr.com/ru/post/645727/) | January 14, 2022 |
| [profile-guided поиск по коду](https://habr.com/ru/post/596755/) | December 21, 2021 |
| [gocorpus: открытый корпус Go кода, поддерживающий запросы](https://habr.com/ru/post/593349/) | December 3, 2021 |
| [Создаём игру на KPHP с помощью FFI и SDL](https://habr.com/ru/company/vk/blog/581238/) | November 19, 2021 |
| [Заметки KPHP: тестирование и бенчмарки](https://habr.com/ru/company/vk/blog/572424/) | August 24, 2021 |
| [Релиз ruleguard v0.3.0](https://habr.com/ru/post/538930/) | January 27, 2021 |
| [Статический анализ: baseline файлы vs diff](https://habr.com/ru/post/508094/) | June 25, 2020 |
| [gogrep: структурный поиск и замена Go кода](https://habr.com/ru/post/505652/) | June 7, 2020 |
| [Парсеры Пратта для чайников](https://habr.com/ru/post/494316/) | March 27, 2020 |
| [Что нужно знать, если вы хотите вызывать Go функции из ассемблера](https://habr.com/ru/post/489482/) | February 22, 2020 |
| [ELFийские трюки в Go](https://habr.com/ru/post/482392/) | December 29, 2019 |
| [ruleguard: динамические проверки для Go](https://habr.com/ru/post/481696/) | December 26, 2019 |
| [Как добавить проверки в NoVerify, не написав ни строчки Go-кода](https://habr.com/ru/company/vk/blog/473718/) | November 7, 2019 |
| [Ищем баги в PHP коде без статических анализаторов](https://habr.com/ru/post/464893/) | August 26, 2019 |
| [Дефективное встраивание функций в Go](https://habr.com/ru/post/438636/) | February 5, 2019 |
| [Сообщество Go в Казани и наши митапы](https://habr.com/ru/post/433916/) | December 21, 2018 |
| [Путешествие gocritic'а в прошлое](https://habr.com/ru/post/432848/) | December 11, 2018 |
| [Go lintpack: менеджер компонуемых линтеров](https://habr.com/ru/post/430196/) | November 17, 2018 |
| [Контроль консистентности кода в Go](https://habr.com/ru/post/429354/) | November 10, 2018 |
| [bytes.Buffer в Go: оптимизации, которые не работают](https://habr.com/ru/company/intel/blog/422447/) | September 6, 2018 |
| [Ускорение конкатенации строк в Go своими руками](https://habr.com/ru/post/417479/) | July 18, 2018 |
| [Контрибьютим в Go с помощью статического анализатора go-critic](https://habr.com/ru/post/416903/) | July 12, 2018 |
| [Компилятор Go: язык описания правил SSA оптимизаций](https://habr.com/ru/post/415771/) | June 30, 2018 |
| [go-critic: самый упрямый статический анализатор для Go](https://habr.com/ru/post/414739/) | June 21, 2018 |
| [Go contribution workshop в России](https://habr.com/ru/post/413815/) | June 11, 2018 |
| [Go 1.11: AVX-512 со вкусом Go](https://habr.com/ru/post/359132/) | June 8, 2018 |
| [GCCGO против «стандартной» реализации](https://habr.com/ru/company/intel/blog/348230/) | February 20, 2018 |
| [Альтернатива Emacs Lisp'у](https://habr.com/ru/post/331134/) | June 18, 2017 |