Category Archives: Portuguese

Um conselho para estudantes de computação

graduation cap diploma isolated on a white background

Enquanto eu divulgava o projeto do meu curso de programação pelas redes sociais, uma pessoa me fez a seguinte pergunta:

Terminei meu 1º semestre de Ciência da Computação e por enquanto, tudo parece tranquilo. Mas não deixo de me preocupar quando a coisa ficar realmente “interessante”. Fico pensando naqueles códigos de tamanho imenso, na lógica maciça empregada nele. Será que não enche o saco? Resolver bugs, procurando linha por linha onde está o erro? Valeu Lucas!

Minha resposta:

Olá! Interessante sua pergunta. Me lembro que na época de faculdade eu fazia estas mesmas perguntas :-)

Apesar de projetos / códigos crescerem, eu diria pra você não se preocupar muito com isso agora. Existem ferramentas que te ajudarão a organizar tudo isso. Exemplos: criação de testes automatizados, controlador de versões (como Git), bons editores (ou IDEs), etc.

Se você quiser saber como será sua profissão futuramente, uma boa maneira de ver isso na prática é olhar os pull requests de algum projeto open-source e ver o que está sendo discutido lá. Aproveite e veja os códigos também, você vai ver que mesmo em um projeto grande, não existe bicho de 7 cabeças (ok, algumas raras vezes existe). A página de pull requests do Rails é um bom lugar pra ver isso: https://github.com/rails/rails/pulls.

Eu sou completamente apaixonado por essa área e não consigo me ver fazendo outra coisa. O bacana é que você pode trabalhar com muitas coisas diferentes, como desenvolvimento web (backend ou frontend), desenvolvimento de jogos, desenvolvimento de apps para iOS / Android, robótica, IA, BI, entre outros – a lista é grande. Enfim, é uma área muito bacana :)

Claro: nem tudo são flores. Tem dia que enche o saco, tem dia que nada funciona e isso pode ser um pouco irritante. Mas nada que uma noite bem dormida e um bom café pra renovar e partir pro código novamente.

Minha dica final é: siga pessoas da área. Mas não se limite somente à blogs, veja também o que bons programadores (brasileiros e gringos) estão falando nas redes sociais, leia bons livros, participe de eventos da comunidade (exemplo: GuruSP), seja curioso (pergunte sempre) e não se limite somente ao que a faculdade pode te oferecer.

Durante o período de faculdade você tem basicamente 3 fontes de aprendizado: sozinho (auto-ditata), através de colegas e através das aulas (professores). Todas são importantes, mas nunca siga seu caminho utilizando apenas as aulas. Conseguir ler bons livros, criar uma boa base de conhecimento na área ou fazer boas amizades durante esse período é essencial. Além disso, colegas da faculdade são potenciais futuros colegas de emprego (podem te ajudar a conseguir um) ou ainda futuros sócios! :)

Coisas sobre Linux que me chamaram a atenção recentemente

LinuxVersions

Você pode não saber (ou esquecer às vezes), mas o Linux está muito presente na sua vida. Mesmo que você não o use diretamente como sistema operacional principal, mais da metade dos sites que você acessa está rodando em plataforma Linux. Isso inclui empresas gigantes como Google, Facebook, Twitter, Soundcloud, Amazon, Spotify, etc – a lista é muito, mas muito longa. A maioria dos filmes que você assiste utilizam Linux para renderizar cenas extremamente complexas que às vezes levam semanas ou mesmo meses para serem renderizados. O sistema móvel Android também é um Linux também caso você não saiba. E o seu roteador e a sua SmartTV provavelmente rodam Linux também!

Embora atualmente meu computador principal rode OS X, eu estou em contato com vários servidores que rodam Linux os quais acesso frequentemente. Além disso, utilizei Linux como S.O. principal de 2007 à 2011, através das distros Ubuntu e OpenSUSE (além de outras que utilizei por pouco tempo, como Slackware e Debian).

Na última semana várias coisas me chamaram a atenção no mundo Linux e esse é o motivo desse post:

1. O último episódio do podcast do Hack ‘n’ Cast (v0.3) foi uma introdução ao Linux e foi muito bom, vale a pena escutar: http://mindbending.org/pt/hack-n-cast-v03-introducao-ao-gnulinux.

2. Um amigo que é programador disse que nunca (palavra forte!) usaria Linux porque nem criar um script similar ao batch do “Janelas” ele conseguia. Bom, pensando que isso pudesse ser útil para mais pessoas, gravei um screencast ensinando como criar scripts no Linux e no Mac OS X: http://youtu.be/W84Ok6XGnow.

3. Assisti à uma ótima palestra chamada “Linux Sucks”: http://youtu.be/5pOxlazS3zs.

4. Lembrei e reli o excelente ponto de vista do Pothix sobre porque ele deixou o OS X e voltou a usar Linux: http://pothix.com/blog/development/menos-mac-e-mais-linux.

