VidaGeek.net

Linux, Open-source, Programação e Produtividade

Archive for March, 2009

synronize-with-google

Talvez isso seja notícia velha, mas graças ao LifeHacker eu descobri como sincronizar o meu AddresBook com o Gmail.

Sabe se lá porque, a Apple escondeu a opção de sincronização de contatos apenas para quem tem um Iphone, todavia existe um possível hack para habilitar essa funcionalidade. Primeiro faça um backup do arquivo ~/Library/Preferences/com.apple.iPhod.plist , depois substitua seu conteudo por:

{ Devices = { red-herring = { ‘Family ID’ = 10001; }; }; }

Salve o arquivo e abra o AdressBook, e vc vai ganhar o menu de sincronização do gmail. Apareceu na minha barra também um ícone de sincronização (o mesmo usado para o Mobile Me), e quando eu mando sincronizar ele sincroniza meu n95, meu AddressBook e os contatos do Gmail. Se o Ícone não aparecer para você, abrir o ISync pode ajudar.

Explicando um pouco mais, parece que basta que o arquivo com.apple.iPhod.plist tenha qualquer dispositivo com o Family ID = 10001, então se vc tiver ipod ou alguma outra coisa sincronizada, basta mudar o ID. Se você tem um Iphone, a opção já deve estar lá. Por fim, eu achei que remover o conteúdo e trocar por essa linha ia causar algum problema com a sincronização do meu IPod Shuffle, mas no final das contas quando conetei ele o Itunes simplesmente arrumou a configuração.

