últimos artigos:

Instalando o Snow Leopard

2010/02/07 | por renato | não há comentários ainda comment

Clean Install - com direito a formatação do HD

O backup

Talvez a parte mais importante e trabalhosa na instalação limpa de qualquer sistema operacional seja o backup, eu acho uma das partes mais chatas, mas também é a parte onde se encontram arquivos esquecidos, sumidos e uma boa hora para rever a importância de cada aplicativo ou arquivo presente na sua máquina.

Por sorte, o Mac OS X é um sistema bem amigável quando se diz respeito ao backup, provavelmente, a maneira menos custosa de se fazer é via Time Machine, mas como não uso o Time Machine, fiz do jeito “tabajara” mesmo.

Basicamente, há dois diretórios para se copiar, o Applications onde deveriam estar todos os seus aplicativos e o seu diretório de usuário, que é onde estão todos os outros arquivos que você provavelmente precisará, insto inclui seu Desktop, Documents, Downloads, Library, Movies, Music, Pictures e tudo mais que você tiver colocado lá.

A cópia do diretório Applications é opcional, uma vez que você deve ter todos os softwares para instalar depois, você pode querer apenas uma lista dos softwares que posui para poder instalar posteriormente, se for este o caso, use o seguinte comando no terminal:

ls /Applications/ >> meusapps.txt

Este comando irá criar um arquivo .txt com uma lista (resultado do ls) de tudo que estiver dentro de /Applications/, ou seja, todos os seus softwares.

Eu particularmente prefiro copiar logo o diretório Applications inteiro, assim, depois de instalar o novo OS é só jogar os softwares faltantes pra dentro do novo diretório Applications e ser feliz.

Já o diretório de usuário é só copiar tudo, depois você pode separar o que será ou não usado. Lembre de copiar o diretório todo, incluindo Desktop, Documents, Downloads, Library, Movies, Music, Pictures e o que mais tiver.

Se você é desenvolvedor, pode ser que tenha algo importante em outros locais como /usr/local/ por exemplo, se for este o caso, procure os dados que precisam ser preservados antes de limpar seu HD.

Com isto o backup deve estar completo, um HD externo deve ser uma boa pedida, pois o backup pode passar dos 100Gb dependendo do que você tem.

A instalação

O Snow Leopard, é uma atualização do Leopard e não tem a opção “erase and install” como nos sistemas anteriores, sendo assim, eu fiz o seguinte no MacBook, instalei o Tiger pelos discos de instalação escolhendo a opção “erase and install” para apagar tudo o que tinha no HD, fiz o upgrade para Leopard e depois mais um upgrade para Snow Leopard, achei que assim iria preservar tudo que veio nos discos de instalação e seguiria uma ordem sem perder nada. Mas notei o seguinte, a primeira instalação (Tiger) consumiu 17Gb de espaço, já o Leopard pulou para 25Gb e por último, o Snow Leopard caiu para 19Gb, isto contando todos os extras que vieram nos discos de instalação.

Fiquei achando que o Snow Leopard apaga muita coisa inútil e se pudesse instalar ele direto seria bem mais fácil, a unica coisa é que não teria iLife e nada que veio nos discos de instalação, mas isto é o de menos.

Sendo assim, no iMac resolvi fazer uma instalação limpa só do Snow Leopard.

Para fazer uma instalação limpa, direto pelo DVD do Snow Leopard, faça o seguinte:

1) Insira o DVD do Snow Leopard;

2) Reinicie o computador, quando ouvir o barulho clássico da inicialização, aperte e segure a tecla C, isto irá forçar o boot pelo disco. Assim que aparecer o logo da maça você já pode soltar a tecla C;

3) Assim que o Mac bootar pelo disco você verá a tela de inicio de instalação e também um menu superior, vá em Utilities > Disk Utility > Selecione o HD correto > Clique na aba Erase > Escolha o formato Mac OS X Extended (Journaled) nomeie o disco se quiser > clique em erase…;
Caso tenha partições no disco, cuidado para não apagar a partição errada.

4) Feche o Disk Utility e volte para a tela de instalação;

