Feeds:
Posts
Comentários

Não divulgar

Seu site não é um outdoor no meio da rua. Além disso, existem milhões de sites interessantes no ar. Se você não trouxer as pessoas até ele, ninguém o conhecerá. Divulgue.

Não atualizar
Ninguém lê o jornal da véspera. Um site desatualizado demonstra falta de gerenciamento ou descaso com seus visitantes. As duas coisas são péssimas para a imagem da sua empresa. Atualize.

Não responder
A comunicação é feita por pessoas. Ouça o que elas têm a dizer e responda. Se quer os benefícios da interatividade, esteja preparado: responda de maneira consistente. E com velocidade.

Interatividade inútil
Estrelinhas que correm atrás do cursor do mouse, formulários enormes que perguntam qual o número do sapato do internauta (inútil, se você não vende artigos para os pés…), pisca-pisca e todas aquelas coisas irritantes que só fazem a página demorar a ser visualizada e não trazem qualquer benefício para a mensagem. Fuja disso.

“Sedução da tecnologia”
É bonitinho, engraçadinho, interessante, mas serve para que mesmo? Não caia na tentação de colocar um novo recurso, a não ser que ele traga benefícios para seu público e, dessa forma, para sua empresa.

Fonte: Tau Virtual [http://www.tauvirtual.com.br/scr/pt/trabalhos/]

Recuperando o GRUB

Micro Tutorial sobre como recuperar o GRUB:
http://paste.lymas.com.br/606

O gerente de desenvolvimento da sua empresa chama para uma reunião e impõe: “Em quanto tempo você coloca isso em produção?” Veja como sair dessa e baixe um modelo de planilha para apresentar a ele.

Por Renato Ucha

O gerente de desenvolvimento da sua empresa o chama para uma reunião e o questiona sobre uma nova implantação que deve ser feita no sistema. Por cima, ele diz a você qual a necessidade do cliente e o questiona: “Em quanto tempo você coloca isso em produção?”

Reticente, pois o gerente não foi capaz de definir claramente o escopo do projeto, você hesita em dar uma estimativa de prazo, mas ao ser pressionado você acaba pedindo 30 horas baseado na sua experiência em projetos similares.

Como resposta o gerente diz que acredita muito no seu potencial e por isso estipula um prazo desafiador de 8 horas para a implantação. Como subordinado você aceita o prazo e para mostrar competência e corresponder às expectativas do seu gerente você pula o planejamento e a documentação indo direto para a alteração necessária nos códigos do sistema.

Você acaba entregando o projeto em 20 horas e o seu gerente ainda ironiza dizendo que você estava valorizando ao prever 30 horas para o projeto.

A situação acima, apesar de fictícia, lembra um pouco o dia-a-dia de trabalho de alguns departamentos de TI.

Em geral, quando um projeto desses consegue ser entregue dentro do prazo estipulado pelo gerente (nas condições acima), ou o escopo não foi claramente entendido pelo líder da equipe e portanto o resultado do trabalho não atenderá às necessidades do cliente ou então houve um assassinato da qualidade, o que implica em falta de documentação e excesso de códigos complexos para realizar tarefas simples, o que vai em curto prazo gerar um excessivo número de “bugs” e em longo prazo impactará em uma dificuldade em dar manutenção gerando maiores custos e degradando a performance da aplicação até que um dia a empresa percebe que está na hora de reescrever a aplicação a partir do zero (isso quando não resolvem instalar uma solução de terceiros e acabam com a área de desenvolvimento interna que passa a ser vista como um custo e não como um investimento).

Uma abordagem para o caso acima seria dizer a seu gerente que pela experiência que você possui a implantação levará de 22 a 52 horas, mas que para dar uma estimativa mais correta você precisa primeiro conhecer claramente o escopo das mudanças necessárias e verificar a disponibilidade de recursos para executá-las.

Durante o seu planejamento procure envolver a equipe de desenvolvimento. Sua equipe é quem fará de fato a implementação e portanto deve ser ouvida, até mesmo para levantar questões como a falta de conhecimento para utilizar determinada tecnologia, o que acarretará em um gasto maior de tempo para concluir uma tarefa aparentemente simples.

Não deixe de documentar todas as atividades que você achar necessário fazer para concluir o projeto, não esquecendo de planejar tempo para a elaboração de documentação funcional, técnica, desenvolvimento e testes.

Para este trabalho, não é necessário utilizar ferramentas sofisticadas de gestão de projetos como o MS Project. Esta tarefa pode ser facilmente realizada com uma planilha convencional e será até mesmo mais fácil para quem não está habituado com o MS Project.

Após detalhar as atividades, envolva os seus desenvolvedores e peça que eles respondam as seguintes questões para cada atividade que você escreveu em sua planilha:

  • a) Qual o prazo para concluir essa atividade?
  • b) Digamos que tudo ocorra bem, e nenhum contratempo aconteça. Neste cenário, qual o tempo mínimo para concluir a atividade?
  • c) E se tudo der errado? Qual será o tempo máximo para concluir a atividade?

