angular-js_600x400

Aprendendo AngularJS – minhas leituras

Chegou aquele momento em que não dava mais pra fugir dele: finalmente me vi forçado a aprender AngularJS. Neste post vou listar o que usei para meus estudos e também as minhas primeiras impressões sobre o assunto. Levem em consideração que estou apenas começando!

O AngularJS: primeiras impressões

Apesar de já estar na versão 1.5, meus estudos estão focados na versão 1.4.2, dado que estou lidando com um projeto legado. Pouco a pouco vou me atualizar com as novas versões, já sabendo que a 2.0 é, pelo que pude ver, radicalmente diferente.

Mecanismo de templates

Como mecanismo de templates, achei fantástico (o mínimo que eu esperava). De imediato o vejo como uma excelente ferramenta para se escrever relatórios quando os dados são obtidos via REST no formato JSON. Alguns experimentos que fiz durante os estudos iniciais foram muito promissores.

Interações de usuário

Como framework usado para se escrever as interações do usuário, também achei bastante interessante. Me lembrou bastante o modelo de desenvolvimento que temos ao desenvolver aplicações desktop.

Escrever aplicações cuja interface no formato tabela usando o binding de duas vias do AngularJS se mostrou uma tarefa trivial com o AngularJS. E escrever filtros com ele (em tabelas) também é ridiculamente simples (quase aposenta o Datatables).

Roteamento

Ainda não me desceu bem o modelo de roteamento apresentado pelo AngularJS, mas creio que seja por enquanto apenas o resultado do meu contato inicial com o framework. Ainda tenho minha cabeça presa ao modelo de desenvolvimento AJAX tradicional (com muito jQuery), o que tem me dificultado um pouco a compreensão.

Saudades do jQuery

Adoro jQuery, o que me atrapalha um pouco no aprendizado do AngularJS. Em diversos momentos me via pensando em como faria a mesma coisa com minha biblioteca favorita. No entanto, conforme o tempo vai passando, este “vício” vai se reduzindo.

Confesso que me deu um certo alívio ver que o modo como fazemos requisições Ajax com AngularJS é muito parecido com o que conhecia no jQuery. :)

O que li

Angular Basics – http://www.angularjsbook.com/

Escrito por Chris Smith, é um pequeno livro online interativo no qual você pode experimentar o código fonte de uma forma muito interessante. Sem sombra de dúvidas foi o melhor material que encontrei sobre o assunto.

A linguagem adotada é muito simples e muito direta ao ponto. O autor se preocupa bastante em tratar apenas do que é essencial para que você possa começar a dar os primeiros passos, o que é excelente, pois alguns materiais que encontrei achei muito complicados para quem está iniciando.

Ao ler este livro, tinha ao lado um editor de textos e um navegador que usava para fazer alguns experimentos baseados no texto. Me ajudou bastante. Importante lembrar que o livro cobre a versão 1.4.2 do Angular, e não a 1.5.5 ou 2.

Algo bacana neste texto são as referências feitas pelo autor. Dá para o leitor que não tem muita vivência com JavaScript se aprofundar em diversos temas sobre a linguagem.

Resumindo: leitura fantástica!

Tutorial oficial do AngularJS – https://docs.angularjs.org/tutorial

Não gostei quando li na época em que o AngularJS foi lançado e continuei não gostando hoje.

Meu principal problema com este texto é que ele afoga quem está chegando em informações e terminologias que deviam ser apresentadas de uma forma mais suave.

Além disto, o código fonte já vêm pronto de cara em um repositório Git. Confesso que prefiro quando o próprio leitor vai gerando este código, tal como fiz lendo o “Angular Basics”.

Desconfio que este meu atraso no AngularJS se deve à antipatia que sempre senti por este tutorial (não vou negar).

Guia do desenvolvedor – https://docs.angularjs.org/guide

Se você quer conhecer a fundo o conceitual por trás do AngularJS, este é o texto. Não é algo que deve ser lido sequencialmente, mas sim como leitura complementar.

É muito bem escrito, e tem o nível de profundidade que se espera ao buscarmos uma melhor compreensão a respeito dos conceitos envolvidos na construção do framework e, ainda mais importante, das motivações que justificam o AngularJS ter a forma que possuí.

Não creio que seja um bom ponto de partida para se aprender o framework, mas como leitura complementar, foi fundamental para mim.

Curso gratuito da CodeSchool – http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro

Feliz demais pro meu gosto: me deu vergonha alheia e acabei pulando.

Ferramenta legal: AngularJS Batarang

Trata-se de uma extensão do Chrome que nos permite depurar código escrito em AngularJS. Você a instala e, na sequência, será criada uma nova aba nas ferramentas de desenvolvimento.

Por lá você poderá ver o escopo do seu módulo, informações sobre desempenho, interceptadores e tudo mais. É muito bacana para se ter uma visão melhor sobre o que estamos escrevendo com o AngularJS.

Concluindo

Apesar de atrasado, o processo de aprendizado do AngularJS tem sido uma experiência muito enriquecedora para mim. Confesso que não tanto pelo Angular, mas sim pelas referências que vou pegando no caminho que, acidentalmente, tem aumentado muito meu conhecimento sobre JavaScript.