5) Clique continue, escolha o disco em que quer instalar o sistema e clique em install.

Depois de uns 30 e poucos minutos o Snow Leopard estará instalado.

Se quiser instalar por exemplo o seu iLife ou qualquer outro software que veio instalado no seu Mac, pegue os discos de instalação e instale apenas os aplicativos, opção: “bundled applications only”.

Feito isto, é só repor os arquivos do backup nos seus respectivos lugares e pronto, sistema novinho em um HD zerado.

Configurações iniciais e aplicativos úteis

Cada usuário acaba criando hábitos no uso de qualquer sistema operacional, vou listar algumas coisas que gosto de fazer antes de começar a trabalhar com o novo OS.

1) Velocidade de “tracking” do mouse
É impossível trabalhar com aquele ponteiro do mouse lerdo, parece que alguma coisa está com defeito, dependendo do mouse eu deixo no máximo “fast”. Já aproveito para habilitar o botão direito do mouse, pode parecer besteira, mas tem muito usuário de Mac que fica sem o botão direito sem saber.

2)  Quicksilver
Normalmente este é o primeiro software que instalo nas minhas máquinas, ele é uma ótima maneira de agilizar tarefas corriqueiras, como abrir um aplicativo, abrir ou mover um arquivo e muitas outras que você vai descobrir brincando com ele.
Site do Quicksilver.

3) Layout do teclado
Até o Leopard, não existia layout de teclado onde se pudesse usar o teclado americano e o português como idioma de entrada, assim tínhamos de instalar um layout adicional, há um layout US International desenvolvido por Rainer Brockerhoff, que pode ser encontrado aqui.
Mas para minha surpresa, o layout do Rainer foi incorporado no Snow Leopard.
Para configurar os layouts de teclado, basta ir em System Preferences > Language & Text > Input Sources


4) Enchergando todos os arquivos
Gosto de poder ver pelo Finder, todos os arquivos do meu sistema, há algumas maneiras de se fazer isto, a maneira mais “roots” que é pelo terminal, para isto pode-se rodar os seguintes comandos:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

Ou da maneira mais fácil que é usando algum aplicativo, para isto, uma ótima opção é o OnyX, este aplicativo é uma ferramenta de manutenção, muito bom para verificação de discos e reparar permissões, mas dentre suas funções, há a opção de habilitar a visualização de arquivos ocultos.
Para isto, abra o OnyX, vá em
Parameters > Finder > Show hidden files and folders

5) Personalizando a barra de ferramentas do Finder
Outra coisa que sinto falta no Finder em uma nova instalação, são mais opções na barra de ferramentas, basta ir em View > Customize Toolbar e montar sau barra de ferramentas.

6) iStat Menus
Outro aplicativo bem bacana é o iStat Menus, com ele consigo monitorar toda a saúde das minhas máquinas, vale a pena dar uma olhada.

Com isto eu acredito que o setup inicial está feito, agora é só instalar os softwares de uso, configurar contas de e-mail, ambiente de desenvolvimento para desenvolvedores e por aí vai.

Categoria: Blog, Mac
Tags: ,
Comentários: 0

Instalando o Snow Leopard – Introdução

2010/02/07 | por renato | não há comentários ainda comment

Como não podia deixar de ser, estou instalando o Snow Leopard com um pequeno atraso, uns 6 meses eu diria.

Mas grande parte das anotações que estou fazendo vão servir para atualizações futuras do sistema operacional.

Tenho o Mac OS X desde o Jaguar, quando comprei meu primeiro Mac em 2003, um eMac G4 que tenho até hoje, mas fiz a “formatação” da máquina, ou seja, a “clean install” uma ou duas vezes, fui apenas fazendo os upgrades e nunca tive problemas. Desta vez, resolvi que ia fazer uma limpeza geral nas duas máquinas que uso hoje, um iMac e um MacBook, mas o trabalho foi tanto que resolvi registrar alguns passos por aqui.

