Caio Tarifa

Cadê o negócio? Rastreie suas encomendas pelo Twitter.

É um saco você ter que entrar no site dos correios e colocar seu código de rastreamento para saber onde está sua encomenda, muitas vezes você perde o código ou não está com ele em mãos. Pensando nisso eu e meu amigo Hugo D’emiglio criamos em Ruby o @cadeonegocio. Um serviço que vai acompanhar automaticamente sua encomenda e te avisar sempre o status do pedido através do twitter, sem links externos.

Como utilizar?

Bem simples, basta você enviar um tweet mencionando o serviço e o código de rastreamento, a mesagem que você escreve não importa, veja um exemplo:

Útil não? Deixem suas opniões e divulguem o serviço, valeu!

Manipulando urls com javascript

Existem inúmeros plugins para manipular os endereços com javascript, talvez o mais famoso deles seja o jQuery URL Parser. Embora bibliotecas como esta sejam leves e fáceis de manipular, é interessante demonstrar o conceito que está por trás.

Resgatando toda a URL.

1
2
window.location.href;
/* http://www.caiotarifa.com/manipulando-urls-com-javascript */

Redirecionamento.

Com o exemplo abaixo estamos setando um novo valor para o location.href, desta maneira a página é carregada com o novo valor.

1
window.location.href = "http://www.google.com/";

Resgatando e alterando o hostname.

1
2
window.location.hostname;
/* caiotarifa.com */

Esta função pode se tornar bastante útil se bem utilizada. Por exemplo, se tenho um endereço: http://meuantigoendereco.tld/post/nome-do-post podemos trocar apenas ser hostname, tendo como resultado final http://caiotarifa.com/post/nome-do-post. Ao executar o comando abaixo a página já será recarregada.

1
window.location.hostname = "caiotarifa.com";

Resgatando e alterando a porta.

No caso da porta 80, que a maioria dos navegadores esconde, o javascript não é capaz de recuperar, por este motivo o retorno muitas vezes é vazio. Por isto, vamos tomar como base a seguinte URL: http://www.caiotarifa.com:9595.

1
2
window.location.port;
/* 9595 */

Para recarregar a página com a nova porta: http://www.caiotarifa.com:8080/

1
window.location.port = "8080";

Resgatando e alterando o protocolo.

1
2
window.location.protocol;
/* http: */

Para recarregar a página com o novo protocolo: ftp://www.caiotarifa.com/

1
window.location.protocol = "ftp:";

Manipulando pastas e parâmetros.

No caso da URL http://www.caiotarifa.com/manipulando-urls-com-javascript?get=test&get2=test, para resgatar apenas o caminho de pastas podemos fazer assim:

1
2
window.location.pathname;
/* /manipulando-urls-com-javascript */

Certo, mas como adoramos deixar tudo mais difícil, vamos pegar um exemplo mais difícil, agora temos três subdiretórios: http://www.caiotarifa.com/path1/path2/path3. Como podemos resgatar apenas o path3 de forma fácil?

1
2
window.location.pathname.split("/")[3];
/* path3 */

Agora, vamos retomar aos exemplos de parâmetros na URL, como por exemplo: http://www.caiotarifa.com/?get=string&get2=string2. Para resgatar toda esta parte usamos:

1
2
window.location.search;
/* ?get=string&get2=string2 */

Também podemos substituir esta parte, setando um valor para search, como no exemplo:

1
window.location.search = "?get=novastring&get2=novastring2";