Estudos comprovam que na maioria das vezes a estimativa da pergunta “a” será o tempo real, mas que desvios podem acontecer e para isso existe um cálculo matemático simples para prever com maior exatidão o prazo da atividade levando em consideração esta variação (das perguntas b e c).

Para isso, antes de colocar a estimativa de prazo na sua planilha, multiplique a resposta da pergunta “a” por 4, some com os tempos das perguntas “b” e “c” e então divida o resultado da soma por 6. É simples, veja o exemplo abaixo:

Estimativa: 10 horas

Se tudo der certo: 8 horas

Se tudo der errado: 15 horas

( 10 * 4 + 8 + 15 ) / 6 = ( 40 + 8 + 15 ) / 6 = ( 63 ) / 6 = 10,5 horas

Ainda que meia hora isolada não represente uma grande alteração, em um projeto de longa de duração, meia hora em cada atividade pode representar dias de trabalho.

Após estimar o prazo para todas as atividades, avalie os riscos envolvidos (como falta de conhecimento da equipe, possibilidade de perder funcionários chave, parada de servidor não programada, etc) e tente quantificar o quanto de tempo cada risco pode custar ao projeto.

Por exemplo, você sabe que o servidor de banco de dados de desenvolvimento costuma ficar parado pelo menos um dia por mês devido a falhas na restauração do backup de produção, então contabilize (para uma atividade estimada de 1 semana) 2 horas como tempo extra para este risco (como calcular? em um mês = 8 horas parado, então em 1 semana, 8h (parada mensal)/4(semanas) = 2 horas por semana).

Ao final, some as estimativas de tempo e adicione separadamente as estimativas de tempo para os riscos que você detectou.

Para apresentar a estimativa ao seu gerente, leve com você esta planilha que criou e entregue ao seu gerente uma cópia, incluindo a listagem das atividades, o tempo estimado para cada atividade (se possível, inclua também o nome do funcionário que deverá executar a atividade).

Ao final, após a soma total de tempo estimado, inclua a relação de riscos e o tempo extra correspondente, que poderá ser utilizado para compensar os riscos listados.

Veja aqui um modelo preenchido de planilha.

Com base em todo este material que você coletou e elaborou, você terá bastante argumento para convencer seu gerente a respeito da estimativa de prazo que você passou, evitando ter de sacrificar a documentação do sistema e o processo de planejamento, elementos essenciais quando se pensa em alta performance, reutilização de códigos, documentação de sistemas, etc.

Ah, e não ache que passar estimativas de prazo altas e entregar em tempo excessivamente melhor vai fazer com que seu gerente acredite que você seja um bom líder. Ao contrário, se isto ocorrer com freqüência vão pensar que você é um péssimo líder pois não sabe estimar com precisão o tempo necessário para concluir suas atividades e aí cada vez mais a história hipotética do começo desse artigo vai acontecer no seu dia-a-dia.

Fonte: Webinsider

Ferramentas para tirar o máximo do Twitter

