Skip to content

Instantly share code, notes, and snippets.

View ronanrodrigo's full-sized avatar
🚀
Go!

Ronan Rodrigo Nunes ronanrodrigo

🚀
Go!
View GitHub Profile
{
"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
"basics": {
"name": "Ronan Rodrigo Nunes",
"label": "Principal Software Engineer @ PicPay",
"image": "https://gravatar.com/userimage/15454223/01d92bc226ea63088647a09546674255.jpeg?size=512",
"email": "[email protected]",
"phone": "+55 47 999 130 202",
"url": "http://ronanrodrigo.dev",
"summary": "Seasoned Software Engineer with a commitment to excellence, I bring over 15 years of programming expertise. As a dedicated professional, I've transitioned seamlessly from Backend and Frontend roles and have specialized in mobile development. Now working on the Platform team at PicPay, holding the position of Principal Software Engineer. \n\nMy journey began in the early 2000s scripting for IRC Clients, and over the years, I've honed my skills through diverse experiences. An advocate of software craftsmanship, I thrive on creative solutions and continually seek alternatives in my pursuit of ex
var channels = "";
ytInitialData
.contents
.twoColumnBrowseResultsRenderer
.tabs[0]
.tabRenderer
.content
.sectionListRenderer
.contents[0]
.itemSectionRenderer
@ronanrodrigo
ronanrodrigo / zoom.sh
Last active April 16, 2020 18:41
This way, a meeting notification through Zoom Client, will appear 1 minute before meeting start. This script is necessary because through the UI settings, this custom threshold isn't available to choose (only 5, 10 and 15).
# 1. Enable Google calendar sync
# 1.1. Access https://zoom.us/profile;
# 1.2. Enable "Calendar and Contact Integration";
# 2. Quit Zoom client;
sqlite3 ~/Library/Application\ Support/zoom.us/data/zoomus.db << EOF
UPDATE zoom_kv SET value = "true" WHERE key = "com.zoom.conf.enable.remind.meeting.time";
UPDATE zoom_kv SET value = 1 WHERE key = "com.zoom.conf.threshold.to.remind.meeting.time";
SELECT key,value FROM zoom_kv WHERE key = "com.zoom.conf.enable.remind.meeting.time";
SELECT key,value FROM zoom_kv WHERE key = "com.zoom.conf.threshold.to.remind.meeting.time";
@ronanrodrigo
ronanrodrigo / FoodDetailViewControllable.swift
Last active September 10, 2019 06:45
Uncoupled ViewControllers using Storyboard and UIStoryboardSegue
protocol FoodDetailViewControllable {
func bind(viewModel: FoodViewModel)
}
class FoodDetailViewController: UIViewController, FoodDetailViewControllable {
func bind(viewModel: FoodViewModel) {
title = viewModel.name
}
// Sources/ViewState.swift
// Given an enum with some cases
protocol EnumPoetry {}
enum ViewState<T>: EnumPoetry {
case start(T)
case loading
case completed(Int, String)
}
@ronanrodrigo
ronanrodrigo / 1.swift
Last active June 2, 2020 17:39
Different way to test reference cycle
import XCTest
final class Person {
var dogs: [Dog] = [] {
didSet { dogs.forEach { $0.onBark = { [weak self] in self?.feed() } } }
}
func feed() { }
}
### Keybase proof
I hereby claim:
* I am ronanrodrigo on github.
* I am ronanrodrigo (https://keybase.io/ronanrodrigo) on keybase.
* I have a public key ASBl5GWJBlc-BKcgVvsvoma7zEi2-aULh8_3Qcga6rYBqQo
To claim this, I am signing this object:
@ronanrodrigo
ronanrodrigo / 0_reuse_code.js
Created August 1, 2017 16:23
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
{"down": true}
@ronanrodrigo
ronanrodrigo / app_version.py
Last active May 12, 2017 12:30
Get app version @ Info.plist
import os
import plistlib
def main():
file = os.path.expanduser('path/to/Info.plist')
if os.path.exists(file):
plist_file = plistlib.readPlist(file)
print("{0} ({1})".format(plist_file['CFBundleShortVersionString'], plist_file['CFBundleVersion'])) # Ex. 1.0 (0)
else:
print('File %s does not exist' % file)