As emocionantes aventuras de um sysadmin linux na procura pelo uptime perfeito!

Programando Androids – Parte 1

Posted: maio 5th, 2009 | Author: coredump | Filed under: Programação | Tags: , | 4 Comments »

android_t1Nos últimos dias eu vendi meu HTC Tytn II e troquei por um T-Mobile G1 rodando Android. Tenho de dizer que de todos os sistemas operacionais para telefones que eu já usei, o Android é o que mais me deixou satisfeito. Ainda faltam uns cantos para serem lapidados, mas de saída ele já é bem melhor que Symbian e Windows Mobile.

De quebra, eu resolvi baixar o SDK do Android para dar uma olhada e acabei programando um bocadinho e pegando gosto pela coisa. Mesmo sendo Java. Eu tenho (tinha?) uma certa ojeriza de Java mas como a unica opção para o Android era essa, fazer o quê né. Resolvi escrever esses posts porque a medida que eu for entendendo e descobrindo novas coisas eu acabo revisando o conhecimento.

Tipos de aplicações Android:

Quando você faz uma aplicação Android, ela pode ser formada de Activities, Content Providers, Intents ou Services. Se não me engano, você pode inclusive ter vários destes em uma única aplicação.

Activities (Atividades) são basicamente janelas ou coisas visíveis do seu programa. Um diálogo, uma janela mostrando dados ou widgets para entrada de dados, etc.. Tudo isso são Activities.

Content Providers (Provedores de Conteúdo) são ‘ganchos’ que você cria em seu programa para disponibilizar informações para outros programas. O Android tem um conceito bem compartimentado, cada aplicação tem seu próprio processo, espaço em disco e memória, os Content Providers fornecem uma forma de disponibilizar informações de seus programas para outros.

Intents (Intento ou Intenção) são a versão Android de mensagens entre processos e eventos. Basicamente um Intent é um ‘sinal’ que é enviado DA sua aplicação ou PARA a sua aplicação. Por exemplo, quando uma mensagem SMS chega, um Intent é disparado para avisar a todas aplicações dessa mensagem, sua aplicação por exemplo pode observar esse Intent e fazer algo para responder ao mesmo. Da mesma forma, você pode criar um Intent na sua aplicação que será enviado ao sistema (e a alguma aplicação que esteja esperando por ele).

Services (Serviços) são os programas que ficam ‘na memória’ e não tem uma janela ou diálogo. Como os daemons do linux/unix. Serve para repetir aquelas tarefas que tem de acontecer mesmo com o programa não estando ativo, como checar emails, continuar tocando música depois de fechar a tela do player propriamente dida.

Para todos estes tipos de aplicações, estão disponíveis todos os recursos do Android: Armazenamento (na memória interna ou no cartão SD), Rede, Multimídia (câmeras, decodificadores de vídeo e áudio via hardware), GPS e serviços telefônicos como envio de SMS e chamadas.

Em tempo: os posts seguem a mesma estrutura do livro “The Busy Coder’s Guide to Android Development“. Ótimo livro para iniciantes. O serviço de assinatura dele é legal, você paga 35 dólares e por um ano tem acesso aos PDF’s de todos os livros e atualizações.


Desenvolvimento seguro e software livre

Posted: dezembro 11th, 2008 | Author: coredump | Filed under: Linux e Open Source, Programação | Tags: , | 1 Comment »

Acabei a poucos dias atrás de escrever o trabalho final da faculdade. Para o trabalho eu conversei com o kov sobre segurança no Gnome e Debian, com o Mark que coordena um grupo de segurança do Apache e com alguns desenvolvedores do WordPress. Eu também tentei incluir o OpenBSD mas aparentemente a paranóia deles é meio grande demais (não consegui informações além das que estão no site).

O que eu conclui foi que os projetos de software livre tem sérios problemas quando se fala de desenvolvimento seguro. Claro que a amostragem que eu tenho não representa nada quantitativamente, mas qualitativamente estamos falando de uma grande distrubuição, um web server que serve metade da WWW, um ambiente gráfico que é padrão em várias distribuições e uma plataforma de blogs que é a mais utilizada. Então eu me sinto confortável em generalizar a situação.

