quarta-feira, 31 de dezembro de 2008

Retrospectiva 2008! :D

Eis que mais um ano se finda...

Olhando tudo que se passou vejo que em termos de escrita continuo na média, (e isso não é bom.. heheh) tive 84 posts escritos (com esse) contra 85 do ano passado, mas ao meu ver o conteúdo ficou mais apurado e isso sim é bom... :D


Também saí das 1.700 visitas de 2007 para 31.800 esse ano... :) É claro que é muito pouco quando comparado a blogs q fazem 200.000 visitas num único dia, mas foi muito bom saber que algumas pessoas se beneficiaram com alguns posts como "A intalação do Xp no eeePC", ou ainda sobre os drives dos notebooks Acer, ou melhor, segundo o google analytics, esse seria o top 10 dos posts que fiz:

1.
View this link /2008/02/instalando-o-xp-no-eeepc-traduo.html






2.
View this link /2008/05/drivers-notebook-acer-aspire-5050-3233.html






3.
View this link /2008/02/drivers-para-sony-vaio-vgn-sz650nc-e.html






4.
View this link /2008/07/notebook-cce-win-com-hd-sata-e-windows.html






5.





6.
View this link /2007/04/lrc-pscoa.html






7.
View this link /2008/07/usb-mass-storage-no-motorola-w230b.html






8.
View this link /2008/05/symantec-ghost-com-hd-sata.html






9.
View this link /2007/12/dica-de-monografia-feijo-com-arroz.html






10.
View this link /2008/01/agora-simmmm-ati-radeon-xpress-200m.html







Esse ano também inventei de traduzir alguns posts que vi na Net, no intuito, é claro, de aprender um pouco mais sobre a língua e de quebra ajudar quem ainda não a domina.

Mudei de vez para o Linux, mais especificamento a distribuição Ubuntu, tudo graças aos colegas de trabalho.

ahhh... fiz uma viagem de moto que desejava a muito tempo.

Aprendi um pouco mais sobre o Rails.

Fiz amizades nos lugares mais distantes do Brasil.

Usei pela primeira vez o Mac OS X (mesmo que sendo o Hackintosh)... :D

Enfim, se eu fosse lembrar de tudo seria mais 1 ano só pra escrever... :)

Assim, quero apenas agradecer a todos de uma forma ou de outra chegaram a esse humilde blog e leram alguma coisa, e ainda a todos que me deram algum tipo de feedback, esses eu desejaria apertar a mão.. :D

No mais vamos esperar pra ver o que 2009 nos reserva...


Feliz Ano Novo a todos!

[]'s

quinta-feira, 11 de dezembro de 2008

Rails for Dummies 06

Conheça todos os "comandos" do Rails!

Dias atrás algumas pessoas me perguntaram como fazer pra conhecer "todos os comandos" do Rails.


Bem, isso é um tanto complicado de dizer visto que à medida que o usuário adiciona novos plugins, etc, ao projeto esses comandos vão crescendo além dos comandos básicos. Mas isso é bem simples de se resolver.

1o) Todos os comandos baseados em "ruby script/generate" (ou "script/generate" para linux/mac) são simples de saber. Basta digitar o comando "ruby script/generate" e esperar o Rails "cuspir" as dicas no seu prompt. Observe que ele mesmo informa "Usage: script/generate generator [options] [args]", e abaixo algumas dicas e opções que podem ser usadas em conjunto com o comando. Assim na mesma dica ele informa que os generators instalados são: controller, integration_test, mailer, migration, model, observer, plugin, resource, scaffold, session_migration.

2o) Com a dica acima segue-se o mesmo padrão para qualquer gerador. Fazendo o teste "ruby script/generate controller", temos novamente o rails cuspindo no prompt a dica de como usá-lo: "Usage: script/generate controller ControllerName [options]" e logo abaixo algumas dicas e opções que podem ser usados em conjunto com o comando.

Dessa forma é possível saber todos os possíveis comandos que o Rails disponibiliza para o desenvovimento via generators.

3o) Além dos generators temos as tarefas RAKE, que fornecem comandos para que sejam executadas tarefas específicas no projeto. Assim, digitando "rake -T" no prompt, surgirão todas as possíveis tarefas disponíveis para o projeto, incluíndo tarefas de plugins instalados.

Acho que é isso, com esses pequenos detalhes você conhecerá a grande maioria dos possíveis comandos disponíveis para trabalhar em seu projeto.

É isso! T+!

[]'s

quarta-feira, 10 de dezembro de 2008