5. Pra finalizar (e descontraír), há um tempo atrás eu ganhei de um amigo que trabalha na RedHat um chapél vermelho (red hat, rá!), o qual foi parar na cabeca do Tux que eu tenho na minha estante, vide fotos abaixo. Ficou bem bacana! :-)

1

2

Bom, essa não é a primeira vez que eu escrevo sobre Linux e também não será a última. Linux é muito mais importante do que as pessoas pensam. Pense 3 vezes antes de subestimar o sistema do pinguim! ;)

Swift BR – grupo de discussão sobre a nova linguagem lançada pela Apple

swift-icon

A idéia desse grupo é fazer com que os usuários possam conhecer uns aos outros, compartilhando e discutindo idéias interessantes relacionadas à essa nova linguagem lançada pela Apple, para substituir o Objective C como linguagem padrão para desenvolvimento de aplicações tanto OS X quanto iOS.

https://groups.google.com/d/forum/swiftbr

Como aprender Ruby e Rails

ruby_rails

Vários amigos tem me perguntado como podem aprender a programar em Ruby e Rails. Vou postar aqui os mesmos vídeos e dicas que mandei pra eles, caso alguém tenha interesse também:

Por que eu voltei a usar iOS / iPhone

Em agosto desse ano, eu escrevi sobre como estava sendo minha experiência com o Android. Quatro meses depois, voltei a usar iOS. Vamos aos fatos: eu pretendia ficar mais um tempo com ele, mas o derrubei e a tela parou de funcionar completamente. Como eu já estava bastante ansioso pra voltar a usar o iOS / iPhone, aproveitei a oportunidade e comprei um iPhone 5s.

hero_start__posterframe

Mas o Android estava tão ruim assim?

Não.

Antes de mais nada, vou ser sincero: Android é sim um excelente sistema.

android

Conforme o que eu escrevi, eu tinha um Samsung S4 e o Android estava me atendendo perfeitamente bem no começo, mas depois de um tempo comecei a ter alguns problemas com a ROM original (da Samsung): lentidão, o fato de eu não poder atualizar, etc. Essa imagem que mostra bem claramente o problema das atualizações do Android:

03-ios-android

Antes que o Jonas me xingue, algo que deve ficar claro: não devemos resumir a experiência de usar Android somente se baseando na experiência de usar um Samsung. Mas o fato é que o Samsung S4 é um dos aparelhos mais utilizados atualmente, por isso achei que eu não fosse ter esse tipo de problema.

Resolvi então colocar uma versão pura do Android (vale ressaltar que essa ROM não era oficial). Ficou bom no começo, mas depois de um tempo, ficou pior: as apps davam crash toda hora e o sistema como um todo ficou lento. Tentei voltar para a ROM da Samsung (ou até alguma outra – exemplo: Cyanogenmod), mas era tanta gambiarra que desisti.

O que eu ganhei voltando para o iOS / iPhone

ios

  • Podcasts – uma app decente para o que mais faço com o meu celular: escutar podcasts. Não encontrei nenhuma app (free ou paga) que me atendesse 100% no Android. E isso o Podcasts da Apple faz muitíssimo bem;
  • iOS 7 – o novo sistema está muito estável e muito bonito.
    O que mais eu posso querer? ¯\_(ツ)_/¯
  • Gerenciamento de arquivos – Não tenho mais que me preocupar em que diretório os arquivos estão (e não saber se estou desperdiçando espaço);
  • Find my friends – as opções do Android não eram muito boas (Testei o “Life360″ e alguns outros);
  • Calandários perfeitamente sincronizados – Várias items do meu calendário estavam no iCloud. Agora calendários do iCloud, do Google e do Facebook estão perfeitamente sincronizados;
  • Sensação de controle do que está realmente acontecendo no aparelho – Em vários momentos você tem a noção de perder esse controle no Android;
  • Fluidez – Somando o processador A7 (64 bits \o/) e a boa integração entre hardware e software, a fluidez / estabilidade do sistema como um todo ficam fantásticas;
  • Camera com suporte à 120fps (slow motion) – simplesmente sensacional;
  • Earpods – os novos fones são ótimos;
  • Touch ID – Sem muito o que falar, é sensacional também.

touchid_hero

Uma coisa interessante e que antes era exclusivo do Android é o relatório de consumo da banda 4G separado por app, o qual agora está disponível também no iOS 7.

4g_usage

O que eu perdi deixando o Android

  • Notificações – O LED, os mini-ícones perto do relógio e a sincronia perfeita com as apps – tudo isso somados fazem as notificações do Android serem melhores que as do iOS;
  • Relatório de consumo da bateria – Isso simplesmenete não existe no iOS;
  • Instalar apps via web – sinto falta disso, funciona muito bem no Android;
  • Teclado swipe – fiquei mal acostumado com esse teclado também. Mais um ponto pro Android.

Conclusão

ios_hero

Das principais opções atuais, iOS / iPhone é o que me atende melhor.