sexta-feira, 10 de julho de 2020

Estou no medium

Olá povo,

Se você vem me seguindo aqui no blog, saiba que ele está abandonado porque migrei todas as postagens para o Medium.

Então me sigam por lá!

4br4ç05,
nglauber

terça-feira, 10 de julho de 2018

Como eu aprendi (um pouco sobre) RXJava

Olá povo,

Sempre que eu vejo um artigo legal sobre algo que estou interessado e não tenho tempo de ler naquele momento, eu mando um email pra mim mesmo com o link para ler depois. Eu sei, isso antigo, mas eu sou velho e funciona pra mim ;)
Resolvi compartilhar com vocês uma lista de links sobre RXJava que me ajudaram a entender um pouquinho sobre o assunto.

Android MeetUp 3 Anos - Programação Reativa Funcional com RxJava (Ubiratan Soares)
https://www.youtube.com/watch?v=0FpphC6hL5I

Refactoring for RxJava (Ubiratan Soares)
https://www.youtube.com/watch?v=391H38-7JYk

Rxify - a simple spell for complex RxJava operators (Garima Jain)
https://speakerdeck.com/ragdroid/rxify-a-simple-spell-for-complex-rxjava-operators

Exploring RxJava 2 for Android (Jake Wharton)
https://www.youtube.com/watch?v=htIXKI5gOQU

5 Not So Obvious Things About RxJava (Jag Saund)
https://medium.com/@jagsaund/5-not-so-obvious-things-about-rxjava-c388bd19efbc

Migrating from RxJava 1.0 to RxJava 2.0 and Learn RxJava by Examples (Amit Shekhar)
https://blog.mindorks.com/migrating-from-rxjava1-to-rxjava2-5dac0a94b4aa

An Introduction to Functional Reactive Programming (Dan Lew)
http://blog.danlew.net/2017/07/27/an-introduction-to-functional-reactive-programming/

Grokking RxJava (Dan Lew)
http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/
http://blog.danlew.net/2014/09/22/grokking-rxjava-part-2/
http://blog.danlew.net/2014/09/30/grokking-rxjava-part-3/

How to make complex requests simple with RxJava in Kotlin (Tamás Kozmér)
https://blog.mindorks.com/how-to-make-complex-requests-simple-with-rxjava-in-kotlin-ccec004c5d10

Don't break the chain: use RxJava's compose() operator (Dan Lew)
http://blog.danlew.net/2015/03/02/dont-break-the-chain/

A Complete Guide To Learn RxJava (Amit Shekhar)
https://blog.mindorks.com/a-complete-guide-to-learn-rxjava-b55c0cea3631

Multithreading with RxJava (Pierce Zaifman)
https://android.jlelse.eu/multithreading-with-rxjava-dadddc4f7a63

Adopting RxJava on Airbnb Android (Felipe Lima)
https://academy.realm.io/posts/kau-felipe-lima-adopting-rxjava-airbnb-android/

Começando com ReactiveX no Android (Ashraff Hathibelagal)
https://code.tutsplus.com/pt/tutorials/getting-started-with-reactivex-on-android--cms-24387

Programação Reativa com RxAndroid (Pedro Di Moura)
https://speakerdeck.com/pedrodimoura/programacao-reativa-com-rxandroid

Replace AsyncTask and AsyncTaskLoader with rx.Observable – RxJava Android Patterns (Ross Hambrick)
https://stablekernel.com/replace-asynctask-and-asynctaskloader-with-rx-observable-rxjava-android-patterns/

RxJava cheat sheet, with a pinch of Android (Oleg Shelajev)
https://zeroturnaround.com/rebellabs/rxjava-cheat-sheet-with-a-pinch-of-android/

RXJava2 by Example (Victor Grazi)
https://www.infoq.com/articles/rxjava2-by-example

4br4ç05,
nglauber

quarta-feira, 20 de dezembro de 2017

Retrospectiva 2017

Olá povo,