Estou apenas começando no framework, apanhado bastante em alguns pontos, mas, no geral, gostado do que tenho visto. Aproveitando, você tem alguma boa indicação de leitura para me passar? Toda dica é bem vinda!

capa

Novo guia da itexto: usando Jenv!

Se existe uma ferramenta que me ajuda HORRORES no dia a dia é o Jenv: trata-se de um gerenciador de ferramentas baseadas em Java e que ofereçam interfaces de linha de comando, tais como Grails, Groovy, Maven, JDK, Ant, Spring Boot e muitas outras.

No meu caso, como lido com diversos projetos baseados em Grails, com versões que variam da 1.1 a 3.1.4, é uma mão (ou melhor, duas!) na roda. Se a coisa parece chata, imagine que também lido com diferentes versões do JDK (do 1.3 a 1.8!). :)

Este é um guia rápido para que você possa começar a trabalhar com a ferramenta imediatamente. Exponho apenas o essencial, mas também alguns hacks que você pode aplicar na ferramenta e, claro, sua comparação com o SDKMan, que é outra opção bastante interessante.

Trata-se de uma ferramenta que sempre indico para nossos clientes de consultoria e alunos. Acabo de publicar então o terceiro guia da itexto, que você pode baixar neste link.

Espero que goste e que o Jenv lhe seja tão útil quanto é para nós!

bebezao

Meu problema com a infantilização

Tratar adultos como crianças, especialmente desenvolvedores, sempre me irritou. Algum tempo atrás inclusive escrevi sobre isto aqui no blog. O foco da minha opinião é o desperdício de algo fundamental: o processo de amadurecimento.

Vejo de forma muito clara este processo infantilizador se manifestando em vagas de emprego que buscam “padawans”, “jedis”, “super-heróis”, “rockstars” (vergonha alheia infinita). Isto sem mencionar grande parte da cultura “geek” que, devo confessar, não raro vejo carregada de fortíssimo caráter infantilizador. Isto sem mencionar “apresentadores” e “palestrantes” que se vestem como crianças. Nossa, quanta vergonha alheia!

Mas o que é amadurecer?

Para mim envolve a expansão intelectual. Vou partir de um exemplo banal. Ao encontrar alguém usando um chapéu de Mario e lhe pergunto por que o está usando. Normalmente a resposta é um “por que é legal”.

Por que o chapéu?  Por que é legal!

Por que o chapéu?
Por que é legal!

Esta é uma resposta válida, mas se forçar a barra e perguntar “por que é legal?”, não raro o indivíduo infantilizado não vai saber responder. Resumindo: a futilidade (um aspecto infantil resultante de uma percepção limitada) está se manifestando. Lhe interessa o ato de fazer graça. Então, como seria uma resposta adulta?

(já se perguntou por que, na sociedade ocidental na qual o riso é visto com desprezo, de repente ser uma pessoa “divertida e engraçada” passa a ser visto como algo super positivo? Dica de leitura)

“O que envolve o conceito do Mario é interessante e me agrada”. Me lembro quando era pré-adolescente e vi o Mario Bros pela primeira vez. Algo completamente diferente de todos os jogos que havia jogado até aquele momento: o cenário era muito rico e toda a mecânica era algo revolucionário para nós.

free_download_super_mario_bro_game

O que me impressionava era o puramente sensório: a experiência de controlar o Mario e todas aqueles elementos secretos no jogo eram algo fascinante para alguém com 12, 13 anos (muitas cores e surpresas, além de uma música top). A coisa ficou realmente interessante quando notei uma similaridade naquele jogo com algo que já conhecia.

smb3_mush2

Aquela história do Mario comer um cogumelo e de repente crescer. Já havia visto isto em algum lugar: em Alice no País das Maravilhas, mas ao contrário. Ela encolhia.

alice-on-mushroom-3

Caramba! E de repente, observando as ilustrações do livro de Lewis Carroll, conseguia ver no cenário que se movia do Mario elementos daquela história (Mario era um ser diminuto entre cogumelos?). Isto ampliou meus horizontes  e me fez começar a questionar outras coisas: quem criou o Mario? Foi a Nintendo. Mas quem dentro da Nintendo teve esta ideia? Foi o Myiamoto. Quem é ele? O que inspirou este sujeito?

Mario -> Alice no País das Maravilhas -> Nintendo -> Miyamoto -> Lewis Carroll -> Problemas lógicos -> Matemática

A rede cultural se expande: vejo mais pontos e ligações entre eles. Questiono estes relacionamentos e busco confirmações a seu respeito. Resumindo: saio de algo simples e  fútil:  termino em um universo totalmente novo que não para de se expandir conforme interajo com ele.

A pergunta “por que você usa este chapéu de Mario?” adquiriu profundidade. E neste processo de amadurecimento noto que até minha capacidade em aceitar críticas foi ampliada: ao ver um número maior de possibilidades no mundo, são grandes as chances de eu realmente estar errado e existirem alternativas muito superiores. Resumindo: eu venço outra barreira infantil que é a do solipsismo. Estou em um mundo rico com o qual interajo.