Antes de começar, queria comentar sobre algo que me chamou atenção no Snow Leopard, onde foi parar a caixa?
Com exceção do Leopard, que não veio nem embalagem porque ganhei da Apple (tinha comprado as duas últimas máquinas pouco antes do lançamento), todos os outros OS que comprei vieram em caixas bacanas, material de qualidade, manual e as firulas da Apple.
Mas quando vi o cara trazer o Snow, fiquei pensando… caramba, já paguei e ainda vou ter que pegar esse “cartãozinho” que o cara jogou na sacola e trocar em algum lugar quer ver? Engano meu, era o próprio que já estava na sacola, uma caixinha “safada” que já veio meio amassada e abrindo nos cantos.

Está certo que não faço nada com as caixas, talvez tenha até alguma relação com o impacto ambiental (que eu acho difícil), mas para quem já pegou produtos estilosos com toda aquela experiência que começa já na abertura do produto, foi meio broxante.

Alguém por acaso comprou um dos primeiros iPods? Eu comprei um, lembra como eram as embalagens? Já comparou com as de agora?

Enfim, vamos logo para o que interessa, Snow Leopard!

Categoria: Geral, Mac
Tags: , , ,
Comentários: 0

Tirando as teias de aranha…

2010/02/06 | por renato | não há comentários ainda comment

Pois é, depois de ficar meses sem postar nada por aqui, resolvi tentar mais uma vez. Aproveitar que estou fechando uma série de mudanças na vida pessoal e profissional para tentar reanimar o projeto deste blog que estava meio largado. Acabei de constar que a meia dúzia de assinantes do feed rss sumiram, vamos ver se desta vez consigo atingir a marca de uma dúzia completa de leitores. :)

Eu estava escrevendo uma série sobre os meus estudos de programação na linguagem Ruby, mas meus artigos eram escritos a partir de anotações que fiz no caderno em meados de 2008 e depois para completar, fiquei  quase 6 meses sem conseguir postar nada aqui.
De lá pra cá, mudou tanta coisa que não vejo mais motivo para dar continuidade na série, se um dia a vontade voltar eu penso novamente.

Por enquanto vou tentar escrever mais posts sobre assuntos presentes, vamos ver no que vai dar…

Categoria: Blog, Geral
Tags:
Comentários: 0

Ruby #6 – Métodos 2, métodos, métodos!

2009/09/08 | por renato | não há comentários ainda comment

Quando falamos de métodos, os primeiros a darem as caras são o “puts” e o “gets”.

puts ‘Hello World!’

Isto é um exemplo clássico de todas linguagens e já usamos o puts. Ok, usamos o puts, mas se ele é um método, onde está o objeto?
Este é um caso a parte, onde o objeto oculto é ele mesmo, “self”, então quando escrevemos:
puts ‘Hello World’
é o mesmo que:
self.puts ‘Hello World’

Métodos puts e gets:

puts ou “put string” – tenta converter o que vier na sua frente em string e retorna o resultado na tela

gets ou “get string” – pega todas as ações executadas no teclado até que se aperte ENTER

O gets também pega a quebra de linha quando apertamos ENTER, para evitar isto usamos o método .chomp para mastigar a string e nos entregar sem a quebra de linha.

Segue abaixo mais métodos em uma pequena lista:

Métodos de String:
.reverse – Reverte a ordem dos carácteres de uma string.
.length – Calcula a quantidade de carácteres de uma string.
.upcase – Converte os caracteres de uma string em maiúsculas.
.downcase – Converte os caracteres de uma string em minúsculas.
.swapcase – Iverte todos os caracteres, maiúsculas para minúsculas e minúsculas para maiúsculas.
.capitalize – Deixa o primeiro caracter maiúsculo.
.center – Cetraliza o conteúdo de uma string.
.rjut – Alinhar a direita.
.ljust – Alinhar a esquerda

Métodos de comparação:
> – Maior que
< – Menor que
>= – Maior ou igual a
<= – Menor ou igual a
== – Igual a? (importante notar que isto é uma pergunta, não uma afirmação como =)

Obs.: Uma observação sobre método de string .reverse é que quando testei uma string acentuada, a mesma retornou com os caracteres quebrados.

reverse01

Retorno:
reverse02

