Typical website evolution...
Posted by André Ribeiro Camargo Tue, 27 Jul 2010 17:16:00 GMT
http://graphjam.com/2010/07/26/funny-graphs-typical-website-evolution/
BOA! :-D
Posted by André Ribeiro Camargo Tue, 27 Jul 2010 17:16:00 GMT
http://graphjam.com/2010/07/26/funny-graphs-typical-website-evolution/
BOA! :-D
Posted by André Ribeiro Camargo Tue, 08 Jun 2010 10:30:00 GMT
Uso MySQL na aplicação dos shoppings com storage InnoDB. Funciona muito bem.
Mas ultimamente notei um gargalo de performance no banco quando tenho alguns INSERTs concorrentes na tabela de acessos (tipo uns 9). SHOW PROCESSLIST no console do mysql não mostrava outra coisa que não fosse COMMIT na informação das threads. E as requisições acabam ultrapassando a minha meta de consumir, no máximo, 1 segundo.
Pesquisei um pouco a respeito de como otimizar isso e descobri o INSERT DELAYED, vamos tentar…
Primeiro mexi no banco, ALTER TABLE nome_da_tabela ENGINE=MYISAM; para converter a tabela de InnoDB para MYISAM.
Depois alterei a aplicação, copiando o método ActiveRecord::Base#create para meu model e renomeando-o para create_without_callbacks (eu uso before_create para setar alguns atributos e queria manter os callbacks funcionando)
E para ver se funcionou, no console do MySQL rode SHOW STATUS LIKE ‘delay’; e leia aqui o significado de cada variável
Estou ansioso para comparar os logs de produção :-)
Posted by André Ribeiro Camargo Mon, 31 May 2010 23:26:00 GMT
Hoje fui converter um gráfico de pizza e notei que o padrão da Gruff é usar percentuais na legenda.
Só que a Bluff tava mostrando o valor da série.
Então, ajustei o código para ficar igual ao gráfico original.
Posted by André Ribeiro Camargo Wed, 19 May 2010 23:27:00 GMT
Sou usuário de Gruff há muito tempo, utilizo principalmente gráfico de barras nas estatísticas dos shoppings.
Ontem, descobri o Bluff. Que pretende fazer o mesmo que o Gruff, só que usando javascript ao invés de ruby.
Gostei muito das tooltips do Bluff, então comecei a ver como seria para migrar o que tenho em Gruff.
O detalhe, é que eu queria modificar o conteúdo da tooltip, para mostrar mais dados.
A versão oficial do Bluff não suporta este recurso…
MAS, se vocês precisarem desta funcionalidade, peguem o código do meu fork no github que ele faz isso.
Dica de como fazer? Dá uma olhada neste exemplo, especificamente na função tooltips_renderer do gráfico custom_tooltips.
Agora é com a nossa criatividade, happy coding everybody!
Dica #2: gem install jake e rodem “jake” no diretório do projeto para gerar o arquivo bluff-min.js que deve ser linkado pela sua página.
Dica #3: instanciem o gráfico no window.onload… senão terão problemas no IEka.
Posted by André Ribeiro Camargo Mon, 10 May 2010 17:33:00 GMT
Venho utilizando o Ubuntu 10.04 desde antes do Alpha3 e na minha opinião o sistema está melhorando a cada versão. Desta vez, realmente o tempo de carregamento ficou muito mais curto e desde o lançamento o sistema está bem robusto.
Ainda sobre sistemas operacionais, ontem foi liberado a versão Alpha 2 do Haiku. Rodei a VM no VirtualBox e não funcionou a rede, aí fica muito sem graça. Preciso reservar algum tempo para ver como fazer funcionar (se for possível) para testar melhor.
ATUALIZAÇÃO:
Muito massa! Funciona perfeito!
As coisas estão evoluindo :-)
Posted by André Ribeiro Camargo Wed, 21 Apr 2010 00:24:00 GMT
Um cliente me pediu para integrar o site dele com o Google Analytics.
Até aí, tranquilo, é barbada.
Só que, meus portais implementam identificação única (single sign-on). O cara se identifica em um dos sites e ao acessar qualquer outro do portal o sistema mantém ele identificado.
Implementei isso autenticando o usuário num site “central” e ao acessar os outros sites o sistema faz alguns redirecionamentos para verificar se aquele cara já está logado ou não.
Robôs não deviam se identificar, logo, podemos ignorar os redirecionamentos.
Aí que veio o problema, o robozinho que verifica se o site tem o código que ativa o Google Analytics não declara User Agent algum nas requisições.
Não sei porquê… Facilitaria a vida de nós (desenvolvedores) na busca do problema que impede a identificação do site pelo GA.
Resolvi meu problema, interpretando os logs de acesso do apache para descobrir quais eram as requisições desse cara, então coloquei o IP dele na lista do meu sistema que identifica os robôs, mas…. quando será que o google vai trocar o IP deste servidor?
Se tivesse o User Agent, ficaria menos POG…
Posted by André Ribeiro Camargo Fri, 02 Apr 2010 01:12:00 GMT
Troquei de endereço, todos que já fizeram uma, sabe que é bem xarope. Mas tem lá seus pontos positivos. Para infelicidade do instalador da Oi eu tenho o telefone dele, azucrinei o coitado até agilizar a minha Internet de volta :-) Agora só falta arrumar o roupeiro e tudo está terminado. Temos uma vista legal do cerro, assim que der eu publico alguma imagem.
Hoje foi o lançamento da versão 2.30 do GNOME, mais melhoramentos de infra-estrutura. Para próxima versão está programado alterações visuais. Vamos ver como será :-) Mal posso esperar.
Posted by André Ribeiro Camargo Sun, 14 Mar 2010 20:39:00 GMT
Não aguentei o lançamento do Beta dia 18 e resolvi tentar o Alpha3, principalmente depois que revelaram o novo tema.
Atualização com ‘update-manager -d’ correu como o esperado, simplesmente funcionou.
O novo tema não é tão bonito como parecia em alguns screenshots, mas, tudo bem. Já estou “quase” habituado com a modificação de posição dos botões de maximizar/minimizar/fechar janela para o canto esquerdo da barra de título. :-)
O primeiro “problema” foi o som, ficou mudo. Depois de fuçar nas preferências descobri que o “conector” de saída não estava para “Analog Speakers”. Depois disso, temos música! Sabe como é, sem música não dá para viver.
Depois fui trabalhar um pouco, ao tentar acessar o shopping de desenvolvimento que roda na minha máquina recebi:
/usr/lib/ruby/1.8/i486-linux/RMagick2.so:RuntimeError: This installation of RMagick was configured with ImageMagick 6.5.5 but ImageMagick 6.5.7-8 is in use.
resolvi colocando RMAGICK_BYPASS_VERSION_TEST = true no config/boot.rb (eu sei, cheira POG né?)
Agora, não consegui acessar o homebanking do BB. Descobri que não tenho mais plugin java instalado, inclusive… cadê o pacote sun-java6-plugin?
Perguntei no IRC, disseram para adicionar o repositório “partner” e agora achou o pacote, neste momento está atualizando os pacotes do java, o jeito é aguardar…
ATUALIZAÇÃO:
Somente instalar os pacotes não funcionou, depois de nova consulta no #ubuntu+1 da FreeNode o plugin voltou depois que o seguinte link foi criado:
lrwxrwxrwx 1 root root 48 2010-03-14 18:36 /etc/alternatives/mozilla-javaplugin.so -> /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so
Posted by André Ribeiro Camargo Fri, 05 Feb 2010 01:47:00 GMT
A pedido de um cliente, incluí na página que exibe a notícia na íntegra os links para compartilhar o conteúdo no Twitter, Reddit, Google Bookmarks, etc
Frescurinhas, espero que seja útil para alguém…
Posted by André Ribeiro Camargo Wed, 03 Feb 2010 16:34:00 GMT
Estou usando o GeoIPLite City para gerar relatórios por origem dos acessos, utilizando a gem geoip_city para consultar os dados na base de dados binária (que é muito mais rápida do que importar/consultar o CSV no banco de dados).
O problema é que a gem não retorna o nome da “região” (equivalente a nossa unidade federativa), então, criei um fork do projeto no github e fiz as alterações (que foram muito simples) para obter este dado aproveitando a API em C que é muito veloz. Para facilitar a instalação em produção, estou hospedando a gem atualizada no gemcutter.
Caso seja útil para alguém, fique a vontade para usar e me enviar remendos.