Amadurecer é bom e a vida adulta é maravilhosa. O adulto tende a ser sábio, ao contrário da criança. Então, o que ganho ao infantilizar? Para responder a esta pergunta, é importante responder outra: como é ser uma criança?

(algo fascinante: vejo esta “expansão intelectual” em praticamente tudo, basta tentar)

Como é ser criança?

Odiava ser criança. Brincar era legal, não havia trabalho (meus pais me mantinham), mas nem por isto meus problemas eram menores. Há adultos que te controlam e definem o que deve ser feito. Além disto, o mundo é assustador pois você não o conhece direito por ter uma visão limitada da realidade.

E justamente por ter uma visão limitada a criança se vê a mercê do adulto a quem deve obedecer de forma compulsória. O medo do desconhecido faz com que a criança se torne um ser quase solipsista, que vive em um mundo apenas seu, mas controlado por forças desconhecidas.

Seus problemas também não são tão menores como pensamos: basta se lembrar dos medos  que sentia ao se imaginar levando bomba na escola ou na possibilidade de perder seus pais, quem cuidaria de você? E se seus pais não fossem tão legais assim? E se você fosse adotado? Existem monstros no escuro?  Os medos da infância parecem tolos hoje que somos adultos, mas na época eram aterrorizadores.

Verdade seja dita: romantizamos a infância. Além da vulnerabilidade e dependência em relação aos adultos, sabe o que mais a “boa criança” costuma ser? Dócil. Afinal de contas, uma “criança boazinha”, tal como somos criados, é aquela que recebe “presentes do Papai Noel”, é aquele ser que não questionaque obedece.

Pra que infantilizar então?

Essencialmente por que você quer ter um controle maior sobre o outro, que não desejamos vir a se tornar um questionador. E que te admire, pois você estará, em relação ao infantilizado, como o adulto em relação à criança.

É curioso como em diversos casos de infantilização que observo os manda-chuva são pessoas extremamente adultas, formais, exemplares. Já notou isto?

E por que o fútil é tão valorizado? O que faz da fábrica de doces algo sedutor? Ela faz com que o adulto se esqueça dos problemas relativos ao seu amadurecimento. Você afunda o adulto em tolices para que ele se torne dócil.

Por que uma biblioteca de quadrinhos e não clássicos ou grandes livros? Por que os segundos são “chatos”? O que os torna chatos ou, ainda melhor, “quem” os vende como tal?

Por que me incomoda então?

Por que ao diminuir o indivíduo, termina por lotar de tolos o mundo. Confesso sentir calafrios ao pensar na formação de futuras gerações. Será este medo o resultado do meu envelhecer? Talvez.

Me incomoda muito pensar que as pessoas, em sua carência, acabam por se colocarem em uma posição inferior sem a menor necessidade.

Devo ser uma pessoa séria sempre então? Não: só tem de evitar se tornar um “retardado”.
(já notou que normalmente quem se da bem possuí uma forte tonalidade séria?)

PS:

controvérsias sobre a relação entre o Mario e Alice no País das Maravilhas, no entanto o simples fato de podermos fazer a conexão por conta própria já me parece algo incrível.

PS 2:

Sou contra o “trabalho infantil” :D

product

Eu e seu currículo: como o percebo

Uma das maiores honras da minha vida ocorreu ano passado quando uma imensa quantidade de pessoas se candidatou nos dois processos seletivos da itexto.

Nossa avaliação é composta por três etapas: a primeira é a seleção de currículos, seguida de uma entrevista técnica (que contém uma prova) e uma conversa final na presença de um profissional de RH. Infelizmente nosso tempo para avaliação é limitado, o que nos força a dispensar diversos candidatos na avaliação de currículos, e isto me incomoda bastante pois tenho certeza que perdemos oportunidades de contratação ali, muitas vezes por bobeira (nossa e do currículo).

Dado que nosso terceiro processo seletivo ocorrerá em breve, resolvi escrever este post descrevendo como os interpreto e minhas principais percepções. Vejo muitos posts com dicas do pessoal de RH sobre como escrever um currículo, mas poucos sobre como este documento de fato é manuseado por quem o recebe. Creio que compartilhar minhas percepções será útil para muitas pessoas. Talvez eu mostre algum erro que cometo neste post: sinta-se livre para me enviar suas críticas, pois são todas muito bem vindas.

Objetividade

No nosso segundo processo seletivo recebemos quase oitenta currículos. Além de avaliá-los, também temos de atender nossos clientes, e isto limita ainda mais o tempo. Alguns dos currículos que recebemos são verdadeiros artigos. Acho interessante a pessoa se esforçar em sua auto-descrição, no entanto quando o currículo é longo demais a impressão que tenho é a de que estou lidando com alguém prolixo, o que não é bom.

Se nossa vaga é para desenvolvimento de software, confesso que não me interessa tanto quais são seus hobbies e séries de TV favoritas. Este tipo de informação talvez mostre suas soft skills (falarei mais sobre isto adiante), mas dado que não lidamos com o ramo de entretenimento (ainda), estes dados não agregam.