Nos últimos anos tenho procurado escrever um post com a retrospectiva do ano que passou e esse ano não poderia ser diferente. O ano de 2017 foi bem mais calmo do que os dois ou três anteriores.
Em termos profissionais, nada mudou muito. Continuo na Mokriya, muito satisfeito com o trabalho home-office. Tive apenas mudanças de projeto e de cliente, mas nada muito drástico. Inclusive eu escrevi esse post aqui falando um pouquinho do trabalho remoto.
O que acelerou o ano foi a quantidade de palestras/eventos/viagens que fiz e que vou resumir rapidamente aqui pra vocês.

Aulas

Em 2016 parei de dar aulas na graduação e agora estou apenas ministrando aulas (quando convidado) em disciplinas de pós-graduação ou in-company. Esse ano só ministrei uma turma de pós graduação na FACISA em Campina Grande - PB. Turma muito boa e interessada.

Turma de pós-gradução em Mobile da FACISA

Palestras

Acho que esse foi o ano em que mais fiz palestras: 15 no total. Abaixo, listei os eventos com algumas fotos ;)

Android Meetup #6 GDG Recife (13/02)
Local: ThoughtWorks - Recife - PE
Palestra: Desenvolvimento moderno de aplicações Android

Hangout GDG Rio de Janeiro (25/05)
Local: On-line
Palestra: Constraint Layout

Aniversário de 4 anos do Meetup de Android do GDG São Paulo (10/06)
Local: Oxigênio Aceleradora - São Paulo - SP
Palestra: The world of Android Animations
Android Meetup 4 anos GDG São Paulo

The Developer's Conference (TDC) São Paulo (19 e 20/06)
Local: Universidade Anhembi Morumbi - São Paulo - SP
Palestra: Persistência de Dados no SQLite com Room
TDC São Paulo

GDG Recife Meetup I/O Recap (10/07)
Local: Centro de Informática da UFPE - Recife - PE
Palestra: Introdução ao Kotlin para Android

GDG Recife Tech Tour (22/07)
Local: Armazém da Criatividade - Caruaru - PE
Palestra #1: Turbinando o desenvolvimento Android com Kotlin
Palestra #2: Persistência de Dados no SQLite com Room
GDG Recife Tech Tour - Caruaru

Google Launchpad Build (05/08)
Local: TECNOPUC - Porto Alegre - RS
Palestra: Turbinando o desenvolvimento Android com Kotlin
Google Launchpad Build - PoA

Androidos (11 e 12/08)
Local: Unipê - João Pessoa - PB
Palestra: Turbinando o desenvolvimento Android com Kotlin
Androidos - João Pessoa

Google Agency Program (16/08)
Local: Google - São Paulo - SP
Palestra: Turbinando o desenvolvimento Android com Kotlin
Google São Paulo

Android Dev Conference (26/08)
Local: Hotel Pullman - São Paulo - SP
Palestra: Tudo que você precisa saber sobre Constraint Layout
Android Dev Conference

DevFest Maceió (23/09)
Local: Hotel Ritz Lagoa da Anta - Maceió - AL
Palestra: Turbinando o desenvolvimento Android com Kotlin
DevFest Maceió

DevFest Cerrado (30/09)
Local: Espaço Equatore - Goiânia - GO
Palestra: Turbinando o desenvolvimento Android com Kotlin
DevFest Cerrado

DevFest Paraná (11/11)
Local: SEBRAE - Maringá - PR
Palestra: Turbinando o desenvolvimento Android com Kotlin
DevFest Paraná

DevFest XP (09/12)
Local: InLoco - Recife - PE
Palestra: Desenvolvimento moderno de aplicações Android
DevFest XP em Recife

Os slides dessas palestras estão no meu slideshare ;)

Eventos

Participei de dois eventos sensacionais na Cracóvia (Polônia): o GDE Summit, que é o encontro anual dos GDEs (Google Developer Experts); e o Google Developer Days (GDD) Europe.
GDE Summit

GDD Europe

Aprendi muito nesses eventos e conheci e reencontrei muita gente bacana de todo o mundo por lá. Realmente foi uma experiência sensacional.