O sucesso do Twitter pode ser explicado por duas características básicas da Web 2.0: arquitetura de participação e inteligência coletiva. Apesar das deficiências da interface e da usabilidade do Twitter, a abertura de seu sistema permitiu que terceiros oferecessem dezenas de serviços que para a expansão da prática do twittar. Apesar da lista ser muito grande, quero resenhar algumas ferramentas que vão turbinar a sua experiência na twittosfera.

A interface oficial do Twitter deixa bastante a desejar. Mas para twittar você não precisa ficar limitado a ela. Eu mesmo só fui usá-la nas últimas semanas, com o propósito de fazer uma análise crítica. Desde o princípio eu experimentei a twittosfera através de programas externos como Twitterific, TwitterFox e Twhril. Apesar de existirem outros por aí, acabei optando pelo TweetDeck. Ele funciona como uma verdadeira central de comando. Além de facilitar os retweets, mensagens diretas e os processos de seguir, “unfollow” e bloqueio de twitteiros (funcionalidades que os outros programas já ofereciam), o TweetDeck permite que você visualize em diferentes colunas os tweets de todo mundo que você segue e as mensagens diretas e citações que você recebeu. Mas o melhor é que você pode criar novas colunas na interface com mensagens apenas de grupos específicos, como amigos, jornais, etc. Com esse recurso, quem é que disse que é impossível seguir mais de 200 pessoas?

tweepularO Tweepular se apresenta como um sistema de administração de seguidores. Você pode listar quem está seguindo você, quem você segue e até mesmo quem não está retribuindo o seu “follow”. O serviço detalha informações de cada uma dessas pessoas. Mais do que isso, você pode dessassinar todos aqueles que não lhe seguem de uma só vez, como também seguir todos os seus seguidores. Contudo, você precisa selecionar essas pessoas uma por uma, pois não há a simples funcionalidade de selecionar todos os listados. A interface, como você pode ver aí ao lado, é de doer. Os autores se orgulham do colorido da tela, mas ainda não se deram conta da breguice do design. Outro serviço na mesma linha, o Twitter Karma, tem uma interface bem mais limpa e é mais fácil de utilizar. Depois que você seleciona quem quer assinar ou dessassinar (esse número pode chegar a centenas de uma só vez), o sistema cumpre bem o seu trabalho automatizado. É possível que o resultado final leve alguns dias, pois o Twitter passou a limitar o número de consultas de serviços de terceiros. Um problema do Twitter Karma é sua grande demora em angariar todas as informações de sua conta, mas a espera acaba compensando.

Uma das melhores maneiras de visualizar quem são os seus seguidores e com quem você mais interage é gerar um grafo de sua rede social. O detalhe ao lado foi criado no site Top Twitter Friends. Basta digitar seu username no Twitter e visualizar a sua rede. Você pode clicar no avatar de seus amigos e saltar para uma visualização da rede de pessoas que o seguem. O serviço também se propõe a sugerir nomes de outras pessoas que você deveria seguir, com base no cruzamento dos dados disponíveis. Outra pedida é conhecer o Twitnest, que é mais lento mas oferece alguns recursos de visualização adicionais.

QuitterSe você está levando muito a sério a montagem de sua rede e quer saber exatamente o momento em que pessoas deixam de lhe assinar e qual a mensagem que disparou uma debandada geral, cadastre-se no Qwitter. O serviço envia um e-mail detalhando todas essas informações. A proposta é interessante, mas o serviço parece não cumprir muito bem o que promete. Outro projeto que vale acompanhar é o Twitterless.

Você anda observando que depois das matérias sobre o Twitter na revista Época e no Fantástico o seu número de seguidores vem crescendo. Ou, pelo contrário, você percebeu que depois de twittar umas bobagens perdeu uma série de assinantes. Quer ver gráficos da evolução desses números? Conheça o twittercounter. Você também pode comparar seus números com as estatísticas de outra pessoa. Cuidado, você pode descobrir que seu desafeto anda muito mais popular que você!

Agora, se você não se satisfaz em visualizar a quantidade de seguidores e quer saber como anda sua reputação na twittosfera, visite o TwitterGrader e conheça a sua nota e ranking mundial. O serviço serve tanto para alimentar egos como para deprimir quem sonha em ser popular mas não passa de um anônimo!