Posts Relacionados:

  • Mac Widgets
  • Remember the Milk no Gmail
  • SNL - SEO Book
  • Java 1.6 no Mac
  • Sincronizando o OpenOffice com o Google Docs
  • Google Books Search ganha apoio alemão
  • Notícias Fresquinhas
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 5 Comments
  • Filed under: Mac
  • Truques do Bash

    Outro dia desses um amigo meu me mostrou o command line fu, um site de comandos bash. A princípio eu achei besteira, até ver a riqueza dos comandos que eu não conhecia. Seguem alguns exemplos:

    1) Esqueci do sudo…

    Você está lá, mudando as permissões de arquivos de vários diretórios, e digita:

    $ chown fabsn Java/ Perl/ Ruby/
    chown: Java/: Operation not permitted
    chown: Perl/: Operation not permitted
    chown: Ruby/: Operation not permitted

    Aí você pensa: “putz, esqueci do sudo!”. O que você faz?

    $ sudo !!

    Sim. O comando ! é o histórico, experimente digitar !ls, ele vai rodar o seu último ls, ou por exemplo !cd, e ele vai rodar seu último comando cd. Digitando !! ele roda seu ultimo comando.

    2) Digitei errado

    Você está fazendo um branch bzr, e digita:

    $ bzr co bzr+svn://umdominio.qualquer.ALI/meubranch/essapasta/essearquivo.extensão

    Mas então você se lembra que o branch está em umdominio.qualquer.AQUI. O que você faz, seta para cima? Não:

    $ ^ALI^AQUI

    bzr co bzr+svn://umdominio.qualquer.AQUI/meubranch/essapasta/essearquivo.extensão

    Sim, ele acabou de rodar o último comando trocando a string ALI por AQUI. Mágico, não?

    Bom, esses e outros comandos estão disponíveis em command line fu. Convido todos que acharem algum comando mais interessante lá a deixarem um comentário.

    Posts Relacionados:

  • Aprendendo Bash
  • Trocando chaves rsa rapidamente
  • MacOSX Terminal e os Alias do Finder
  • Integrais
  • Séries
  • Como remover os malditos .svn
  • Um pouco de Bash - Parte I
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 3 Comments
  • Filed under: Uncategorized
  • Linguagens de Programação - Basic

    Voltando hoje com a nossa série “Linguagens de Programação”, temos um post de um de nossos leitores: André Luis Zary Mariano da Silva. André tem 17 anos, mora em Porto Alegre e é estudante do primeiro ano do ensino médio, técnico em informática e programador freelancer. Também escreve o blog “C, C++, Java e baboseiras”.

    Visual Basic Logo

    Visual Basic: uma versão de Basic adaptada para criar aplicações gráficas com rapidez

    Basic é utilizada na área de programação como uma linguagem de ensino da lógica. Claro que hoje é sem sentido dizer que ainda se usa Basic puro comercialmente. Temos o QBasic (Quick Basic a mesma do Free Basic), ou o Visual Basic, que são uma espécie de modernização da linguagem - do mesmo jeito que aconteceu com a BCPL (a BCPL foi modernizada para B que, por sua vez, foi para C).

    O motivo dessa linguagem ser usada no ensino da lógica é porque ela foi desenvolvida para ser uma linguagem extremamente de alto nível, ou seja, bem próxima da linguagem humana. No caso do VB e do QB, o inglês e, no caso do FreeBasic, o português.

    O principal benefício do Basic é que se pode criar aplicações de baixo e médio porte com relativa simplicidade e rapidez, enquanto que, em outras linguagens, como o C/C++ e Java, o processo é mais longo.

    Um dos males do Basic é que a biblioteca de funções não é externa, e sim interna, ou seja, junto a linguagem. Mas ainda é uma linguagem muito divertida por:

    • Ser fácil para ser utilizada por iniciantes na programação (tanto por hobby ou profissão);
    • Ser uma linguagem de programação para qualquer coisa;
    • Permitir que fossem adicionassem características avançadas, sem tornar a linguagem mais complicada para os usuários;
    • Fornecer mensagens de erro claras e amigáveis;
    • Responder rapidamente para programas pequenos;
    • Não exigir o conhecimento do hardware do computador (o que assusta muito os iniciantes);
    • Proteger o usuário de erros causados pela má programação no sistema operacional.

    Ainda hoje, mesmo já conhecendo outras linguagens, muitos escrevem funções nela, já que a sua sintaxe é extremamente parecida com a da pseudo-linguagem, o que torna fácil depois a passagem para a linguagem utilizada no projeto.

    Então, analisando-se a linguagem pode-se dizer que, mesmo sendo uma linguagem “amadora” (como ainda hoje em dia é chamada), é muito útil tanto pelos motivos ditos acima como, por exemplo, influenciar linguagens, como no caso do Visual Basic.Net e do VBScript, dando chance, assim, para que amadores possam continuar com uma linguagem relativamente simples e usando recursos modernos.

    Imagem retirada do site http://esafonsosanches.nonio.uminho.pt/course/view.php?id=76

    Posts Relacionados:

  • Visual Basic no Linux
  • CodeIDE
  • Construção de interfaces com o Glade
  • Lambda the Ultimate
  • Linguagens de Programação - C
  • Linguagens de programação - C++
  • Aprenda Comandos Básicos de Linux
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

    Por tudo que é sagrado, escrevam testes!

    Acho que já passou da hora dos programadores amadurecerem um pouco quanto a necessidade de testes para TODA e QUALQUER aplicação que seja escrita, independente do tamanho. Acho que já passou muito da fase na qual a arrogância era o suficiente para você acreditar que sua aplicação funcionaria sem testes, afinal, você é o melhor programador do mundo.

    “Mas o Knuth não usa testes. A gente tem que seguir o exemplo dos melhores”.

    Concordo. Temos que seguir o exemplo dos melhores programadores do mundo. Mas lembre-se, Knuth não usa testes porque ele é o Knuth. Se ele diz que a aplicação dele funciona sem escrever testes eu acredito. Se isso é bom, acho questionável. Knuth não trabalha com mercado. Ele não trabalha dando manutenção em código. Ele trabalha apenas em projetos onde ele tem controle total (vale lembrar que embora o TeX seja aberto, apenas o Knuth pode usar o nome TeX). E ele é um dos maiores programadores do mundo. Uma realidade bem diferente da qual eu e você passamos todos os dias.

    Sei que o mundo já gritou a muito tempo que sem testes não rola nenhuma aplicação (já ouviu falar dos caras que escreveram o Manifesto Ágil? Não? Onde você viveu nos últimos anos?). Dos maiores aos menores bons programadores. Por que raios seguir o exemplo desses caras? Será que eles realmente não sabem o que estão falando?

    Dê uma chance ao que eles estão dizendo.

    Eu, que não sou ninguém ainda, consigo ver incontáveis vantagens em usar testes.

    • O tempo de desenvolvimento diminui a partir da terceira semana consideravelmente (Não temos mais que nos matar caçando bugs de regressão e esperando o pessoal de QA dar aval);
    • Em geral testamos o código com um main, pra ver se está funcionando. Qual a diferença de tempo entre isso e escrever um teste de verdade que vai te ajudar por todo o projeto?
    • Sabemos exatamente qual modificação causou uma quebra de compatibilidade (em vez de saber em qual mês ela ocorreu);
    • Não precisamos lembrar de absolutamente todo o código. Se esquecer, dê uma olhada nos testes daquela parte do código e pronto;
    • Se alguém for dar manutenção no código daqui a 6 meses e incidentalmente introduzir um bug, os testes vão avisar;
    • Integração contínua funciona por causa dos testes;
    • Refactoring funciona por causa dos testes;
    • Agile development funciona por causa dos testes;
    • O Design da sua aplicação tende a ficar melhor e menos acoplado;
    • Entre outros, o que eu considero mais importante é o fato de poder dormir em paz, sabendo que meu código está funcionando. Ninguém vai me ligar no fim de semana (ou no meio da noite) para arrumar um sistema que está em produção.

    E você ainda acha que não vale a pena investir nisso? Ignore o que os programadores de 30 anos atrás ainda estão falando (a não ser que eles tenham bom senso e usem testes).

    Mas como faço para escrever testes? Primeiro, clique aqui.

    Gostou? É assim que se aprende muito em computação sobre o que é relativamente novo no mercado. E testes infelizmente ainda são relativamente novos no mercado.

    E depois? O que eu devo fazer? Bom, de agora em diante, apenas ter disciplina para escrever os testes para as suas funcionalidades. Pronto. E o mundo está quase salvo =D .

    Programadores não podem ter medo de aprender coisas novas. O novo, em programação, é o que vai garantir que possamos chegar em casa e viver um pouco, em vez de apenas trabalhar por horas até a exaustão.

    Posts Relacionados:

  • Testes unitários em C++
  • Os criadores do Skype atacam novamente…
  • Dia C - Usando testes para o desenvolvimento
  • TDD para Ruby - Fibonacci
  • Infinitest
  • FISL 9.0: Coding Dojo
  • Um caso de ódio e talvez um pouco de amor (Também conhecido como automatizadores de build)
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.