Passeios

Consegui duas mini-férias esse ano: uma em maio e outra dezembro, então deu para passear um pouquinho com minha esposa <3 p="">
Universal Studios - Orlando - EUA

Gramado - RS 

Consegui realizar um sonho pessoal de conhecer Londres. Infelizmente só pude passar dois dias, mas foi fantástico e muito marcante. Espero voltar lá com mais tempo algum dia.
Tower Bridge - Londres - Inglaterra

Blog, Vídeos, Livro, ... 

Infelizmente o blog ficou um pouco parado em 2017: foram apenas 5 posts. Entretanto, resolvi focar um pouco mais na criação de vídeos informais sobre coisas que estou estudando. Publiquei apenas 8 vídeos, mas que tiveram uma quantidade de visualizações muito maior do que os blogposts. Então provavelmente vou continuar trabalhando em mais vídeos para vocês ;)
Em relação ao livro, eu realmente pretendia lançar uma nova edição do "Dominando o Android" no começo de 2018, mas não deu :( demandas altas de trabalho, o grande número de viagens e palestras me fizeram adiar a nova edição do livro para 2018. Mas fiquem ligados, que eu sempre postarei as novidades por aqui ou em minhas redes sociais.

--

That's all folks! Essa foi a retrospectiva de 2017! Foi mais um ótimo ano para mim, e espero que tenha sido para vocês também! Que 2018 seja ainda melhor para todos nós.

4br4ç05,
nglauber

segunda-feira, 14 de agosto de 2017

Como eu aprendi Kotlin


Olá povo,

Tenho ministrado palestras sobre Kotlin em vários lugares e uma pergunta muito comum que o pessoal vem fazendo é: onde e como aprender Kotlin? 
Vou responder essa pergunta descrevendo como eu aprendi o que eu sei até agora.
Meu primeiro contato com Kotlin foi no segundo semestre de 2016 com o livro do Antonio Leiva que me deu uma boa base da linguagem e me motivou a estudar mais sobre o assunto.
Uma vez familiarizado com a linguagem, comecei a ler a documentação do Kotlin que é muito boa.
E navegando pela documentação achei o Kotlin Koans onde você aprende diversos recursos da linguagem por meio de 42 desafios que podem ser feitos on-line ou por meio do Kotlin Educational Plugin.

Após essas etapas iniciais, li um monte de artigos (muitos bem similares) onde cada um foi agregando um pouco aos meus estudos. Então resolvi compartilhar com vocês os links. Qualquer dúvida, é só falar ;)

Enjoy! :)

POSTS/SLIDES

Ten Kotlin Features To Boost Android Development

Kotlin: The Good, The Bad, and The Ugly

Why You Must Try Kotlin For Android Development ?

5 small things you probably don’t know about Kotlin

How “Effective Java” may have influenced the design of Kotlin

Kotlin 1.1: o que vem por aí?

Why You Should Start Using Kotlin to Supercharge Your Android Development in 2017

Android Coroutines with Kotlin: getting rid of runOnUiThread and Callbacks; cleaner thread handling; and more

Por que o Kotlin foi criado?

Lessons learned while converting to Kotlin with Android Studio

Exploring the Kotlin standard library

Handsome codes with Kotlin

Kotlin — A deeper look

Palestras do Jake Wharton
Nov/2015
Dez/2015
Mar/2017
Jul/2017

Kotlin Bytecode Generation and Runtime Performance

Understanding Generics and Variance in Kotlin

inline, noinline, crossinline — What do they mean?

An in-depth look at Kotlin’s initializers

Compare Java to Kotlin


Kotlin Workshop Material for you to use

Anko Coroutines

VÍDEOS

Kotlin para Android: O Despertar Da Força

Live code with Kotlin: construindo o primeiro app usando Kotlin

Kotlin in Real Projects

Learn Path: Kotlin in depth

Muito provavelmente, vocês encontrarão todos esses links no site https://kotlin.link/.