Letra Permanente no Pendrive / USB Mass Storage (Resolvido)!

A tempos que na empresa em que trabalho temos problemas com a letra da unidade escolhida pelo Windows quando um pendrive é plugado.

Todo problema é devido existirem diversos mapeamentos de rede que ocupam as letras à partir da "F:", assim, se um computador possuir um HD com duas partições (C: e D:) e um CD-Rom (E:) isso acaba na maioria das vezes por não deixar que o pendrive ao ser plugado apareça como faria normalmente.

Por conta disso, sempre tinhamos que ir no gerenciamento do computador >> gerenciamento de discos e alterar a letra da unidade para uma que estivesse livre. Ok, até aí tudo normal. O detalhe é que quando é plugado um outro pendrive o mesmo procedimento deve ser feito para que se corrija o problema.

Agora imagine acontecer isso em uma empresa, com um computador coletivo e por cima com restrições para o usuário. Aí já viu, é trabalho de português, todo usuário que quiser utilizar seu pendrive teria que pedir a alguém com autorização para fazer tal procedimento.

Resumindo, depois de dar uma girada na Net encontramos uma solução que até agora parece ter funcionado. Na verdade é tudo muito simples. Como já era previsto existe uma chave no registro [HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices] que armazena a letra que você está usando para os dispositivos USB Mass Storage.


Assim, como ele registra essas letras, ele dá "preferência" de utilizá-las quando um dispositivo é plugado. No nosso caso, o que estamos fazendo é alterando o drive de CD-ROM para a unidade "Z:", e logo em seguida apagamos a chave "D:". Dessa forma o windows acaba por dar preferência de ativar a unidade "D:" novamente para os dispositivos USB Mass Storage.

Bem, é como falei, não fizemos testes exaustivos ainda, mas tem dado certo.


[]'s

quinta-feira, 27 de novembro de 2008

7 Princípios de um limpo e otimizado código CSS - Tradução/Adaptação

Tradução/Adaptação do post original escrito por Tony White mantenedor do site www.smashingmagazine.com.

-------------------------------------

7 Princípios de um limpo e otimizado código CSS

Uma das coisas que você pode lembrar, são dos dias quando 30KB era recomendado como tamanho máximo de uma página web, o valor inclui HTML, CSS, JavaScript, Flash, e imagens. Em cada novo projeto eu vou até o bit mais leve da complexidade, é não muito antes aquele ideal de 30 KB é bem fora do meu alcance. Com a popularidade dos layouts CSS e JavaScript enriquecendo a experiência da página web, isso não é incomum, particularmente para sites grandes, onde CSS sozinhas ultrapassam 30KB.

Mas lá estão alguns princípios para considerarmos durante e depois que vocês ecrever seu CSS, ajudando a mantê-lo pequeno e otimizado. Otimização não é apenas diminuir o tamanho do arquivo - Isto é também sendo organizado, sem misturas e eficiente. Você verá que o maior conhecimento que você tem sobre práticas de otimização CSS, pequenos arquivos, serão inevitavelmente conseguidos como um resultado direto de sua implementação. Você pode já estar familiarizado com alguns dos princípios mencionados abaixo, mas vale a pena dar uma olhada neles. Familiarizando-se com os conceitos ajudará você a escrever um código CSS otimizado e fazê-lo melhor entre os web designer.

1.Use "Abreviações" / Atalhos

Se você já não usa "escrever abreviado", você está atrasado para a festa. Mas sorte sua, a festa nunca termina. Usar prorpiedades de abreviação é uma forma simples e fácil de fazer diminuir seu código (e o tempo de codificação). Não há melhor hora que o presente para iniciar ou rever essa prática eficiente de codificação.

Margin, border, paddin, background, font, list-style, e mesmo outline são propriedades que permitem abreviações (e essa não é mesmo uma lista extensa!).

Abreviação CSS significa que no lugar de diferentes declarações para propriedades relatadas...



1. p { margin-top: 10px;
2. margin-right: 20px;
3. margin-bottom: 30px;
4. margin-left: 40px; }


... você pode usar propriedades abreviadas para combinar aqueles valores como:



1. p { margin: 10px 20px 30px 40px; }


Por especificar um número diferente de valores, browsers podem interpretar as regras de maneira diferente, ilustrada no diagrama abaixo..


Ilustração de como uma declaração abreviada pode ser interpretada dependendo de como muitos valores são especificados para uma propriedade. Essa ordem também se aplica a padding e border-width entre outras propriedades.