Os caracteres quebrados só aparecem na string onde usei o método .reverse, o que me leva a crer que é algum problema no método, mas não descobri ainda se é ou qual é o problema.

Se você sabe o que acontece com o método .reverse, peço que me explique, a versão do Ruby que estou usando é a 1.8.6.

Ainda há vários outros métodos para vermos, inclusive os que eu ainda não conheço, mas aos poucos eles vão aparecendo.

Categoria: Aprendendo Ruby
Comentários: 0

Ruby #5 – Métodos, entendendo o que acontece

2009/09/06 | por renato | não há comentários ainda comment

Se objetos (como strings, inteiros e floats) são os substantivos na linguagem Ruby, os métodos são como os verbos. E, ao contrário do Português (em que há sujeitos indefinidos e outras construções esotéricas), você não pode ter um verbo sem um substantivo para executar o verbo. Mas mesmo o Português trata a ausência de um substantivo como exceção: por exemplo, contar o tempo não é algo que simplesmente acontece; um relógio (ou cronômetro, ou algo parecido) deve fazê-lo. Em Português diríamos: “O relógio conta o tempo”. Em Ruby dizemos relogio.tiquetaque (presumindo que relogio é um objeto Ruby, claro). Programadores podem dizer que estamos “chamando o método tiquetaque do relogio,” ou que “chamamos tiquetaque no relogio.”
tirado da tradução do “learn to program”

Ou seja, métodos são coisas que fazem coisas, mas fazem coisas em objetos. Um método por si só não faz nada, afinal ele é um “método” de fazer algo, este algo no Ruby é um objeto.

A relação de método e objeto é como uma simbiose, andam juntos e ambos se beneficiam.

Já vimos que para usar determinados métodos usa-se um ponto (.) entre o objeto a ser manipulado e o método que vai manipulá-lo, então sempre temos objeto.método.

Ex.: Em 171.to_s para converter um inteiro em string, 171 é nosso objeto e .to_s é nosso método.

O que não sabemos de início, é que alguns métodos estão implícitos, como nos métodos aritméticos:
metodos_implicitos1

O resultado é o mesmo:
metodos_implicitos2

Para não precisarmos digitar o ponto toda vez que usamos um método, alguns já estão implicitos, isto facilita a escrita do código e também a leitura do mesmo, que fica mais limpo.

Categoria: Aprendendo Ruby
Comentários: 0

Rollover Images, só com CSS

2009/08/09 | por renato | 1 comentário comment

Ontem tive que fazer um botão com “Rollover Image”, se você não sabe, são aqueles botões feitos com imagens que trocam quando se passa o mouse por cima. Como o botão “sobre” no topo deste site ou o botão “assinar o feed RSS” na lateral direita.

Antes de chegar na solução, vou escrever um pouco sobre o que eu já usei, antes de conseguir este resultado.

Até um tempo atrás, eu usava um código JavaScript como este aqui:
rollover_images_1

Não fui eu que escrevi, o dreamweaver fazia por mim, quando parei de usar o DW, apenas copiei o código e guardei para usar quando precisasse. Pra dizer a verdade, eu nunca procurei saber o que esse código faz realmente, ele funcionava e pra mim era o bastante.

Mas também já tinha parado de usar isso faz um tempo, estava usando só CSS com troca de background no elemento do link, que eu mesmo desenvolvi e “achava” que funcionava, era mais ou menos isto aqui:
rollover_images_2

O que acontece no código acima:
Eu uso os seletores da tag <a>, tranformo em bloco, atribuo uma largura, altura e imagem de background. Para o efeito de troca, atribuo para a:hover uma outra imagem de background.
Para tentar fazer um preload da imagem, o que eu fazia? Antes da imagem “off” (a padrão que vai ficar na tela), eu fiz a mesma coisa porém usando a imagem “on”.

Na minha cabeça o que ia acontecer é: o navegador vai passar pelo primeiro a:link, vai carregar a imagem “on”, vai passar pelo segundo a:link e carregar a imagem “off”, assim, quando o usuário passar o mouse e acionar o a:hover, a imagem “off” já vai ter sido carregada uma vez e vai ficar tudo beleza, um preloader tabajara de primeira.