Ah! Mas obviamente todos esses links não valeriam de muita coisa sem praticar. Por isso, desde o ano passado, todos os meus projetos (pessoais e profissionais) foram (e estão sendo) em Kotlin! \o/

Qualquer dúvida, deixe seu comentário ;)

4br4ç05,
nglauber

quarta-feira, 5 de julho de 2017

Falando de Android por aí :)

Olá pessoal,

Passei aqui apenas para deixar a lista dos próximos eventos que eu participarei. Estão todos convidados! :)


✔︎ Meetup: I/O Recap do GDG Recife
10/07/2017 - 19:15
https://www.meetup.com/GDG-Recife/events/241094820
Palestra: Turbinando o Desenvolvimento Android com Kotlin


✔︎ The Developers Conference (TDC) São Paulo - Trilha Android
19/07/2017 - 15:40
http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilha-android
Palestra: Persistência de dados no SQLite com Room



✔︎ GDG Tech Tour Caruaru: I/O Recap
22/07/2017 - 13:00
https://www.facebook.com/events/1266327943476326
Palestra: Turbinando o Desenvolvimento Android com Kotlin



✔︎ Google Launchpad Build Porto Alegre
05/08/2017
https://events.withgoogle.com/google-launchpad-build-porto-alegre-05-de-agosto/
Palestra: Turbinando o Desenvolvimento Android com Kotlin



✔︎ Androidos Day em João Pessoa
11/08/2017 - 18:00 (Mini-Curso)
12/08/2017 - 13:30
http://androidosday.com/
Palestra: Turbinando o Desenvolvimento Android com Kotlin


✔︎ Google Developer Agency Day em São Paulo
16/08/2017
https://events.withgoogle.com/google-developers-agency-day/
Palestra: Turbinando o Desenvolvimento Android com Kotlin


✔︎ Android Dev Conference
24 e 25/08/2017
https://eventos.imasters.com.br/android-devconference
Palestra: Tudo o que você precisa saber sobre ConstraintLayout



✔︎ DevFest Maceió
23/09/2017
https://devfest.gdgmaceio.org/
Palestra: Turbinando o Desenvolvimento Android com Kotlin


✔︎ DevFest Cerrado em Goiânia
30/09/2017
https://devfestcerrado.com.br/
Palestra: Turbinando o Desenvolvimento Android com Kotlin


DevFest Paraná (Londrina)
11/11/2017
https://devfestpr.org/
Palestra: ?

4br4ç05,
nglauber

segunda-feira, 3 de julho de 2017

Introdução ao Kotlin com Android Studio

Olá pessoal,

Decidi fazer esse vídeo para ajudar aqueles que querem dar os primeiros passos com Kotlin utilizando Android Studio.
Qualquer dúvida, deixe seu comentário. ;)

4br4ço5,
nglauber

sábado, 24 de junho de 2017

Um ano de trabalho em casa

Olá povo,

Após quase um ano trabalhando home-office full-time, resolvi compartilhar com vocês um pouco de como está sendo essa nova experiência na minha carreira.

Em maio de 2016, recebi o convite do meu amigo Douglas Drummond para me candidatar a uma vaga na empresa que ele estava trabalhando. A Mokriya (www.mokriya.com) é uma empresa indiana, mas com sede na cidade de Cupertino, Califórnia. Foi fundada em 2010 e adquirida pela Nagarro no final de 2016. Entre os principais clientes estão: Google, Twitter, Intel, AT&T, Verizon, Sony, SanDisk, Salesforce, Estee Lauder, entre outros.

Eu tinha acabado de sair do CESAR e entrado na MESA, mas a proposta de trabalhar de casa foi muito atraente, então resolvi me candidatar. Após três etapas de entrevistas, fui aprovado e comecei minha nova jornada.

Como essa é a minha primeira experiência em home-office, não sei como funciona em outras empresas, mas na Mokriya temos confiança em cada membro da equipe. Digo isso porque algumas pessoas já me perguntaram se eu tinha que ficar com a webcam ligada, ou reportar meu trabalho todo dia, etc. Eu reporto minhas atividades apenas durante as reuniões diárias (ou semanais, dependendo do projeto). Como normalmente a equipe é pequena, não dá para "enrolar", você tem que ser comprometido, focado e eficiente. Acho que isso serve para todos os trabalhos, mas na minha experiência atual isso ficou mais evidente.