Font é outra propriedade contemplada pela abreviação que ajuda a salvar algumas tecladas.

Exemplo de abreviação da propriedade font. Nota: deixando alguns valores não especificados significará que essas propriedades serão resetadas seus valores iniciais.

Estas são apenas alguns dos exemplos de abreviações, mas não significa que deve ser considerado como um guia compreensivo. Mesmo se vocês estiver familiarizado com as regras acima, tenha certeza de dar uma olhada nos artigos mencionados abaixo para melhor ajudá-lo a lembrar suas propriedades poderosas que ajudam mantes seu código sucinto. Porque o número de linhas e caracteres salvos, vão de uma versão anterior de um arquivo CSS que não usa propiedades abreviadas para uma que faz o uso total de abreviações, pode ter um efeito dramático no tamanho do arquivo.

Veja o guia de abreviações CSS (dustindiaz.com) e CSS eficiente com propriedades abreviadas (456berestreet.com) para mais informações sobre propriedades abreviadas.

2. Se utilize dos Hacks

No blog de Jon Hick hickdesign.co.uk/journal faz-se o uso de comentários condicionais

"Hacks contra browsers mortos são salvadores, mas hacks contra os vivos não são. Nenhum deles. Sempre.

Mantenha o CSS simples - Peter - Paul Koch (digital-web.com)"

Se você é como eu, estas palavras do artigo de Peter-Paul Koch's aproximadamente a 5 anos podem fazer você sentir-se um pouco embarassado. Depois de tudo, quem não tem servido hacks para o Internet Explorer 6 ou mesmo Internet Explorer 7? Tão mau como nós queremos que o IE6 pudesse ser colocado 6 pixels abaixo do chão, a verdade é que ele está longe de estar morto.

Mas agora nós sabemos que usar comentário condicional para servir de correção de declaração para o IE6 e IE7 é uma prática aceitável, mesmo recomendada pela equipe de desenvolvimento do Microsoft IE . Usando comentários condicionais para servir regras de CSS específicas podem adicionar benefícios servindo um limpo, e então pequeno, arquivo CSS default para a maioria dos browsers, enquanto somente esses browsers que precisam do "haked daiquiri" (i.e. IE) farão o download da página adicional.

Aqui como usuar o comentário condicional para servir estilos somento no Internet Explorer 6:



# &!--[if IE 6]amp
# &amplink rel="stylesheet" type="text/css" href="ie6.css"amp
# &![endif]--amp


Para o IE7, você pode usar o mesmo que acima, substituindo apenas o "6" por "7".

Alternativamente, se o "hack-less / hacks leves" for(rem) uma forma de atingir o resultado desejado usando CSS, com todas as outras coisas sendo iguais, vá para ele! Os hacks leves que você deve escrever, o simples e iluminado código.

3. Use espaços em branco sabiamente

Espaços em branco, incluindo espaços, tabs, e linhas extra de quebra, são importantes para a legibilidade do código CSS. Porém, espaços em branco podem adicionar, mesmo que minúsuculos possam ser, para o tamanho da página. Cada espaço, quebra de linha, e tab que você possa eliminar é como ter menos um caractere.

Mas isso é uma área onde eu poderia não encorajar você a resumir para ter um arquivo pequeno. Essa tranquilidade é importante para que você escreva em um caminho que seja legível para você (e esperançosamente para os outros), e se aquilo incluir uso de espaços em branco para a formatação, então que assim seja. Depois de tudo, se você não por lê-lo, você irá perder um grande tempo aplicando os princípios mencionados nesse artigo. Apenas esteja ciente do fato que espaços em branco são como ar - você pode até não vêlo, mas ele pesa algo.

A figura abaixo mostra os diferentes extremos no estilo de formatação, com muito espaço em branco, e ou outro com muito pouco. Eu sou a favor da linha simples de formatação sem tabs, assim eu posso procurar os seletores mais facilmente, e desenvolver usando a largura completa do meu monitor widscreen. Mas isso é para mim. Você pode gostar que seus seletores apareçam aninhados, e suas declarações em cada linha.

Ilustração dos dois extremos na formatação CSS: muitos espaços em branco vs. poucos espaços em branco.

Usar espaços em branco eficientemente é ótimo, e uma prática recomendade para gerenciar facilmente código, mas esteja ciente que menos espaços em branco que você tenha, menos será o arquivo. Mesmo que escolha trabalhar com espaços em branco no seu arquivo de trabalho, você pode escolher removê-los para a versão de produção do seu arquivo CSS, então seus arquivos ficarão finos com o que realmente importa.