Outro ponto importante é a atenção ao cargo oferecido. Se é para desenvolvimento e você nos envia seu currículo no qual só há experiências em outras áreas, é altíssima a chance de não te chamarmos para uma conversa. A não ser, é claro, que no texto de apresentação (sempre é útil) você nos diga que está interessado em mudar de área e demonstra real interesse pelo que fazemos e as atividades que esperamos de você aqui.

Não só a área, mas o nível de experiência pedido também deve ser levado em consideração. A vivência descrita no currículo deve estar de acordo com a que expomos na descrição da vaga.

Soft skills

A grosso modo, são suas capacidades não técnicas ou indiretamente relacionadas ao que esperamos na vaga como, por exemplo, facilidade de comunicação e trabalho em equipe. Na minha opinião a mais importante é a capacidade de comunicação, e no caso dos currículos, textos legíveisem bom português demonstram boa parte desta habilidade.

Vou ser curto e grosso: nunca vi alguém escrever em seu currículo algo negativo sobre si mesmo. Ainda não encontrei descrições como “sou preguiçoso”, “odeio gente”,  “curto ser um babaca”, “persigo meus colegas” ou coisa similar.

(a única exceção foi em uma entrevista anos atrás na qual a pessoa disse ser preguiçosa)

Descobrimos estas características do candidato em dois momentos: nas conversas que temos após a análise do currículo ou, no pior dos casos, durante o período de experiência caso seja contratado, ou seja, no texto do currículo estas descrições não agregam.

Experiências

Sempre agregam bastante no currículo quando bem descritas, especialmente quando o candidato nos conta o que costumava fazer nas empresas pelas quais passou e as realizações de que se orgulha.

Alguns currículos contém contatos para referência. Isto é muito útil, pois nos ajuda a validar quem você realmente é e também nos mostra sua segurança a respeito de si mesmo. Não é um ponto obrigatório, mas com certeza agrega bastante (e positivamente).

Qualquer experiência fora do trabalho também é muito bem vista. Exemplo: ter um blog, participar de projetos open source, palestrar, enfim, demonstrar seu interesse na área através de atividades que sejam relacionadas à área de atuação da vaga.

Claro, se for um cargo para alguém em início de carreira, não possuir experiência profissional alguma não desqualificaria o candidato, o que me faz lembrar do…

Meu primeiro mico em uma entrevista de emprego

O primeiro trabalho pago que tive na vida foi como “tomador de conta” do gabinete de um candidato a deputado federal aqui em Minas Gerais. Minhas tarefas envolviam cuidar do gabinete (varrer, manter o lugar limpo, garantir que o banheiro estava usável), receber as pessoas e passar recados. Isto e nada mais. Este trabalho durou uns dois meses.

Veio minha primeira entrevista de emprego e não sabia o que colocar no currículo, pois só tinha esta experiência. Então, escrevi: “Responsável pela administração da qualidade do ambiente do gabinete do deputado federal (ele foi eleito) Fulano de tal“. Que título lindo, pensei, e fui lá fazer minha primeira entrevista de emprego em uma livraria.

O dono da livraria (uma figura simplesmente GENIAL) olhou pra minha cara, começou a gargalhar e soltou o: “Nossa, como você é uma pessoa importante com seus 19 anos hein?”. Fui contratado, mas até hoje sou zoado por isto. Se for iniciante, evite a zoeira, muitas vezes ela pega e dura anos. :)

Exponha seus conhecimentos reais

Uma vez aprovado seu currículo, iremos validar o seu domínio nos conhecimentos citados em nossa avaliação técnica. É fundamental expor aquilo que você já conhece para nos ajudar no processo seletivo, mas igualmente importante nos contar o quanto você domina os assuntos listados.

Este é um ponto bastante delicado: como você pode expor seu domínio sobre um assunto de forma precisa? O ideal é usando alguma referência que não seja si mesmo. Vale aqui as experiências profissionais passsadas, desempenho acadêmico, publicações, blog pessoal e até mesmo pontuação em concursos e sites de desafios de programação. Se você afirma possuir, por exemplo, “sólido conhecimento em X”, de que modo esta base foi construída? “Eu acho que tenho” não é resposta.

Errar algumas questões em uma prova técnica não invalida seu conhecimento. Na realidade, sempre é dado um desconto durante a avaliação da prova, levando-se em consideração a ansiedade natural do candidato. Curiosamente, acertar também não valida o conhecimento tanto quanto se imagina, pois não é raro um acerto por sorte. Na realidade apenas a prática valida.

E justamente por que apenas a prática valida seus conhecimentos é que lhe digo: tentar burlar uma prova ou levar o avaliador na conversa e ser contratado talvez seja a pior experiência pela qual você possa passar.

Formação

Se o cargo exige alguma formação, seu currículo deve estar de acordo com a mesma. É comum incluirmos em nossos currículos certificações e treinamentos. No caso de treinamentos, é muito interessante que também seja exposto seu nível de aproveitamento no que foi ensinado.