Uma coisa importantíssima de trabalhar remoto é ter foco e disciplina, pois em casa é muito mais fácil se distrair, seja com projetos pessoais ou com qualquer bobeira na internet. O que eu procuro fazer é sempre estabelecer um horário de trabalho e as metas para o meu dia, então eu só paro quando esses objetivos são alcançados.

Existem vários benefícios em trabalhar remoto. O primeiro deles é que eu posso trabalhar onde e como quiser. Pode ser em casa, de bermuda e chinelo, escutando música alta e gritando que nem um louco (é... eu faço isso). Ou posso viajar para um evento ou para o interior ver meus pais. Ou posso ainda ir para um co-working ou para a piscina do prédio (pq eu nunca fiz isso???).

Outro grande benefício é não pegar o trânsito infernal de Recife que é um dos piores do Brasil. Isso me fez ganhar pelo menos 2 horas por dia para aproveitar como eu quiser :)

Mas esses benefícios não seriam nada, se o trabalho em si não fosse motivador. Desde que entrei na Mokriya, sempre trabalhei em projetos interessantes (uns mais que os outros, claro). E em cada um deles, uma equipe com pessoas de diversas partes do mundo: Bulgária, Polônia, Índia, Estados Unidos, Portugal, ... e com isso, consigo treinar meu inglês com os mais diferentes sotaques. :)

Além dos motivos que mencionei acima, trabalhar na Mokriya me permitiu realizar um sonho profissional que era: "trabalhar no Google". Nunca fui funcionário do Google, mas estava alocado em um projeto e passei algumas semanas trabalhando no Googleplex em Mountain View. Eu já tinha ido ao Google algumas vezes para eventos do programa de GDE (Google Developer Expert) e durante o Google I/O, mas trabalhar lá (participar de reuniões, conhecer o ambiente, fazer as refeições, andar nas bikes :) e ver tudo aquilo por dentro foi sensacional.. indescritível.

Mas nem tudo são flores. Trabalhar de casa tem seus pontos negativos, e para mim, a solidão é o pior de todos. Por onde trabalhei, sempre gostava de conversar com todo mundo, tomar aquele café com a equipe nos intervalos, falar como foi o fim de semana, etc. Em casa, você até tem o café, mas não rola aquela conversa bacana. Entretanto eu tento minimizar esse problema almoçando semanalmente com os meus velhos amigos do CESAR. ;)

Às vezes, os fuso-horários diferentes para reuniões são bem inconvenientes. Para mim não foi tão complicado, o pior que me aconteceu foram reuniões às 20h ou no horário do almoço/janta, já para alguns colegas, as reuniões era à 1h ou 2h da manhã... #tenso
Trabalhar nos feriados do Brasil é bem chato, mas venhamos e convenhamos, temos feriados demais por aqui e desde que entrei na Mokriya, eu trabalhei em TODOS! :'(
Meu contrato é de consultoria, então não tenho os "benefícios" da CLT como: 13º, FGTS e INSS (eu pago por fora) e além disso, tenho que pagar o plano de saúde por fora.

Depois desse tempo trabalhando remoto, cheguei a conclusão que, para empresas e profissionais de desenvolvimento de software, não faz nenhum sentido sair de casa e ir para um local específico trabalhar. Se você tiver uma boa estrutura, tudo pode ser feito de casa. Minha comunicação do dia-a-dia é feita por Slack, as reuniões são feitas com o Zoom, código no GitHub, ... isso sem contar Google Drive, Dropbox, Zeplin, HockeyApp, etc. para compartilhamento de arquivos.

É isso pessoal! Estou muito feliz nesse meu emprego e agradeço a Deus todos os dias por ele.
Qualquer dúvida, deixem seus comentários que eu vou atualizando o post ;)

4br4ç05,
nglauber