4. Pode frameworks e resets

Nathan Smith's 960 Grid System CSS framework usa a regra de reset

Se você escolheu usar um framework CSS (incluindo um que você mesmo tenha desenvolvido), pegue um tempo para reavaliar a documentação, bem como cada linha do arquivo CSS. Você pode descobrir que o framework inclui algumas regras que você não se importa em usar no seu projeto atual, e que eles podem ser removidos. Também, você pode achar que o framework inclui um caminho mais elegante e conciso de de conseguir uma apresentação detalhada do que aquilo que você normalmente usa, e sabendo que eles pode ajudar a previnir regras duplicadas involuntariamente.

Isso demostra que o reset é uma boa opção. YUI grid CSS usa um reset, e o Reset de Eric Meyer's também é muito popular. Resets são legais de usar por conta deles ajudarem a neutralizar o estilo padrão do site. Mas se você conhece a natureza dos site você pode construir, pode encontrar algumas declarações de que você sabe que nunca irá precisar.

provavelmente não serão mais usados no blog da minha Tia Martha. Um portfólio de design provavelmente não deseje nunca usar , , , etc. Então large o que voc~e não precisa. Isso não está correto, isso é encorajado, mesmo por Eric Meyer.

Como eu disse na página reset, aqueles estilos não são suportados para serem deixados sozinhos por qualquer um. Eles são o ponto de partida. Crafting Ourselves - Eric Meyer (meyerweb.com)

Usando um framework e/ou um conjunto de regras podem ajudar você a manter o trabalho organizado, mas eles devem não serem aceitos no seu estado padrão. Considerando cada declaração e cortando o que não for necessário, pode ajudar ainda mais a você manter seus arquivos CSS magros e legíveis.

5. CSS à prova de futuro

O CSS da
stopdesign.com de Doug Bowman's revela seletores criados e usados no layout.

Outro caminho para otimizar seu código é separar declarações do layout-específico do resto de suas regras. Eu tenho ouvido opções de separar a tipografia e cores das regras de layout-específico no arquivo CSS. Eu nunca encontrei isso na prática, como eu não quero ter o cuidado de repetir seletores apenas por eu ter diferentes tipos de declarações para associar com eles.

Entretanto, eu estou preparando uma idéia de separação dos estilos de layout do resto dos estilos, e dando seu próprio arquivo ou pelo menos sua própria seção. Isto também é defendido por "Andy Clarke's Transcendin CSS". No livro, Clarke nos lembra do seguinte:

"Layouts completamente em CSS sempre foram um compromisso.
As especificações atuais CSS nunca foram concebidas para criar a interface visualmente rica e complexa que layouts modernos WEB demandam. Os métodos correntes - flutuante e posicionamento - como nunca tiveram como ferramentas de layout. Transcending CSS - Andy Clarke."

Um caminho para interpretar isso é que posicionamento e flutuante estabelecem barras laterais e colunas são, bem, layouts hacks. E embora nós não tenhamos uma alternativa, vamos esperar que uma vez aprovado os browsers comecem a suportá-lo. Quando isso acontecer, isso deverá ser fácil para alterar os modelos de propriedades hackeadas. Pensando isso será antes que novos módulso de layout estejam aqui, usando as propriedades corretas para levar o layout ao invés de compensar com as loucuras nosso conjunto limitado de propriedades que serão mais condensados ajudando o peso da página.

6. Documente seu trabalho

David Shea's markup guia ilustra o bom uso de tags HTML e como essas estão representadas em seu site, mezzoblue.com. Mesmo sem sites HTML dinâmico pode ter este guia simples e eficaz (utilizando o seu próprio arquivo CSS, é claro!) Como ponto de partida da documentação.

Para uma equipe de designer,a comunicação regular é extremamente importante, então marcações e regras são criadas em um caminho consistente, e também na criação de padrões de site. Por exemplo, se alguem vem com uma definição de marcação para uma interface de tabela para o site, a documentação impedirá outros de duplicar aquele esforço, prevenindo que o código se espalhe no HTML e CSS.

Documentação, incluindo guias de marcação e guias de folhas estilos, não são apenas para grupos - eles são importantes apenas para um grupo de design de um home só. Depois de tudo, depois de um ano de trabalho em outras coisas, revisando um dos seus próprios projetos você pode sentir-se como um entrageiro. Seu próprio futuro poderia lhe lembrar de como seu framework de CSS trabalhou, ou quais páginas já tem um tratamento para uma segunda ação de um botão, e isso salvará você ou alguém mais de acrescentar regras redundantes e desnecessárias ao seu CSS.