E isto até que funcionou, pelo menos eu “achava” que funcionava pois só usava imagens pequenas, hoje tive que fazer isto, mas com um botão grande e uma imagem grande também, na minha máquina eu testei e estava tudo beleza, quando subi para o servidor de homologação, o botão deu uma piscada de uns mil segundos! Ok nem tanto, mas piscou e eu logo vi, hum… deu merda.

Fiquei pensando, testando, achei várias soluções com preloader em JavaScript bem mais simples do que o código lá de cima, como este aqui por exemplo, coisa que eu consigo ler e entender o que faz, mas ainda estava achando que não era a melhor solução, tinha que dar um jeito nisso só com CSS!

Até que cheguei numa solução simples, eu não preciso carregar duas imagens e ficar trocando elas, eu posso usar uma imagem só! Sim! E então só troco ela de posição.

Simples assim:

rollover_images_3

Basicamente a mesma coisa do código anterior, mas aqui uso uma imagem só, com as duas posições lado a lado, como a imagem exemplo abaixo:
rollover_images_4-2

O segredo é: no primeiro seletor, posiciono a imagem em top e left, já no a:hover posiciono a imagem em top e right isto faz parecer que a imagem troca, mas na verdade apenas desliza de um lado para outro.

Repare na redução de linhas de código, na primeira solução, tem 34 linhas, está certo que tem um pouco de html ali, então digamos 30 linhas, na segunda opção 17 e na terceira, bem mais simples e de fácil manutenção, 13 linhas, além do que usamos apenas uma imagem, menos arquivos se você tiver vários botões assim na aplicação.

Categoria: CSS
Comentários: 1

Quer enviar e-mail pelo WordPress?

2009/08/06 | por renato | 1 comentário comment

Na hora de subir seu novo WorPress para produção:

Já ficou fritando sem saber porque o sendmail funcionava no host de homologação não funciona naquele host de merda pouca qualidade  que seu cliente contratou?

Pára tudo! Não frite mais, instale o Plugin WP Mail SMTP e use qualquer conta para enviar e-mails do sistema, incluindo o envio de outros plugins como o Post Notification por exemplo.

Pelo plugin você vai poder mascarar o sender, editar o assunto e tudo mais que você faria na mão, mas em poucos minutos.

De preferência, use a conta do desgraçado amigão que contratou o host de $3/mês.

Categoria: WordPress
Tags: ,
Comentários: 1

WordPress, só para complicar

2009/08/06 | por renato | não há comentários ainda comment

Eu não pretendia escrever nada sobre WordPress por aqui, até porque quando iniciei este site ainda não tinha trabalhado com ele e não fazia idéia do que este WP era capaz. Mas ultimamente tenho trabalhado tanto com ele que vai ser inevitável.

WordPress é um CMS, ou Content Management System, inicialmente voltado para blogs, para saber mais: http://wordpress.org/.

Digamos que eu não procurei o WP, ele caiu no meu colo, assim que comecei em uma agência aqui em São Paulo no ano passado e recebi meu primeiro job, foi algo mais ou menos assim:

- Esta é sua mesa, pode usar este computador, use este login e senha para entrar na intranet e pegar seu primeiro job.

A descrição do job era algo como: programar interface do site X, layouts no lugar Y, servidor de homologação Z, dúvidas com fulano e blablabla. Tempo: 5 dias “full”, plataforma: WordPress.

WTF? WordPress? Mas este layout não está parecendo com um blog, dá pra fazer isto? Pensei eu na minha inocente ignorância.

Passado o susto, pensei: Ok, o Google é meu amigo e eu vou resolver essa bagaça!

Não preciso dizer que o job não saiu em uma semana né? Mas saiu em duas! Depois de muita pesquisa pelo Codex e a ajuda do então colega de trampo Luciano que meu deu o caminho das pedras, o job saiu e ficou muito bom, com umas brincadeiras de associação de categorias e custom fields para funcionalidades específicas bem bacanas.

Depois disso vieram outros mais cabeludos e fui ficando calejado no WP, em dois meses já estava convencido a mudar a plataforma deste site que era em Joomla e assim o fiz, criei o layout e programei o tema em duas semanas, isto trabalhando de 1 a 2 horas/dia em casa.