Outra forma de avaliar a sua reputação é analisar quantas pessoas dão um “retweet” em suas mensagens. Veja seu ranking no Retweetrank. Mas, se esses números não satisfazem sua gana estatística, esbalde-se no TweetStats. Lá é possível verificar quanto você tweeta por hora, por mês, quanto você retweeta, etc.

Querendo descobrir onde estão os seus seguidores? Não deixe de conhecer o Twittermap. Este mashup faz uma ótima integração entre o Google Maps e a API do Twitter. Com esse serviço, você pode descobrir quem anda twittando na sua região, em cidades selecionadas e até mesmo uma timeline geo-localizada a partir de uma busca por palavras-chave.

A graça do Twitter é permitir apenas 140 caracteres. Mas, já que uma imagem vale mais que mil palavras (e 140 caracteres, claro!), como deixar de mostrar uma foto sensacional para todos os seus seguidores? Essa é justamente a deficiência que o Twitpic quer suprir. Sim, você pode colocar um link para sua conta no Flickr. Mas o que o Twitpic oferece é uma integração rápida com o seu Twitter.

Talvez imagens não sejam sua praia, ou você acha que a graça do Twitter é justamente restringir-se ao texto. De qualquer forma, você pode pensar que 140 caracteres nem sempre são suficientes para suas argumentações. Seus problemas acabaram! Conheça o Twitlonger e cure-se da tensão “será que minhas idéias caberão em espaço tão pequeno?”. Depois de cadastrar-se no site, escreva o que for necessário. O serviço envia para o Twitter um link para a continuação de sua fala.

TwitterPollSe você quiser envolver sua audiência em torno de uma rápida pesquisa, que tal vincular uma enquete ao seu Twitter? Conheça o twtpoll, criado pelo brasileito Felipe Coimbra. O serviço faz parte do twtapps, um conjunto de aplicações legais para o Twitter.

Encontre aqui os resultados parciais de uma enquete que criei para avaliar que sites ou programas estão sendo mais utilizados para twittar.

Esta é apenas uma pequena amostra de todos os serviços disponíveis na rede para ampliar a sua experiência na twittosfera. Quer consultar uma lista completa ou acompanhar tudo o que está sendo lançado? Então não deixe de visitar o Twitter Fan Wiki.

E para quem ainda não se convenceu do potencial do Twitter, sugira que eles acompanhem no GigaTweet o impressionante número de mensagens trocadas desde a abertura do sistema. Eles vão se surpreender.

Ah, antes de terminar: lembra quando você aderiu ao Twitter? Consulte aqui.

Fonte: http://www.interney.net/blogs/alexprimo/2009/05/05/ferramentas_para_tirar_o_maximo_do_twitt/

Abaixo um tutorial com o procedimento passo a passo para recuperação de senha em roteadores Cisco.

A maioria dos roteadores aceita o procedimento abaixo. Em alguns casos podem haver particularidades.

Veja mais detalhes em: http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_tech_note09186a00801746e6.shtml

1. Conecte se ao roteador pela porta de console(configuração da serial: 9600-8-N-1)

2. Se você tiver acesso ao roteador use o comando show version no prompt e anote a configuração do registro. (Register 0×2102, por exemplo).

3. Desligue e ligue o roteador.

4. Pressione Break no teclado do terminal antes de 60 segundos depois de ligar o equipamento para entrar no modo ROMMON.

5. Digite confreg 0×2142 no prompt da rommom (rommom >1) de maneira a bootar da flash e “bypassar” (fazer com que não seja executado) o arquivo de configuração onde as senhas estão armazenadas.

6. Digite reset no prompt (rommom >2)O roteador irá reinicializar, mas vai ignorar a configuração salva.

7. Digite no para cada questão no setup ou pressione Ctrl-C de forma a pular o procedimento de configuração inicial.

8. Digite enable no prompt de comando (Router>)Você agora está em modo privilegiado e deve ver Router#.