A escolha de usar documentação tem o lado bônus de ser um grande lugar para estacionar explicações que de outra maneira devem estar incluídas como comentários de CSS. Comentários CSS são ótimos para o seccionamento de pedaços de arquivos CSS longos, mas comentários verbosos que são usados para explicar as escolhas de design podem aumentar o tamanho de arquivo, e poderiam ser melhor ajustadas à guia de estilo. Documentando seu código usando comentários CSS com seu arquivo de trabalho é mais que definitivamente melhor que nada, mas abrigar o material separado da documentação é uma ótima forma de manter o foco no código e libertá-lo.


7. Faça uso da compressão

Algumas ótimas aplicações tem sido criadas para comprimir e otimizar o CSS pra você, permitindo uma não leitura humana, mas deixando arquivos amigáveis para os browsers que são uma fração da cópia original de trabalho. Aplicações como CSSTidy e YUI Compressor podem comprimir espaços em branco, detectar em corrigir propriedades CSS que são sobrescritas por outra, e atentam para a oprotunidade de usar atalhos CSS que você possa ter esquecido. (Esses tipos de aplicação são excelentes fontes para se conhecer, se por não outra razão, para aprender o quê você pode fazer futuramente na mão)

Mesmo editores de texto populares como o BBEdit, TextMate, e TopStyle, podem ajudá-lo a formatar seus arquivos CSS da forma que vocẽ gosta. Eles também servem de opções de versões de zip para seus arquivos de CSS usando PHP. Você pode achar mais compressores de CSS e otimizadores no artigo List of CSS Tools.

Isso é importante para notar que essas aplicações fazem deles melhores para minimizar erros, mas eles não são perfeitos. Eles também trabalho melhor quando hacks de broswer não são incluídos no conjunto de arquivos (que ainda é outra razão para mantes aqueles hacks externos)

Há um tipo último da aplicação que pode ajudar a podar o tamanho de arquivo CSS que eu gostaria de mencionar. Ele pode rastrear um Web site e o log de regras CSS e as declarações que não estão sendo aplicadas e então trazê-los à sua atenção. Infelizmente essa ferramenta não foi inventada ainda, mas eu pagaria sorrindo para ter tal aplicação.

Eu posso recordar momentos quando temi eliminar certas regras porque elas não tinham nenhuma documentação que me explicasse que aqueles selecionadores erão as sobras de iterações prévias do desenvolvimento. Se uma aplicação trouxer aquelas regras para minha atenção, me ajudariam a manter um arquivo de CSS magro.

Conclusão

Um código limpo e otimizado é importante não apenas quando arquivos são pequenos, mas sua manutenção e boa leitura sejam boas. Os princípios mencionados acima são boas considerações não apenas para CSS, mas podem ser aplicadas no HTML, JavaScript, e outras linguagens de programação. Os arquivos de CSS não são tão proeminentes como a interpretação do seu Web site a um usuário final, mas a consideração dos princípios acima mencionados podem ajudar com ambas experiências de usuário (na forma de pequenos tamanhos de arquivo) e a experiência de desenvolvedor (código mais limpo). Aplique esses princípios aos seus projetos atuais e futuros, e você apreciará seguramente os esforços.


--------------------------------

Sua ajuda é bem vinda, melhore a tradução/adaptação, comente aqui! ;)

quarta-feira, 26 de novembro de 2008

Erro "/tmp/mysql.sock" no Linux!

Se você tentar usar o Rails ou qualquer outra aplicação e o MySql reclamar do arquivo "/tmp/mysql.sock", tente o seguinte:




sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock



sexta-feira, 21 de novembro de 2008

Fortaleza + Ceará on Rails !

Recentemente estive em Fortaleza - CE para o Ceará On Rails, essa viagem teria sido normal se eu não fosse de moto para o evento! :D

Isso mesmo, como esse mês estou de férias uni o útil ao agradável.

A tempos que queria fazer uma viagem de longa distância de moto, entenda longa distância como acima 1000KM no percuso total, e essa percorremos um total de 1700Km! :D


Exibir mapa ampliado

Eu já havia combinado essa viagem com um colega dias antes de ir a MG então estava tudo praticamente pronto, a moto já estava na revisão e tals, foi só chegar de uma viagem e partir pra outra.