Não há problema algum dizer que fez treinamento na tecnologia X mas nunca aplicou aqueles conhecimentos na prática ou mesmo não os assimilou como gostaria. Na realidade, isto é louvável. Quem lê em seu currículo a presença destes cursos supõe que você já domina os assuntos tratados se não fizer nenhuma observação a respeito.

Creio que não seja necessário mencionar aqui que mentir nestes pontos é uma das maiores imbecilidades que alguém pode cometer, certo?

Fontes adicionais

Vejo o currículo como um primeiro contato com o profissional, razão pela qual deve ser o mais objetivo e curto quanto possível. No entanto, fontes adicionais incluídas no texto agregam bastante: LinkedIn, blogs, participação em comunidades, etc.

O LinkedIn possuí, por exemplo, o preenchimento de perfil super completo, o que incluí os projetos em que o indivíduo participou, publicações, indicações e muito mais. Com certeza é a melhor fonte adicional que qualquer um pode incluir em seu currículo (em muitos casos, o vejo como a versão “full” do documento).

No caso de redes sociais, raramente Facebook ou Google+ nos agrega algo (não há nem razão para incluir isto no currículo, a não ser que você mantenha uma comunidade lá ou seja ativo nesta). Em raríssimos casos o Twitter nos agrega.

Depois da contratação

Seu currículo não é esquecido, pois pode será usado em sua avaliação durante o período de experiência. Por isto é tão importante ser o mais objetivo e verdadeiro na escrita deste documento. O currículo é uma proposta de trabalho, do que você está oferecendo: suas habilidades e quem você diz ser.

E aqueles que não foram contratados, mas foram avaliados? Tem seus currículos guardados para o próximo processo seletivo. E são chamados para conversar conforme as oportunidades vão surgindo.

E aqueles que enviaram seus currículos após o processo seletivo? Serão avaliados no próximo.

Concluindo

É importante salientar que, ao menos no meu caso, o currículo não é avaliado só por mim: mais pessoas o lêem, até para que possamos bater nossas percepções e chegar a algum acordo antes de chamar o candidato para uma conversa.

Como disse no início deste post, estas são as percepções que tenho ao avaliar um currículo. Creio que mais empregadores sigam caminhos similares aos que descrevi aqui e com certeza há falhas nesta leitura, razão pela qual gostaria muito de saber a opinião de vocês a respeito.

books-pile

Minhas boas leituras de 2015

Não me lembro de um ano que tenha me ensinado tanto quanto 2015: realizei meu grande sonho de me dedicar totalmente à itexto (aguardem o post). Mais da metade das coisas que discordava até então se mostraram necessárias (virá um post) e minha visão a respeito do mundo foi impactada de maneiras que eu jamais poderia imaginar.

É curioso olhar pra trás e perceber um paradoxo: foi um ano pobre de leituras. Li muito menos, talvez devido ao fato de finalmente ter publicado meu segundo livro (Falando de Grails), o que é sempre bastante exaustivo para mim. Outra razão foi a itexto: este ano nosso foco foi aprender a como gerir o negócio da melhor maneira possível (e a isto agradeço à Nanna, pra variar), o que demandou boa parte do meu tempo.

Conservadorismo, direita, esquerda, centro… o que sou eu?

Em 2015 ficou claro que eu não sabia o que significava ser de direita ou esquerda. Ainda pior: percebi que termos como “conservadorismo” e “reacionarismo” me incomodavam sem que eu soubesse o que de fato significavam. E o mais interessante: o sentimento positivo que sentia pela “esquerda” também não tinha qualquer fundamento teórico. Como eu podia gostar ou desgostar de algo que não conhecia? Quem sou eu de fato?

Roger Scruton e o conceito de faking (falseamento)

Roger Scruton at Edinburgh International Book Festival 2014.  13th August 2014 Picture by Pako Mera/Writer Pictures WORLD RIGHTS (Writer Pictures via AP Images)

Roger Scruton

Alguns amigos (Túlio e Cyrio) me indicaram um autor chamado Roger Scruton, que se apresenta como conservador. Curiosamente, não me foi indicado devido a esta minha busca política, mas por meu interesse em estética.

Scruton nos apresenta um conceito que achei fascinante e se aplica perfeitamente à área de TI e desenvolvimento: “faking”. Grosseiramente o descrevendo, é aquela situação que com certeza leitores mais experientes já presenciaram: alguém se apresenta como profundo conhecedor de um assunto sem saber de sua própria ignorância e os demais ao seu redor – honestamente ignorantes sobre o tema – abraçam o indivíduo como uma fonte real de conhecimento (isto me motivou a escrever este post).

O autor trata de artes plásticas, performáticas e arquitetura, mas conforme ia lendo seus artigos sobre o assunto e participando de alguns eventos da nossa área ficou nítido que seu conceito de “faking” se aplica muito bem à nossa realidade (com certeza virá um post sobre isto).

Você pode ouvir o próprio Scruton falando sobre o assunto neste excelente episódio do programa “Point of View” da BBC: Faking it.

Há também um excelente artigo em inglês: “The Great Swindle”

E também há um livro que ainda não li: Beauty

Scruton conseguiu verbalizar uma intuição que tenho há anos.

Scruton conservador

scruton-conservador

