Keynotes
Conference Keynote
Talk Title: Rails Performance Issues and Solutions
Ruby on Rails today has various kinds of performance issues. Request handling is slow, routes resolution is slow, Active Record is slow, view rendering is slow, building JSON is slow, I18n is slow, booting the app is slow, testing is slow, etc etc. In this session, we're going to dive into a dozen of possible performance hotspots in Rails, and deeply investigate the approaches and techniques for optimizing each of them.
Bio:
Rails committer. Ruby committer. amatsuda on GitHub. Creator of Kaminari. Founder of Asakusa.rb. Chief organizer of RubyKaigi. A Ruby Hero in Tokyo
Conference Keynote
Talk Title: Hiring Juniors
The best talent of today is already working for someone else. Hiring them involves aggressive poaching, which isn't sustainable in the long-term. Let's look at how companies around the world are growing their own best and brightest and what's worked for them.
Bio:
Ryan is the Junior Engineering Program Lead at Culture Amp and it's his responsibility to mentor new developers into the confident and capable developers of the future.
He has written almost 10 technical books with over 15,000 copies sold world-wide. He loves teaching and mentoring developers through his work and strives to help as many people as possible.
Speakers
Title: Writing DNS over HTTPS Server in Ruby
What happens after someone typed URL into a web browser, or when an application sends a request to the API endpoint for the first time? As a software engineer or web developer, it would be nice if we knew how domain name lookup and HTTP work, an important part on which the World Wide Web was built. Meanwhile, with privacy concerns arise, DNS over HTTPS (DoH) has gained popularity lately. Its use can prevent the recording and modification of information about the destination host by a third party. Many browsers and HTTP clients, such as Firefox and cURL, can already use DoH. In this talk, we will learn how the process of domain name lookup and HTTP server works by writing a DoH server in Ruby.
Title: Trying Sorbet for the first time
We have developed a data pipeline application using Ruby with a goal of helping clients automate synchronizing their Sales Report from Accounting System to CRM. This talk shares experience of first time adopting Sorbet in our data pipeline application. The codebase start from scratch with typechecker enabled. The talk will describe: - getting started with Sorbet - community support - lesson learned The talk doesn't require any previous knowledge of types and should be accessible to a broad audience.
Title: Digesting MRI by Studying Alternative Ruby Implementations
Pointers, managing memory and static typing - writing C code is hard! However, most programming languages, including Matz's Ruby Interpreter (MRI), are implemented in a low level programming language. So you think without knowing these concepts, you can not contribute to Ruby? Wrong! Although MRI is implemented in C, fortunately there are Ruby's in Java, Go and even Ruby itself. If you ever wanted to learn about Ruby internals without being a C expert, this talk is for you. Join me on my journey of re-implementing hash maps in JRuby, breaking bundler and actually learn to write (some) C code.
Title: How Database Index Optimize Your Query for Dummies
Leaky abstraction is a case when something goes wrong with abstraction that we use, but we don’t know why. Most likely it happens simply because we forget or too lazy to understand the system behind the abstraction. This case is also happen in query optimization especially when it involves index. Using Ruby ORM such as ActiveRecord or Sequel is convenient. It does a good job to abstract how query planner, and storage engine actually works, but sometimes it creates misconception that results into slow queries or inefficient use of index. On the other hand trying to understand how index actually implemented in various storage engine is quite challenging. Therefore by using simple mental map that visualizes index as some variation of sorted hash-map, we will discuss BTree database indexing in InnoDB Engine. Once we understand the fundamental concept of database index, then we will discuss various query example and try to analyze which query is inefficient and why.
Title: Introducing Hanami and Hanami as Ruby on Rails alternative
What is Hanami? Can Hanami compete with Ruby on Rails as the most famous web-framework in Ruby ecosystem? Why you should start to try and use Hanami? In this talk, I will discuss this thing and my opinion about this.
Title: Motor-on-voice, an experiment using mruby/c and Sinatra
The usage of smart assistants is rapidly increasing day by day. Smart assistants can keep things simple and easily accessible. Most importantly it can reduce effort and time consumption. Nowadays it is not necessary to own a smart device like Alexa Echo, Google Home or any other. A cheaper option to install it on our phone is available for free now; it has improved the portability factor as well. This is an experiment to trigger motor and check the motor's running status by using voice commands. API’s required for Alexa Skill is developed using Sinatra, a Ruby web application framework and Motor operations are implemented by using mruby/c
Title: State of the art of managing assets in the new Rails world
Rails 6 will use webpacker to manage JavaScript code instead of asset pipeline aka sprockets. We have lot of questions to answer. Why webpacker? What does it bring to the table? What about my old code? Is Webpacker same as the old asset pipeline? In this talk we will unravel this mystery and see ways to manage our same old JavaScript in a whole new way.
Title: Ruby: The Reality Stone
This hidden gems will save your life; One of six Infinity Stone that could shape your reality, because everything will be your object you can manipulate. Legend has it the stone called Ruby. Ruby's flexibility and expressiveness makes it great for performing signature moves (DSLs) and forging armors (frameworks) and for making spells (writing code) with very little boilerplate (no gauntlet needed). And after more than a decade, Ruby is still the easiest language you can learn. So prepare your minecart, put it on Rails, and get your own Ruby: The Reality Stone.
Ticket
Get TicketsVenue
SCTV Hall, Senayan City
Central Jakarta, Jakarta, Indonesia
Schedules
*Schedules may changed
Committee
Indonesia Ruby Community (ID-Ruby) was established in 2001, once started as a Yahoo mailing list group. Following Ruby’s increasing trend through the years, ID-Ruby has been growing and holding monthly meetups. We are active in Slack (500+ members) and Telegram (800+ members).
Conduct
Conference Code of Conduct
All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.
Sponsors
Interested in being RubyConf Indonesia sponsors? Checkout out our Sponsorship Prospectus here!.