9. Digite configure memory, ou copy startup-config running-config de forma a copiar a NVRAM não volátil para a memória.

10 Digite show running-config. O comando show running-config permite ver a configuração do roteador. Você poderá ver todas as senhas que não estejam criptografadas. As interfaces também estão no estado down.

11. Digite configure terminal O prompt hostname# vai aparecer. Sete novamente a senhas com enable secret e não esqueça de setar a senha de login nas portas VTY também.

12. Entre com no shutdown em todas as interfaces

13. Retorne o register do roteador para 0×2102 (normalmente) usando:config-register 0×2102Se o registro original (obtido no passo 2)for diferente de 0×2102, use o original

14. Use Ctrl-z para sair do modo de configuração

15. Use write memory para gravar as configurações com as novas senhas.

16. Reinicialize o roteador.

Fonte: networkexperts

É sempre útil ler algumas dicas rápidas para melhorar a sua codificação. Geralmente temos vícios que adquirimos no dia-a-dia que, sem sabermos, tornam o nosso código mais lento.

Seguem abaixo 12 dicas para melhorar o processamento dos seus códigos PHP.

1. Se um método pode ser static, declare-o como static! O desempenho aumenta 4 vezes;

2. Evite utilizar metódos mágicos como __get, __set e __autoload, se possível;

3. require_once() é dispensável e demanda bastante memória;

4. Use caminhos completos (full path) nos includes e requires, pois é gasto menos tempo resolvendo os caminhos do sistema operacional;

5. Se você quer descobrir o tempo em que o script começou a ser executado, é preferível utilizar $_SERVER[´REQUEST_TIME´] do que time();

6. Veja se pode utilizar strncasecmp, strpbrk e stripos ao invés de regex;

7. str_replace é mais rápido que preg_replace, mas strtr é 4 vezes mais rápido que str_replace;

8. Se uma função, como de substituição de strings, aceitar tanto arrays como caracteres simples como argumentos, e se a sua lista de argumentos não é muito longa, considere fazer algumas declarações redundantes de substituição, passando um caractere por vez, ao invés de uma linha de código que aceita arrays como argumentos de busca e substituição;

9. Supressão de erro com @ é muito lento;

10. $row[´id´] é 7 vezes mais rápido que $row[id];

11. Mensagens de erro demandam mais processamento;

12. Não utilize funções dentro de loops, como por exemplo: for ($x=0; $x < count($array); $x). A função count() é chamada todas as vezes que o loop é executado.;

Fonte:http://www.moskalyuk.com/blog/php-optimization-tips/1272

Tradução: http://imasters.uol.com.br/artigo/8962/php/12_dicas_para_otimizar_seus_codigos_php/

Muito bom o artigo do Ricardo no site do Vivaolinux.

Boa referencia pra quem se vê (literalmente) no limite de sua capacidade por conta da demanda destes acessos, na sua maioria não produtivos.

Depois desse artigo, algumas pessoas vão querer te matar… hehehehe.

Na semana passada tive problemas exatamente com isso: Tornar uma “aplicação” PHP mais moderna e funcional. A primeira coisa que veio à mente foi alterar as interfaces dos clientes já que as regras de negócio pareciam satisfatórias numa primeira análise.

Sem querer achei um link muito bom no site LinuxSecurity que falava justamente sobre isso: http://www.onlamp.com/pub/a/php/2007/05/10/migrating-web-based-php-applications-to-ajax.html .

Pra quem, assim como eu, está sempre às voltas com aplicações defasadas mas que têm que dar um novo gás nas mesmas, este artigo traz dicas interessantes que todos deveriam levar em conta.

Esta Saiu na Dicas-L e achei importante tornar público:

  Sniffando o SSH com o Strace
  ============================

É possivel Sniffar as Conexões via SSH simplesmente escutando as chamadas
System Calls do daemon SSHD.  Existe um ponto de comunicação entre o SSHD e
o Kernel, entre a Criptografia e a Descriptografia, em que os dados passam em
Texto Plano (plain text) e este tráfego pode ser capturado com o uso do Strace.

  1. Sniffando a Senha do Login:
  ==============================