Coincidentemente, no mesmo ano a editora Record publicou uma tradução do livro “How to be a conservative” do Scruton: comprei na hora. Finalmente pude entender o que o conservadorismo realmente significa e, ainda mais importante: identifiquei, chocado, muitos traços conservadores na minha personalidade (será que minha paixão por legados vêm daí?).

Scruton faz uma análise muito profunda do conceito de conservadorismo, mas você deve levar em consideração o fato do livro ser focado no contexto inglês, que é bastante diferente da nossa realidade nacional. Se conseguir levar em consideração este fato e não tomar o livro sem uma boa pitada de sal, com certeza aprenderá bastante com ele.

Finalizada a leitura percebi que tinha uma visão muito preconceituosa a respeito dos conceitos de direita, conservadorismo e reacionarismo. Mais que isto: percebi traços conservadores e mesmo reacionários em mim, o que me leva a assumir isto aqui publicamente sem qualquer vergonha.

Leia o livro antes de me julgar. :)

Bobbio como contraponto

direita-esquerda-bobbioScruton é tendencioso, então para contra-balançar, que tal ler um autor de esquerda falando sobre direita e esquerda? Reli “Direita e Esquerda” do Norberto Bobbio. O autor busca definir os dois termos no seu livro. Não me impactou tanto quanto a leitura de Scruton por não ser um texto novo para mim: comprei o livro em 2003 e nunca o havia lido com atenção.

É uma excelente leitura: no Brasil é publicado pela editora Unesp. Bobbio explica os conceitos do ponto de vista histórico e ideológico em um texto bem curto.

O que percebi? Que tenho familiaridade com alguns ideais de esquerda e direita. Minha busca pela minha própria definição ficou ainda mais confusa. :)

Leituras técnicas

Um ano de blogs

Finalmente coloquei o /dev/All no ar: um agregador de blogs nacionais sobre desenvolvimento de sistemas, TI e assuntos relacionados. O site cresceu significativamente: conta hoje com bem mais de 100 blogs e já estamos caminhando para os 200.

Li posts excelentes no site e (re)descobri alguns blogs que, acredito, vale muito à pena citar aqui:

Dado meu tempo reduzido, /dev/All foi vital para que me manter atualizado durante o ano. Estes foram os blogs que mais gostei e que me lembrei enquanto escrevia este post. Tenho certeza de que fui injusto ao não mencionar mais alguns, mas no futuro corrigirei este erro.

Docker e minha volta ao Linux

docker

Foi a tecnologia que me fez voltar ao Linux com força total e a que mais me impressionou nos últimos anos. De repente me vi com uma ferramenta que me permite realizar experimentos de configuração em servidores com uma produtividade que jamais imaginei ser possível.

Docker me deu a desculpa ideal para que eu pudesse finalmente me aprofundar no Linux. Seguem os textos e livros que mais gostei.

Docker

Docker Jumpstart – Foi o texto no qual realmente aprendi a usar o Docker.

Getting Started with Docker – Versão júnior do texto acima. Leia o Jumpstart primeiro, use este como referência

(em breve deve sair um guia da itexto sobre Docker)

Linux

Foi em 2015 que finalmente resolvi criar vergonha na cara e aprender a escrever shell scripts no Linux. Estes textos foram fundamentais:

The Linux Command Line – Um livro gratuito maravilhoso sobre a linha de comandos do Linux. Finalmente aprendi como dominar esta criatura e já escrevo alguns scripts com ela. Foi muito importante para que eu pudesse tirar um proveito ainda maior do Docker.

Conquering the Command Line – outro livro excelente sobre o mesmo assunto. Não tão bom quanto o primeiro, mas bom também. :)

AWK

Das linguagens de programação que vi em 2015 a que mais me impressionou foi AWK. É um monstro que provávelmente está instalado no seu Linux e você nem nota. Escrevi inclusive um post a seu respeito, que você pode acessar neste link.

Posso dizer com segurança que AWK me tornou uma pessoa mais produtiva em 2015. Interessado em conhecer a criatura?

An AWK Primer – Este livro está no Wikibooks e é um bom início.

GAWK: Effective AWK Programming – Trata-se do manual do projeto GNU para a sua implementação do AWK. A leitura é bem tranquila e também me ajudou bastante.

Git

Em 2015 troquei o Mercurial pelo Git. Inicialmente por que todos os nossos clientes preferiam o Git, depois por que comecei a estudar mais a fundo a ferramenta e aprendi diversas coisas interessantes a seu respeito.

Um dos resultados foi o primerio Guia da itexto: Usando o Git. Já estou trabalhando na segunda edição.

E o que mais gostei de ler sobre Git este ano?

Pro Git – Um livro gratuito escrito por Scott Chacon e Ben Straub que irá lhe expor essencialmente tudo o que você precisa (e não) saber a respeito do Git.

JavaScript

Por mais estranho que eu ache as pessoas amarem hoje uma linguagem que era odiada há poucos anos atrás, não pude deixar de me aprofundar um pouco mais no assunto. O que li e gostei?