O que me convenceu a mudar?
- O layout clean, organizado e que usa muito ajax para as ações do admin deixa tudo muito fácil e rápido, como administração, testes, treinamento e etc…

- A pouca quantidade de arquivos e a organização hierárquica simples não deixam aquela sensação de que sempre fica faltando algo. O desenvolvimento de novos temas é uma mão na roda.

- Os posts que podem pertencer a várias categorias de níveis diferentes e seus meta dados de fácil acesso deixam tudo muito maleável, além dos custom fields que são um show a parte.

- Sem esquecer da vasta documentação pela internet e o Codex que na minha opinião são o fator de maior peso nessa balança, agilizam muito o desenvolvimento.

- Fora o que eu esqueci ou ainda não aprendi.

A dica é:
Fique esperto e aprenda um pouco sobre ele, não serve para tudo, mas pode salvar a vida em um projeto a jato, para quem está começando como eu, é uma mão na roda!

Se é tudo de bom, por quê “só para complicar”?
Ué, não viu que estou estudando Ruby? O WP é feito em PHP, vai bagunçar tudo.

Categoria: WordPress
Tags: ,
Comentários: 0

Feed errado

2009/08/05 | por renato | não há comentários ainda comment

Eu não sei porque, mas o botão “assinar o feed RSS” ali do lado estava com um link meio errado, meio porque ele funciona, mas é meio marcha lenta, ambos são pelo Feedburner.

De qualquer forma, se você já tinha assinado este Feed, por favor atualize seu agregador, se não, pode assinar agora que está certo.

Você pode usar o botão ao lado ou usar este endereço:

http://feeds.feedburner.com/RenatoCNcom

Categoria: Geral
Tags: ,
Comentários: 0

Começar é fácil, o difícil é dar continuidade

2009/08/05 | por renato | não há comentários ainda comment

Pensei em escrever este post depois de ler o artigo do Carlos Brando, no blog Nome do Jogo que acompanho, você pode conferir o artigo aqui, que é muito útil para lhe incentivar a iniciar algo que está em seus planos.

Concordo totalmente que você deve iniciar seu projeto, seja lá qual for, o mais rápido possível, mas este “mais rápido possível”, muitas vezes não quer dizer imediatamente. Cada projeto tem seu tempo, as vezes é bom esperar um pouco para conseguir o sucesso, já em outras ocasiões, o quanto antes melhor.

Então qual é o melhor momento para iniciar efetivamente o seu projeto?

Eu não faço a menor idéia. Sim, isto mesmo. Eu por exemplo já sou profissional em iniciar projetos, mas dar continuidade “ainda” não é meu forte.
Quer um exemplo? Este é o quarto blog que inicio, e já estou procrastinando com ele, já tentei desenvolver 2 produtos web e uma empresa voltada para o mercado mobile em 2005 quando morava lá no Japão, todos com vida curta.

Eu gosto de acreditar que não era hora certa, errei no tempo, mas pode ser que tenha faltado dedicação, experiência, confiança no projeto, enfim.

O ponto é:
Iniciar um projeto é relativamente fácil, agora dar continuidade nele, este sim é o desafio.

Se você sofre do mesmo problema, infelizmente não tenho a solução, se tivesse, provavelmente estaria rico, mas sei de uma coisa, a chave para tudo isso é a motivação.

Se você ainda não começou seu projeto, provavelmente lhe faltou motivação, se você largou seu projeto pela metade, provavelmente lhe faltou motivação.

A motivação funciona diferente para cada pessoa, o que me motiva pode não motivar você e vice-versa (a não ser o dinheiro que motiva a grande maioria, claro), e o pior, a motivação é dinâmica, as vezes o que lhe motiva hoje, pode deixar de motivá-lo amanhã.

Manter-se motivado não é nada fácil, mas é um ótimo caminho para o sucesso, então inicie seu projeto e encontre sua motivação todos os dias para que ele não acabe antes do tempo!

Categoria: Geral
Comentários: 0