A viagem em si, ida e volta, foi muito tranquila, apenas dois momentos complicados, um quando meu pneu traseiro baixou (por conta de ter parado pra tirar uma das fotos e ter passado em cima de um toco), outro quando o do colega baixou... :D (o pneu parecia estar furado desde o início da viagem, mas ele resolveu arrumar apenas na volta) mas, nos dois casos, estávamos na entrada de uma cidade, então não tivemos maiores problemas.


O evento Ceará On Rails também não ficou a desejar, o melhor de tudo foi fazer o networking e novas amizades.




Aqui cabe um agradecimento a Hermínio da organização do Ceará on Rails que nos cedeu (pra mim e pra meu colega) uma camisa do evento.




No mais as 3 palestras da noite foram muito proveitosas, cada uma com sua peculiaridade.

A palestra do Akita foi no estilo "Vos apresento o Rails!", que pra quem já conhece a algum tempo o framework não teria nada de novo, mas, ele sempre tira algo da cartola, e mesmo sendo uma palestra para iniciantes deu pra aproveitar no momento das perguntas e respostas.

Acho que é isso, quem sabe ano que vem apareço na Rails Summit. :D

quarta-feira, 19 de novembro de 2008

UFLA, Lavras e BH !!!

Desde o dia 02/11 estou de férias forçadas, isso mesmo, forçadas por ter que pedir as férias para poder me apresentar no encontro da pós-graduação que estou fazendo.

O encontro aconteceu em Lavras-MG, simplesmente 1800Km de distância da minha terrinha.


Exibir mapa ampliado

Idependente de distância posso dizer que o encontro foi ótimo. Conhecer novas pessoas e fazer o networking sempre é bom.

O campus da UFLA não deixa a desejar, tudo muito bem organizado, professores legais e um coffee-break sem igual... :D

A cidade em sí (Lavras) é bem tranquila e pra quem é do interior, como eu, se sente em casa.


De quebra, pude rever um colega de infância, que no mínimo foi uma história interessante. :D

Imagina que eu não via esse colega faziam no mínimo 20 anos, e ele me encontrou em uma rede social uns meses atrás, então por pura coincidência ele mora em BH que foi a cidade onde eu passaria antes de ir ao encontro. :D Por conta disso, ganhei um tour em BH. :D



Bom, acho que é isso, agora é esperar pro ano que vem repetir a dose. ;)

domingo, 16 de novembro de 2008

Atualizando para o Ubuntu 8.10 - Intrepid Ibex

Depois de quase um mês sem postar nada, estou de volta! :D

Bom, tenho algumas coisas postar e decidi começar por falar sobre a atualização que fiz no meu Ubuntu para a versão 8.10 (Intrepid Ibex).

A atualização foi bem tranquila, bastando seguir o que o site indicava. O detalhe foi que a atualização custou o download de 810MB =/.... Eu sei que não é um horror de bits pra baixar, mas quem possui uma conexão no interior da Bahia de 300Kbps sofre um pouquinho... :D


É isso, por enquanto funcionou tudo redondo e até me parece que foi corrigido um bug (o som parava do nada e não tocava vídeo no browser) que eu tinha aqui no meu PC.

Resumindo, para quem é apenas um curioso querendo aprender algo do linux o Ubuntu é um ótimo começo. ;)

[]'s

domingo, 26 de outubro de 2008

Palestra de Rails no CEFET, Floresta - PE

No último dia 24 fui convidado a palestrar sobre Rails no CEFET de Floresta, interior de Pernambuco.

O tema que escolhi foi, "Rails, desenvolvimento WEB sem tortura". Na apresentação que durou 1:00h, pude demonstrar como o Rails funciona de forma simples e inclusive deu pra fazer uma demonstração real do seu uso, inclusive com plugins.

Estiveram presentes uma média de 50 pessoas, e na ocasião também tivemos uma palestra sobre criptografia com o Professor Igor Medeiros, que por sinal foi muito boa.

Bom, me resta apenas agradecer ao CEFET na pessoa do professor Thiago Carbone e a todos que estiveram presente.

É isso aí, o sertão agora já possui mais alguns conhecedores do Rails.

Vlw!

quinta-feira, 23 de outubro de 2008

(RESOLVIDO) gem_original_require': no such file to load -- zlib (LoadError)

Recentemente, depois de atulizar o Rails através do rubygem começou a dar uns paus doidos aqui na máquina... simplesmente comecei a receber esse erro no prompt:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/package.rb:9
....

Como sempre, depois de uma boa rodada na net, descobri que deveria recompilar e instalar o pacote ruby-zlib. Para isso baixe o pacote aqui, descompacte-o, e depois compile-o com o comando:



ruby extconf.rb

sudo make

sudo make install


A grande sacada é que de cara (pela mensagem que o erro dá) achamos que o problema é com o pacote zlib que geralmente instalamos pelo apt-get, mas, como pode-se notar esse mesmo pacote "tem uma versão" para o ruby, que por acaso tbm está no repositório, mas, não me pergunte o porquê, não influi nem contribui, pelo menos no meu caso.

Pronto! Eis que a casa está em ordem novamente! ;)

quarta-feira, 15 de outubro de 2008

Arquivo UDL com SQL Server 2005 - [DBNETLIB][ConnectionOpen (Invalid Instance())

Recentemente precisei fazer uma conexão com o MS Sql Server 2005 através de um arquivo "*.UDL", mas o mesmo sempre acusava o erro "[DBNETLIB][ConnectionOpen (Invalid Instance())".


Depois de dar uma pesquisada notei que necessitava do driver do MS SQL Server mais atual. Então nessa página encontrei, baixei e instalei o Microsoft SQL Server Native Client e depois fiz a conexão sem nenhum problema.

Ahhh.. em alguns casos (empresas com firewall), é necessário instalar o client do ISA para que seja feita a conexão corretamente.

Fica então a dica!

quarta-feira, 8 de outubro de 2008

Novo Origami! :D

Zig-Zag é como é conhecido esse origami!
3 horas pra fazer o danadinho a primeira vez... :D




Hahh.. tah aqui o digrama pra quem se interessar!

[]'s

quarta-feira, 24 de setembro de 2008

Otimize o uso de memória do Firefox alterando a sessão preferências - Tradução/Adaptação

Esse artigo/post é uma tradução/adaptação do original "Optimize Firefox’s memory usage by tweaking session preferences" do site "redemption in a blog" mantido por "Cheah Chu Yeow"

----------------------------------

Eu sou um usuário que utilizo muitos tabs/guias no browse - Eu tenho cerca de 30 tabs abertas diariamente no meu perfil do Firefox o tempo todo. Desde o dia em que o Firefox foi liberado, eu tenho falado que o Firefox está ficando cada vez mais lento com esse perfil particular (eu uso diferentes perfis para desenvolver para web). Quando eu cheguei ao ponto onde começou uma notável mudança com as guias tab paudando de 1 a 2 segundos, eu eu alterei algumas sessões de aramazenagem do Firefox e a preferência de histórico e agora as coisas estão rápidas novamente.

Aqui o que você pode fazer:

  1. Vá em about:config no Firefox (para isso basta digitar o comando na barra de endereços).
  2. Digite "session" na caixa "Filter".
  3. Edite browser.sessionhistory.max_entries - isto é o número de páginas armazenadas no histórico para sua sessão de browser. Basicamente estas são as páginas que podem ser alcançadas usando seus botões "Voltar" e "Adiantar". O Padrão é 50 - Eu reduzi isso para 20.
  4. Edite browser.sessionhistory.max_total_viewers - este é o número de páginas qye são armazenadas na RAM, então eles não saõ re-processador pelo renderizador Firefox. Estes é o que permite você "Voltar" para a página no Firefox e tê-la carregada quase instantâneamente. O número de páginas armazenadas atualmente depende da quantidade de RAM da sua máquina (veja isso). Eu reduzi isto para 4 (Eu tinha 2GB de RAM).
  5. Edite browser.sessionstore.max_tabs_undo - o número de guias que você pode restarurar depois de fechá-las (você pode fazer isso com CRTL/CMD-Shift-T). Por padrão são 10, isso é mais do que eu preciso, então eu reduzir isso para 3 guias.
  6. Edite browser.sessionstore.interval - o Firefox salva sua sessão a casa 10 segundos por padrão. Eu alterei isso para um mais conservador 30000 milisegundos.
Você pode ler mais sobre essas preferências na Base de Conhecimento MollizaZine . Se você tem qualquer dica de como melhorar a performance do Firefox, compartilhe conosco!

----------------------------------

Como sempre, qualquer dica para melhoramento da tradução é bem vindo.

[]'s

terça-feira, 23 de setembro de 2008

iPhone na Claro? Claro que não!

Algumas semanas atrás acessei o site da Operadora Claro procurando informações sobre o Apple iPhone, e lá encontrei um formulário pedindo pra se cadastrar para receber mais informações sobre o mesmo. Pois bem, fiz o cadastro e recebi a confirmação por email.


Ontem, 22/09 recebi uma ligação deles pedindo pra eu confirmar se eu realmente tinha feito o cadastro com eles, e eu respondi que sim, depois, "a moça" perguntou se eu queria reservar um iPhone pois reservando eu receberia informações adicionais e tudo poderia ser feito através do cartão de crédito... ué??? eu acho que eu só queria informações... pretendo comprar, mas não antes de saber planos, valores, etc... Achei muito estranha essa atitude da operadora. É "claro" que eles quere vender o máximo que puderem, não o iPhone, mas seus planos e tal. Só que na minha visão não precisariam apelar dessa forma, obrigrar o usuário a usar seu cartão de crédito para reservar uma coisa que ele nem sabe como vai ser, é no mínimo estranho.

Por essa eu não esperava.

Ahh.. e se eu estiver errado quanto a essa informação, por favor me corrijam.

[]'s

quarta-feira, 17 de setembro de 2008

Momento Duke Chargista!

Precisa dizer alguma coisa? o_O





Fonte: http://dukechargista.blogspot.com

Monografia Flex e Rails!

Quem disse que não valeu à pena fazer a tão badalada monografia?

Pois é, hoje depois de quase 1 ano vejo que apesar de toda loucura que passei quando estava fazendo a danada, começo a colher os frutos.

Durante esse período algumas pessoas me pediram a mesma pra servir de base para as suas monografias, e isso, querendo ou não me deixa feliz de duas formas. Uma por estar ajudando a esses futuros JEDIs e outra que pelo que tenho notado meu trabalho acabou sendo quase que pioneiro nesse sentido, pois na época lembro que eu e uma colega estávamos arrancando os cabelos pra poder reunir informações suficientes para servir de referência e consequentemente fazer a monografia.


Bom, de lá até hoje venho colhendo os frutos (palestras, cursos, projetos) dessa saga. Ahhh.. e continuo acreditando nas tecnologias discutidas na mono, parace que apostei certo! :D

[]'s

sábado, 13 de setembro de 2008

Rails for Dummies 05

Entenda como funciona o sistema de rotas no Rails!

Desde a versão 2.0 o padrão de rotas para scaffold foi alterado para o modelo RESTful, no entanto, o Rails também trabalha com seu formato padrão (:contoller/:action/:id).

Dessa forma, é necessário que o desenvolvedor conheça as novas técnicas adotadas para a manipulação de rotas. É óbvio que isso tudo que falei não novidade, mas, como essa série visa ajudar os iniciantes, tá aí mais uma coisa pra aprender.


Bem, você pode começar olhando o Tutorial do Fabio Akita que explica boa parte do funcionamento e utilização de rotas REST. Seguindo, você pode dar uma olhada no PDF da Peepcode e também no recente guia publicado na Guide.rails.info.

É isso! Bom estudos!

quinta-feira, 11 de setembro de 2008

Correria!

Caramba! Ultimamente parece que o dia só tem 12h... É tanta coisa pra fazer que não estou conseguindo parar pra publicar nada.


Nas últimas 3 semanas foram, 2 projetos inciados (Rails), 1 projeto pra iniciar e de quebra um DETRANzinho no meio pra atrapalhar o meio de campo.

Assim que sobrar um tempinho extra volto a postar.

vlw!

terça-feira, 26 de agosto de 2008

VEOH Contra os Brazucas! =/

Não tinha percebido ainda a lei seca do VEOH.com ... =(
"Foi brasileiro pode vetar!"


Estou começando a achar que a teoria de que os brasileiros são a praga da internet é verdadeira.

vlw!

domingo, 24 de agosto de 2008

Desambiguar rotas no Rails com plural irregular!

Recentemente em um projeto precisei criar um scaffold baseado em um modelo chamado NEWS, e simplesmente ao criar as rotas REST o Rails começou a se atrapalhar pois no plural e singular NEWS é NEWS.

Pois bem, ao procurar sobre o assunto vi que uma das soluções é passar o parâmetro indicando o singular escolhido pelo próprio usuário, para isso no arquivo de rotas coloquei:



map.resources :news, :singular => :item_news


E pronto! Problema resolvido.

Hahh... vale lembrar que com o comando rake routes é possível ver todas as rotas mapeadas pelo Rails.


Outra coisa... se não me engano também é possível resolver esse problema configurando o arquivo de inflexões localizado em rails_app/config/initializers/inflections.rb , mas isso não testei.

Por favor, se existirem outras soluções comentem aqui! ;)

vlw!