Uma parte do meu trabalho era também sugerir algumas práticas para melhorar essa situação e colocar um mínimo de desenvolvimento seguro nos projetos que existam ou ainda vão existir. Eu sei que isso também é um bocado ambicioso, mas no mundo livre todo mundo pode contribuir com algo que pode vir a ser uma boa idéia :)

Eu vou fazer posts nos próximos dias descrevendo as 4 práticas que eu descrevi como melhores práticas, baseado nos Touchpoints de Gary McGraw, o SDL da Microsoft e o CLASP do OWASP.

Stay tuned.

intel


Top 2008 – Os melhores do ano na minha opinião

Posted: dezembro 3rd, 2008 | Author: coredump | Filed under: Gaming, Literatura, Música, Programação, TV | Tags: , , | 3 Comments »

Bom, eu ia fazer um top 5, mas daí descobri que eu não tenho tanta coisa assim pra colocar numa lista :) Então me concentrei em colocar as melhores coisas que eu achei esse ano, e ai, concorda, descorda, qual é a sua lista?

Filme: Iron Man
Série de TV: House
Anime: Bleach
Disco: Dig, Lazarus, Dig! – Nick Cave and the Bad Seeds
Jogo de PC: Warhammer Online
Livro: Reader and Raelynx – Sharon Shinn
Programa de tv infantil: Backyardigans
Filme infantil: Kung-Fu Panda
Software: Ubuntu 8.10

E finalmente,

Top FAIL de 2008: Age of Conan (jogo de PC)

intel


Manifesto dos 10 pontos sobre como trabalhar melhor

Posted: setembro 19th, 2008 | Author: coredump | Filed under: Programação | Tags: | 1 Comment »

Traduzindo do post no Lifehacker:

1- Faça uma coisa de cada vez
2 – Conheça o problema
3 – Aprenda a ouvir
4 – Aprenda a fazer perguntas
5 – Reconheça senso e falta de senso
6 – Aceite mudanças como inevitáveis
7 – Admita erros
8 – Fale simplesmente
9 – Seja calmo
10 – Sorria

Não dói, e faz sentido.

intel


Apps legais para iPhone 2.0 (Cydia e App Store)

Posted: agosto 6th, 2008 | Author: coredump | Filed under: Programação | Tags: | 4 Comments »

Então, com o iPhone jailbroken fica mais fácil viver. Sério, eu tento imaginar como as pessoas que vivem no mundo AT&T sem jailbreak conseguem viver sem algumas aplicações.

Nos últimos dias o Cydia deu uma melhorada no catálogo de aplicações “alternativas”, mas ainda está muito longe do antigo Installer.app, mesmo assim já existem alguns softwares notáveis. Alguns aplicativos que eu recomendo:

  • BrFix (Cydia): Resolve os problemas com Caller Id com números nacionais e adiciona os ícones das operadoras brasileiras que ficam aparecendo ali do lado do medidor de sinal. Indispensável.
  • Winterboard (Cydia): DJAGA como este aqui fez falta. A interface do iPhone pode ser muito bonitinha mas viver sem os temas do Summerboard estava complicado. O Winterboard tem uma interface horrorosa mas aplica os temas compatíveis com o Summerboard sem falha, de wallpaper a icones. Indispensável.
  • Flashlight (Cydia ou App Store): Sejamos sinceros, o que mais tem na App Store são aplicativos que transformam o iPhone em lanterna. Eu particularmente uso o que está no Cydia, porque ele realmente aumenta o brilho do LCD, os da App Store são bem ruinzinhos.
  • Remote (App Store): Você associa seu iPhone com seu iTunes no computador ou Apple TV e via rede sem fio controla o funcionamento do mesmo. Procurar albuns, músicas, etc. Legalzinho.
  • WordPress (App Store): Postar em blogs WordPress direto do telefone! Nunca testei direito, digitar grandes coisas no iPhone ainda é um saquinho.
  • Bubbles (App Store): Tá bom, este é meio debilóide mas instalei porque meu filho gosta de brincar com o iPhone (muito para o meu desespero). Passando o dedo pelo LCD cria bolhas e tapping estoura as bolhas com efeito visual e barulhinho. Divertido.
  • YouNote (App Store): Um criador de notas multi-facetado. O mesmo programa permite gravar notas de voz, texto, fotografia e desenhando com o dedo. Eu já usei algumas vezes, muito mão na roda.

Quando eu for instalando mais coisas eu vou postando denovo.

intel