Talks
Talks and teaching
9 August 2024 Software Engineering Academy: Database Instructor · COMPFEST 16, Fasilkom UI · online
An online class on database fundamentals, ending on how to choose between them for a given problem.
- Types and paradigmsData stores versus databases; SQL, NoSQL and NewSQL; key-value, wide-column, document, relational and graph.
- PrinciplesACID properties and the CAP theorem.
- DesignNormalisation, atomicity, indexing, and picking a paradigm that fits.
26 November 2023 Stepping Into the Realm of Yugabyte Yugabyte Community · People x Nakama · @Tokopedia Tower
Distributed databases from first principles, then what Yugabyte does about them.
- FundamentalsDistributed scale, network partitions and the CAP theorem.
- YugabytePostgreSQL compatibility in YSQL, horizontal write scalability, all-active nodes, fault tolerance and full ACID compliance.
- APIsYSQL as fully relational SQL, YCQL as semi-relational and tuned for throughput.
22 May 2023 Distributed Databases General Transaction Platform sharing session · @Tokopedia Tower
Where NewSQL came from, and why "SQL or NoSQL" stopped being the question.
- ComparisonSQL versus NoSQL, and what NewSQL adds.
- DistributionHow a distributed database actually distributes.
- ResilienceReplication factor and fault tolerance.
5 May 2023 Automation Testing General Transaction Platform sharing session · @Tokopedia Tower
The kinds of testing a backend team should know about, and the tools that make each cheap enough to actually do.
- CoverageTypes of testing, and where each earns its keep.
- Load testingLocust, and building in-house automation on its API.
28 October 2022 Advanced Golang 101, part 2 Order Management Platform sharing session · @Tokopedia Tower
How a Go binary fails, how to avoid it, and how to recover when it happens anyway.
- TopicsPanic and recover, fatal, and mutexes.
7 October 2022 Advanced Golang 101 Order Management Platform sharing session · @Tokopedia Tower
Concurrency in Go, and the context package that makes it manageable.
- TopicsGoroutines and using them correctly; context, and what it is actually good for.