JavaScript: the Good parts – Finalmente li este livro do Douglas Crackford. Me impressionou? Não, mas é um livro interessante. Gosto muito dos diagramas que ele usou para descrever a linguagem.

AngularJS – Comecei a usar o AngularJS. Após passar por diversos livros e textos horríveis sobre ele, acabei ficando com a documentação oficial mesmo, que foi a melhor coisa que li a respeito.

Dominando JavaScript com jQuery – escrito por Plínio Balduino e publicado pela Casa do Código. É um dos melhores livros sobre JavaScript que conheço (melhor que o do Crackford na minha opinião). Voltei a este material algumas vezes este ano. Ei: é um livro escrito aqui no Brasil com qualidade internacional! Se ainda não leu e quer entender JavaScript, LEIA!

Nota importante: minhas piores leituras

Minhas piores leituras foram relacionadas a JavaScript. Li muito material HORRÍVEL este ano, especialmente o relacionado a NodeJS e AngularJS. Se um dia escrever um texto sobre minhas piores leituras com certeza haverá uma longa seção sobre este conteúdo.

BASIC

BASIC

Sim, você leu certo: este ano estudei BASIC. Não para usar a linguagem, mas para escrever melhores textos técnicos (e outra razão que exporei abaixo). Por que melhores textos técnicos? Leia minhas sugestões de leitura e você entenderá. ;)

DartMouth Basic Manual – Publicado em 1964. É um dos textos introdutórios sobre programação mais didáticos que já vi. Repare que é uma fotocópia, e com marcações sobre a mesma! Pura simpatia.

Linguagem BASIC – MSX – Pouca gente se lembra do MSX: sou uma delas. E este foi o primeiro livro de programação da minha vida, quando eu tinha algo entre 6 e 7 anos.

10 PRINT CHR$(205.5+RND(1)); : GOTO 10 – E que tal um livro sobre um algoritmo escrito em BASIC que imprime um labirinto? Leitura divertidíssima para aqueles que, como eu, curtem história da computação. Excelente leitura!

O BASIC nos anos 80 era usado como ferramenta educacional para crianças (fui uma destas). Sabe este esforço recente de popularização da programação? O pessoal já fazia isto 30 ou 40 anos atrás (na minha opinião com muito mais competência e, talvez, honestidade).

Houve um curto período de tempo em 2015 no qual iniciei a implementação do meu próprio BASIC para a JVM, mas as motivações para este projeto e o que ocorreu são assunto para um outro post (esta era a segunda razão).

(que se dane o Dijkstra: eu curto BASIC!)

O que lerei em 2016?

Desejo a todos vocês um 2016 como foi meu 2015: rico em aprendizado e experiências que com certeza me tornaram uma pessoa melhor (assim espero!).

Gostaria muito de saber aqui quais foram as melhores leituras de vocês. O que mais gostaram de ler? Feliz ano novo!

t100_movies_taxi_driver

Meu problema com aplicativos de taxi (e as soluções)

Dentro do carro pela segunda vez minha esposa avisou o motorista que ele havia tomado o caminho errado. O carro acelera bruscamente, freia e para no acostamento.

_ Já que está tão ruim desçam do carro agora!

Em choque saímos do veículo (eu, minha esposa e uma amiga), mas a história não termina aí. O motorista também sai do carro, saca uma carteira da polícia e grita em nossa direção:

_ Vocês não estão lidando com qualquer um: vejam quem sou!

Percebo o motorista com algo estranho na outra mão, que está próxima da parte de trás do seu cinto. Por estar assustado temo ser uma arma e, para defender minha esposa e nossa amiga, parto em direção do sujeito aos gritos e este se acovarda, volta para dentro do veículo e parte para “atender” outros azarados passageiros.

Lendo as notícias recentes talvez em um primeiro momento você creia se tratar de um taxista “convencional”, certo? Errado.

Meu histórico recente

Pelo menos duas vezes por dia pego algum taxi (tradicional ou não). Estatísticamente a possibilidade de algo dar errado comigo é muito grande e, de fato, ocorre com frequência. Apenas algumas das situações pelas quais passei nos últimos seis meses:

  • Chamo um taxi, no aplicativo aparece um motorista e, quando o carro chega, é outra pessoa completamente diferente (inclusive há casos nos quais ao negar a corrida fui ameaçado de porrada)
  • Motoristas malucos que não respeitam um sinal qualquer e andam a 100 por hora
  • Um motorista louco que joga seu carro contra um carro do Uber
  • Gente que nega me devolver troco e faz um cavalo de pau comigo dentro
  • Um motorista que joga seu carro contra um ônibus por que “estava estressado”
  • Um motorista que quer “dar um susto” em seu colega e quase bate o veículo comigo dentro

A lista é longa e já virou até piada entre meus amigos. Não sei se ocorre com outros consumidores com perfil similar ao meu, mas ao menos comigo, em Belo Horizonte, ocorre bastante.

E agora o detalhe curioso: 100% dos incidentes que tive se iniciaram usando um aplicativo de transporte. O melhor serviço de transporte que uso é o ponto de taxi perto da minha casa, para o qual ligo pedindo um carro.