Ok, mas e se quisermos resgatar apenas o get2? Bom, normalmente eu uso uma função:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getUrlParam(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

getUrlParam("get2");
/* string2 */

Manipular hash (ou âncoras).

E se eu tenho aquela URL com http://www.caiotarifa.com/manipulando-urls-com-javascript#comments como faço para resgatar?

1
2
window.location.hash;
/* #comments */

Podemos definir uma hash também:

1
window.location.hash = "newhash";

Bom, a princípio é isso, qualquer dúvida é só deixar um comentário aí.

Campus Party 2011 – Aeroporto de Guarulhos

Campus Party 2011 - Aeroporto de Congonhas

Algumas pessoas assim como eu vão ter que desembarcar no Aeroporto de Guarulhos, o que torna as coisas um pouco mais complicadas, como alugar um carro está fora de cogitação, me restam duas alternativas as quais vou compartilhar com vocês.

Traslado entre os aeroportos (105 minutos – R$ 51,00)

Este método é mais caro, entretanto garantido e seguro, mas não necessariamente mais rápido. Recomendo para quem irá levar uma bela de uma bagagem, como seu desktop ou aquela mala enorme. Algumas companias aéreas oferecem o traslado gratuito para seus clientes (informe-se sobre isto), caso contrário você pode optar pela Passaro Marrom que oferece este serviço por R$ 31,00 e demora em média 70 minutos. Chegando em Congonhas (que fica há 3km do evento) você pode rachar um taxi com seus amigos, o segredo é não pegar o taxi na porta do aeroporto (eles cobram mais caro) e sempre combinar um valor com o taxista antes em média. Acredito que vá mais R$ 20,00 e demore mais 15 minutos.

Transporte público – (70 minutos – R$ 6,45)

Este método é bem mais rápido graças ao metrô e barato por se tratar de transporte público, entretanto não permite que você leve tantas coisas assim, por questões de segurança e de transporte.
Como não existe metrô em Guarulhos é preciso pegar um ônibus que irá te levar até a estação mais perto, no caso a Tatuapé, o ônibus é o 257 e passa a cada 15 minutos, o tempo de viagem é de aproximadamente 25 minutos no valor de R$ 3,80 (EMTU – Linha 257).
Feito isso, você deve embarcar na linha vermelha, sentido Estação Sé e chegando nesta estação é necessário que você faça a baldeação gratuita, isto é sair da linha vermelha e entrar na linha azul sentido Jabaquara, nossa última parada (mapa), o que nos toma mais 45 minutos e R$ 2,65.
A partir daqui meu caro colega pobre, resta você andar cerca de 800m ou chamar um taxi, moto taxi, e afins… (trecho entre Metrô Jabaquara e Centro Imigrantes). Ano passado o evento forneceu gratuitamente um ônibus para fazer este caminho.

É isso pessoal, mas da próxima eu vou de caravana, pode ter certeza!

Conheça o Katchum!

Katchum!

Há muito tempo eu venho procurando uma alternativa ao cPanel e ao Plesk que superasse minhas expectativas e até hoje nada, existem alguns projetos que até merecem meu respeito como o Webmin, ISPConfig, IspCP Omega (um fork do antigo VHCS) entre outros. Mas nenhum, inclusive os pagos, tem um design atraente, boa usabilidade e o principal: a falta de suporte decente para RubyOnRails, Node.js e Django, a utilização de qualquer servidor web (não podemos deixar o Nginx de lado nos dias de hoje) e como consequência o suporte de banco de dados NoSQL como Redis e MongoDB.

Foi com este objetivo que tomei a iniciativa e criei o Katchum, que será desenvolvido em PERL e servirá para suprir as reais necessidades dos desenvolvedores do mundo, sem dúvida é uma grande idéia que está começando por baixo e por isso preciso da sua ajuda. É preferível ter poucos recursos, mas que todos funcionem bem… este é o lema do Katchum, ser simples, rápido, funcional e elegante.

Abaixo você pode ver duas screenshots que eu tirei da tela de instalação:

Créditos ao @hugodemiglio pela sugestão do nome Katchum (você roda no servidor e… Katchum! Tudo está configurado da maneira que você sempre quis).

Como as pessoas veem seu site?

Como as pessoas veem seu site?

O próprio nome é sugestivo, indica o estudo do método de usar as coisas, no caso sites ou sistemas.

Não me faça pensar!

(Para os que quiserem aprofundar no assunto procurem por este título (do original Don’t make me think), autor Steve Krug).

Este título é muito sugestivo, pois traduz exatamente o que é, em síntese, usabilidade. Quando desenvolvemos algum projeto, devemos nos preocupar com cada detalhe de um design, para que torne obvio o raciocínio do usuário final. Independente do ramo de atividade do site e do grau de conhecimento de quem irá o visitar, a familiaridade com ele deve ser instantânea.

Do que voce está falando?

Resumindo, existem três perguntas que voce deve responder quando cria algo.

  • Onde estou?
  • Para que serve?
  • Como navego?

Tente deixar estas respostas claras logo em sua página inicial, lembre-se que os sites sempre devem possuir uma hierarquia, então vamos responder estas perguntas, de maneira simples e eficaz.

  • Logotipo sempre acima de tudo e do lado esquerdo, é o primeiro local onde o usuário olha, e isto responde a primeira pergunta.
  • Uma breve explicação (breve mesmo, sem muito “papo furado”).
  • A navegação pode ser inserida em dois locais, tanto horizontalmente abaixo do logo, ou verticalmente do lado esquerdo.

A não ser que voce tenha uma boa proposta capaz de substituir eficientemente estes ítens, sempre os siga com rigidez, mas lembre-se, nem tudo pode ser perfeito e capaz de ser evidente.

Usuários procuram algo que seja importante, lembre vagamente o que procuram e seja possível clicar. Fica a dica: use cores em contraste, pouco texto (ninguém lê todo o conteúdo enorme de um site, como nos jornais, procuramos apenas o que nos interessa) , escolha bem os nomes e defina bem a aparência das coisas, por exemplo… um campo de busca deve se chamar busca e deve se parecer com um campo de busca.

Falando de busca…

Indiscutivelmente, todo site que apresenta uma cartela muito variada de produtos, serviços, artigos, noticias ou multimídia deve ter um espaço bem definido para a busca, gosto de posicioná-la junto ao logo do site, porém do lado direito. A busca ajuda a responder uma quarta pergunta: “Onde eles colocaram o ___________?”.

O mercado brasileiro.

Hoje, quando entro num site institucional é para procurar o endereço ou o telefone da empresa, veja neste site desenvolvido pela minha equipe como tais coisas estão bem explicitas: logotipo, telefone, busca e navegação.

Para desenvolver uma solução institucional voltada para o mercado nacional não esqueça nunca destes ítens, muitos ainda fazem se pensar que o site é o cartão de visita da empresa (embora eu não tenha o mesmo raciocínio e ache que o site é o melhor e mais rápido meio de comunicação com o cliente).

Acho besteira, isso nem é tão importante assim!

Pelo contrário, na internet seus concorrentes estão a cliques de distância, de modo que se eles não encontrarem o que procuram em seu site, eles concerteza irão para outro lugar. Entretanto, se seu site esta dentro do ambiente colocado em questão, seu produto certamente será utilizado pois geralmente estamos com pressa (se estamos utilizando a internet como meio para tal, sempre estamos com pressa) e se acharmos algo que funcione, geralmente ficamos com ela.

Faça testes.

Teste de usabilidade não precisam ser caros, um pequeno e simples exemplo é o de pedir para familiares, amigos e vizinhos testarem o seu projeto. Voce fica de longe observando aonde eles possuem a maior dificuldade. Outro ponto importante, se o seu site é voltado para um nicho especifico de mercado, por exemplo, advocacia, pague dois ou três advogados para o testarem por meia hora.

Após anotar todas as dificuldades, faça uma triagem e busque uma solução.

RubyConf 2010.

RubyConf 2010

O evento reuniu mais de 700 pessoas com palestras de alto nível pelos caras mais fodas em Ruby. De todos os fatores o mais importante foi a interação com o público que o evento proporcionou, desde o networking com os palestrantes até a troca de idéias pelo Twitter entre os participantes, nós até encontramos pessoas interessadas em formar um grupo de Ruby aqui em Ribeirão Preto.

É a primeira vez que a equipe Formaweb vai a um evento em São Paulo, todo mundo aprovou a experiência e com certeza iremos em muitos outros eventos juntos. Até quem não tinha muito a ver coma história (como é o meu caso) voltou para casa com uma bagagem enorme, o evento não trouxe só palestras de Ruby e sim a apresentação de novas ferramentas de trabalho e paradigmas para a vida como a palestra “Sem tesão não há solução.” do Alexandre Gomes e a “Faca na caveira.” por Diego Carrion (da Gonow).

Reggae do Node

Para fechar este post deixo registrado uma das partes mais legais e engraçadas do evento, o Reggae do Node.

;)