1. No servidor que está com o Server do SSH rodando descubra qual o pid do daemon sshd:

  Zion:~# ps aux | grep sshd | grep -v grep
  root      6097  0.0  0.1   4792  1076 ?        Ss   16:49   0:00 /usr/sbin/sshd

2. De posse deste pid dispare o Strace (como root):

  Zion:~# strace -f -p 6097 -o snif_ssh.txt &

Este comando irá logar no arquivo sniff_ssh.txt todas as chamadas  do processo
de pid 6097 (sshd).  Uma lida no man do strace ajuda a entender e experimentar
outras opções de filtragem e paãmetros.

3. De um outro servidor, ou para fins de teste da mesma máquina, faça um ssh
com um usuário qualquer:

  godoy@Zion:~$ ssh localhost
  Password: textoplano
  Last login: Mon May  7 17:01:15 2007 from localhost.localdomain
  godoy@Zion:~$

4. Agora analíse as saídas que foram logadas no arquivo sniff_ssh.txt, procure
pelas chamadas read ou write:

  Zion:~# cat snif_ssh.txt | grep read | more
  6521  write(4,  1ntextoplano , 18 <unfinished  >
  6520  <  read resumed>  71ntextoplano , 19) = 19
  6520  write(7,  ntextoplano , 14 <unfinished  >
  6522  <  read resumed>  6ntextoplano , 15) = 15

  2. Sniffando as demais transferências de dados:
  ===============================================

1. Digite o seguinte comando, restringindo a busca as chamadas read e write:

  Zion:~# strace -f -p 6097 -o snif_ssh.txt -v -e trace=read,write -s 128 &

2. Teste alguns comandos no cliente:

  godoy@Zion:~$ cat > teste.txt
  ======== OK =======
  Sniffou??
  ======= OK =======
  godoy@Zion:~$

3. Verifique o log o servidor pesquisando por write ou read:

  Zion:~# cat snif_ssh.txt | grep  ===
  6586  <  read resumed>  ======== OK =======n , 4096) = 20
  6586  write(1,  ======== OK =======n , 20) = 20
  6586  <  read resumed>  ======= OK =======n , 4096) = 19
  6586  write(1,  ======= OK =======n , 19) = 19
  Zion:~# cat snif_ssh.txt | grep  Sniff
  6586  <  read resumed>  Sniffou??n , 4096) = 10
  6586  write(1,  Sniffou??n , 10)       = 10
  Zion:~#

Como a saída do Strace é muito prolixa e pode rapidamente criar um arquivo
bem grande, cabe aqui um script  para filtrar melhor o log que será gravado
no arquivo sniff_ssh.txt.

Pode-se imaginar que é perfeitamente possível disparar tais comandos no lado do cliente!!

E que também pode-se criar um rootkit que se aproveite desta comunicação de
SystemCalls para pegar o tráfego entre o Servidor SSH e seus clientes.

Portanto tome muito cuidado com os seus servidores SSH e coms seus clientes.

Fonte: Leandro Godoy http://www.blogmind.com.br/

e-Genial Visual Migration

Olá Pessoal, como toda empresa que esta investindo pesadamente em alguma tecnologia os testes da plataforma são fundamentais. Gostaria de apresentar a vocês o e-Genial Visual Migration.

Mas você deve estar se perguntando que diabos é isso ?

Bom ,o Visual Migration é simplesmente uma ferramenta que tem por objetivo criar um diagrama de entidade relacionamentos 100% web, 100% ajax e 100%… claro Ruby on Rails, e de quebra depois que você criar suas tabelas, você pode gerar as migrations do teu projeto, ele ainda é beta, mais gostaria que vocês acessassem pois é bem intuitivo e logo logo vocês vão entender como funciona, em seguida gostaria que postassem aqui o que acharam e o que pode ser melhorado, com o tempo essa ferramenta vai gerar DDL, salvar as versões e projetos em área restrita de cada usuário.

Grande abraço a todos e divirtam-se ;-)

Fonte: e-Genial

Postagens Antigas »