Dado que vou continuar usando estes serviços (não tenho escolha (por enquanto)), resolvi escrever este post pra ver se os responsáveis pelos aplicativos ouvem minhas reclamações (que agora estou tornando públicas) e sugestões.

A grande falha e minhas sugestões

Muitos destes aplicativos dizem que filtram os motoristas que os usam, no entanto com absolutamente TODOS que usei passei por algum inconveniente que colocou minha integridade em risco.

Todos dizem oferecer excelente suporte ao passageiro caso algo dê errado: você pode, por exemplo, dar nota a um motorista. Pode também entrar em contato com os responsáveis pelo aplicativo reportando o acontecimento, o que é ótimo. Alguns até te respondem!

Aí entra a falha: eu devo poder reportar que algo está errado não depois do incidente, mas sim antesdurante.

Se chamo um taxista e vêm outro, naquele momento devo alertar a operadora do ocorrido. Na maioria dos aplicativos, o máximo que posso fazer é cancelar a viagem. O problema é que este cancelamento ocorre com o “falso motorista” diante de mim. Resultado? Minha segurança agora está em risco e você muitas vezes se vê coagido a participar de uma viagem com alguém que não foi chamado.

(será que a nota que vejo do motorista é realmente a dele ou de outro que veio atender em seu lugar?)

Primeira sugestão: poder reclamar antes da viagem ocorrer

Todo aplicativo deveria ter esta funcionalidade: se não gostei do motorista ou se veio outra pessoa, naquele momento devo alertar os responsáveis pelo aplicativo, não depois.

Estou falando isto como usuário do Windows Phone, talvez para Android seja diferente. Falando nisto…

Segunda sugestão: a segurança do passageiro não deve depender do sistema operacional do seu telefone

Se você oferece um aplicativo de transporte, está lidando com a segurança dos seus usuários. E parte da segurança vêm justamente do modo como o usuário interage com o aplicativo.

O único aplicativo de taxi que usei e possuí qualidade para usuários Windows Phone é o Way Taxi. Tirando ele, os demais simplesmente fedem.

Lançar versões inferiores de um aplicativo que pode colocar os seus usuários em risco para outras plataformas só por que possuem menos usuários. Tenho um nome adequado para esta postura: irresponsabilidade.

Sugestão? Se vão lançar uma versão inferior para uma plataforma, não lancem.

Terceira sugestão: botão de pânico durante a viagem

O motorista pode causar uma boa primeira impressão e por sua vida em risco durante o trajeto. Logo, durante a viagem eu, como passageiro, devo poder notificar a operadora dos perigos que eu possa estar correndo E devo ser atendido prontamente.

Com isto posso atuar também durante a viagem.

Quarta sugestão: seguro

Talvez isto seja feito, mas nunca vi ser divulgado. Se pego um carro usando um aplicativo, e um acidente ocorra comigo motivado por imprudência do motorista, quem me cobre?

Se você oferece serviço de transporte, por que não mostrar que confia em seus motoristas também?

(dúvida: será que eu, enquanto consumidor, se sofrer algum acidente durante o percurso devido à imprudência do motorista que contratei pelo aplicativo, posso processar a empresa que mantém o serviço?)

Quinta sugestão: uma central de atendimento POR TELEFONE

O incidente ocorreu e você busca as opções de feedback no aplicativo: você está tenso, não consegue achar e, às vezes, realmente não existe. Por que não há um número de telefone de fácil acesso nestes programas???

Se houvesse um número e você pudesse ligar para uma central, que te fornecesse um número de protocolo ou qualquer coisa, a situação seria muito mais fácil. Falar é mais fácil que digitar, sabiam?

Lembram o incidente que mencionei no início deste post? Só pude reportar a operadora em casa, pois não encontrei a funcionalidade no aplicativo pra Windows Phone. Neste meio tempo o indivíduo estava atendendo outras pessoas pela cidade e as pondo em risco.

As antigas “centrais de taxi” tinham isto. Por que os aplicativos não podem ter também?

E mais: dado que vou ligar para reclamar por que algo está muito errado, não devo pagar por isto. Éticamente o correto é ser uma ligação gratuita.

O dia seguinte…

A operadora “prontamente” me respondeu três dias depois e, para não perder o cliente, me ofereceu R$ 20,00 de crédito. Bacana saber o preço da minha segurança, lhes disse que não queria o dinheiro mas mesmo assim o incluíram na próxima viagem que fiz com eles.

Por que fiz a próxima viagem? Me prometeram que nunca mais pegaria uma viagem com aquele motorista, idem minha esposa e minha amiga. Ok: parece justo, dei azar naquele trajeto. Não ocorrerá novamente: afinal de contas, todos dizem que este é o melhor serviço de transporte do país e que possuí o melhor atendimento, certo?

Algumas semanas depois…

Pela manhã minha esposa pede um carro pelo aplicativo. É o mesmo motorista. Ela cancela a viagem.

Então eu peço mais uma viagem com o mesmo aplicativo: o mesmo motorista, que devia estar perto de nós. Mas notei um detalhe escabroso: sua avaliação era de 4.8 estrelas (em 5).

Entrei em contato com a operadora, mas ela ainda não me respondeu.