Redes Sociais

Redes SociaisNota: Este artigo foi escrito originalmente para o blog da PTWS Alojamento Web. Aqui encontra-se uma transcrição completa para efeitos de arquivo.

A expressão “Rede Social” passou a fazer parte do nosso dia-a-dia há poucos anos, com a adesão em massa ao hi5. Tal como as novas tecnologias, esta nova realidade foi adoptada primeiro pelas camadas mais jovens da sociedade. Hoje, são poucos os internautas que não pertencem a algum tipo de rede social.

No entanto, as redes sociais não começaram aqui. Muito antes do aparecimento do Myspace, a internet estava repleta de fórums temáticos, onde os utilizadores discutiam os mais diversos assuntos: carros, jardinagem, música, culiária, etc. Este agrupamento de pessoas com gostos partilhados foi a génese de algo que viria a alterar a forma como utilizamos a internet.

Daí ao aparecimento do Friendster e do Myspace foi um saltinho. Estes sites funcionavam de outra maneira, o objectivo era juntar pessoas conhecidas ao invés de juntar pessoas que apenas tinham os mesmos interesses. Passou a ser possível criar uma verdadeira rede com os nossos conhecidos e amigos. Até ao surgimento do Facebook, o Myspace era a maior rede social a nível mundial. Com cerca de 110 milhões de utilizadores no seu auge, este site massificou o uso das redes sociais. Hoje em dia o Myspace é utilizado maioritariamente como plataforma de divulgação de bandas

What’s hot? Facebook & Twitter

A maioria das pessoas reconhecerá estas duas palavras, mesmo nunca tendo utilizado ou sequer visto nenhuma das plataformas. O Facebook e o Twitter andam na boca do mundo mas, apesar de parecer que vieram para ficar, a verdade pode ser outra. A internet é muito dinâmica e os utilizadores fartam-se depressa. A história mostrou-nos (com o Myspace, hi5, Orkut) que estas popularidades não passam de modas. Ao fim de alguns anos surge uma alternativa que consegue cativar os utilizadores e convencê-los a migrar, deixando estes sites uma mera sombra do que já foram. Os números regem os vencedores, e neste campo, o Facebook tem estatísticas astronómicas.

“Mas porque é usam essa porcaria? Qual é o interesse?” pergunta um céptico.

A resposta simples é que nos permite manter em contacto com os nossos amigos. Saber novidades, ver fotos, trocar mensagens… Todas as pessoas que nos interessam à distância de um clique. Se antes nos perguntavamos como conseguíamos viver sem os telemóveis, hoje muita gente faz a mesma pergunta em relação à internet e às redes sociais.

O Facebook tem uma enorme quantidade de aplicações criadas de raíz por developers de todos os cantos do mundo. Quizzes e jogos abundam e prendem os utilizadores. Uma das aplicações mais populares, o Farmville, é jogado por cerca de 80 milhões de utilizadores (mais de 1% da população do mundo). Esta vertente das aplicações é o que mais mais distingue o Facebook dos seus concorrentes.

O outro peso-pesado é o Twitter. O conceito é uma mistura entre mensagens de texto (SMS) e mensagens instantâneas (MSN, por exemplo). Podemos enviar uma mensagem até 160 caracteres para todos os nossos seguidores e ver as mensagens de quem seguimos. O objectivo é fazermos pequenos updates sobre o que fazemos, as nossas opiniões ou até ter pequenas conversas. O sucesso desta rede social é tão grande, que as notícias importantes se divulgam entre os utilizadores mais rápido que em qualquer outro canal de comunicação.

Uma situação engraçada ligada a este propagar de informação extremamente rápido aconteceu no dia 17 de Dezembro de 2009, quando Portugal foi abalado por um sismo. Houveram utilizadores que souberam do sismo segundos antes de o sentirem, pois os twitts vindos do Sul do país chegaram mais rápido que as próprias ondas sísmicas.

Um dos mais recentes concorrentes deste mercado é o Google Buzz. A Google já tinha a sua presença nas redes sociais através do Orkut (usado maioritariamente no Brasil e India), mas não era directamente associado pelos utilizadores à marca “Google”. O surgimento do Buzz esteve envolto em polémica, visto que foi praticamente impingido aos utilizadores do Google Mail. Apesar desta integração automática com um dos serviços de webmail mais usados na internet, a adesão foi extremamente fraca, muito por causa da falta de funcionalidades novas que traz em relação aos seus concorrentes (principalmente o Twitter).

Bons e maus usos

Como se pode ver, existe muito potencial numa rede deste tipo, pois é utilizada por milhões de utilizadores, constantemente online. Um bom uso é o marketing. Cada vez mais é importante as empresas terem algum tipo de presença nas redes sociais. Estar próximo dos users, ouvir o feedback deles e dar uma imagem mais humana à própria empresa contribui muito para o sucesso da mesma. Também permite fazer chegar novidades em primeira mão aos clientes e de uma forma bastante natural e fácil.

Mas são só coisas boas? Infelizmente não é o caso. O uso destes sites pode tornar-se uma dependência para pessoas que não consigam gerir o uso. Pode prejudicar o desempenho no local de trabalho, levando a muitas “escapadelas” que se vão acumulando ao longo do dia. Outra questão é a privacidade, visto que cada vez mais os nossos dados pessoais vão ficando espalhados pela internet, disponíveis a qualquer um para bisbilhotar. Há casos de utilizadores que são vítimas de roubo de identidade porque deixam dados sensíveis à vista de todos.

Isto quer dizer que é melhor não usar? Claro que não! Tal como em tudo, as pessoas devem usar moderação e cuidado na utilização das redes sociais. Está nas nossas mãos fazer um uso responsável destas “ferramentas”, visto que há muitas vantagens no seu uso.

Para acabar, deixo o link das páginas da PTWS Alojamento Web tanto no Facebook como no Twitter. Não se esqueça de aderir às nossas páginas, se não o fez já. Lá irá encontrar as actualizações do blog, outras notícias da PTWS Alojamento Web, promoções e concursos e acima de tudo um acompanhamento personalizado e informal a todos os nossos clientes, parceiros e visitantes.

Ficamos à sua espera!

LTE Advanced e 4G – o Futuro das Telecomunicações

LTE - Long Term EvolutionNo passado dia 1 de Outubro decorreu no ISCTE-IUL um workshop de apresentação do que será o futuro das telecomunicações. Este evento contou com uma panóplia de oradores de que representam os principais stakeholders desta nova tecnologia: os fabricantes e as operadoras.

Claro que podemos dizer que o principal afectado será o cliente, até porque esta mudança representa um avanço bastante significativo num mercado com um elevadíssimo número de utilizadores, mas o valor deste evento vem do relato e da experiência dos intervenientes na tentativa de implementação deste standard.

A viagem começa com o LTE (Long Term Evolution), cuja implementação está neste momento a ser testada. Os planos para a sua introdução no mercado estão marcados já para o fim de 2010 ou início de 2011. As principais operadoras irão começar a fazer o upgrade dos actuais hotspots de 3G, mantendo sempre a compatibilidade com as gerações anteriores. Este protocolo irá permitir velocidades máximas de 100Mbps, um grande avanço em relação às actuais 3G e 3.5G (que irá brevemente chegar a um novo máximo de 84Mps com HSPA+). O LTE não é considerado verdadeiramente como 4G, mas algo imediatamente anterior.

Após esta milestone estar cumprida, o próximo passo será a migração para LTE Advanced. A promessa deste standard é “simples”: 1Gbps de pico em downlink numa situação em que o dispositivo esteja imóvel e 100Mbps em caso de mobilidade. Um avanço deste género, numa altura que os débitos médios andam à volta de 6Mbps, impulsionará de uma maneira muito significativa a evolução de serviços móveis, como video-on-demand, streaming e outros produtos que nunca foram sequer equacionados devido às limitações do sistema actual.

Vantagens do 4G

Débito

Tal como foi mencionado anteriormente, a vantagem mais palpável e interessante para o consumidor será o enorme aumento de velocidade, tanto em termos de download (1Gbps) como de upload (500Mbps). Esta velocidade acrescida tem a ver, em parte, com uma melhor eficiência espectral.

Latência

Enquanto que um sistema 3G conseguia na melhor das situações cerca de 50ms de latência, com o LTE será possível alcançar 10ms ou menos. Isto traduz-se numa experiência de browsing muito mais fluída e satisfatória. Uma das áreas que beneficiará bastante, na minha opinião, será o uso de Ajax com tempos de resposta quase instantâneos, potenciando uma experiência web extremamente dinâmica e instantânea. Esta redução drástica da latência tem a ver com a simplificação da topologia de rede, que será discutida mais à frente. As velocidades de handover (passagem para uma célula vizinha) também ficarão reduzidas por um factor de 10 devido à comunicação directa entre as base stations.

Largura de Banda Flexivel

É possível operar em LTE com diferentes larguras de banda: 1.4 MHz, 3 MHz, 5 MHz 15 MHz e 20 MHz. Isto vem simplificar a utilização do espectro, visto que podem ser aproveitadas áreas do mesmo onde hajam mais restrições como pequenos blocos de largura de banda.

Self Organized Networks

Uma das metas é tornar as novas células autónomas em termos de instalação e configuração. Uma célula será capaz de perceber o meio em que está inserida e alterar as suas configurações de modo a maximizar a eficiência da rede com muito pouca interacção humana. Este automatismo irá tornar a implantação de novas células bastante mais fácil e barata.

Femtocells

Fentocell - uma base station em casa Uma femtocell é uma célula de pequenas dimensões que pode ser instalada num lar ou num escritório. Um elevado número destas células serve para aliviar a carga das base stations e permite que todos os dispositivos estejam ligados à rede com máxima eficiência.

Melhoria da topologia de rede

Um dos segredos que permite esta melhoria global de performance é a alteração física da rede . Toda a infraestrutura foi redesenhada a pensar na performance e aumento de consumo que irá surgir nos próximos anos com a evolução dos SmartPhones e a adesão em massa aos tarifários de dados para esses mesmo dispositivos (estudos apontam para um aumento anual de 1000% em termos de tráfego consumido).

Arquitectura LTE

Foi eliminado um elemento da hierarquia (RNC, que geria os handovers, encriptação, admissão, segurança, etc) e dado mais poder às base stations. A partir de agora, será possível que uma base station comunique com outra de forma a poderem trocar informação e gerir de uma melhor forma os handovers. Esta arquitectura também permitirá solucionar o problema da interferência no limite das células, transformando essa interferência num aumento da potência do sinal e consequente aumento de débito, através da coordenação directa das base stations. Esta simplificação consegue manter a compatibilidade com os sistemas anteriores.

Eficiência Energética

Um dos objectivos dos engenheiros que estão a desenvolver esta tecnologia é reduzir drasticamente o consumo energético. Chegou a falar-se numa redução em 1000x relativamente ao consumo actual. Esta é uma meta importante, tanto por questões ambientais como por questões financeiras (a factura da electricidade é uma percentagem substancial dos custos das operadoras).

Algumas opiniões

Algo que me preocupou foi a forte tendência das operadoras para ignorarem a questão da Net Neutrality. O representante de uma das operadoras foi questionado sobre qual era a política da empresa em relação a este assunto e parece que os operadores estão a ponderar seriamente em controlar diferentes tipos de tráfego: vídeo, P2P, web, etc. Se isto for avante significa que daqui a alguns anos teremos que pagar um premium para conseguirmos aceder a serviços como o YouTube ou quaisquer outros que as operadoras escolham. Por outro lado este aumento incrível de velocidade irá trazer serviços cada vez mais interessantes para o consumidor e será uma excelente oportunidade para se vingar neste mercado que continua em ascensão.

Resta deixar os meus parabéns ao ISCTE-IUL por um evento muito bem organizado e, na minha opinião, extremamente interessante. Que venham muitos mais!

Certificados SSL – o que são e como funcionam

CadeadoNota: Este artigo foi escrito originalmente para o blog da PTWS Alojamento Web. Aqui encontra-se uma transcrição completa para efeitos de arquivo.

É frequente ouvir-se falar em certificados de segurança quando o assunto são páginas onde o sigilo dos dados trocados é da mais extrema importância. Sites de eBanking ou Lojas Online têm frequentemente este sistema de forma a proteger os dados dos clientes.

Para além de protegerem realmente informação trocada, estes certificados dão confiança aos utilizadores no momento de colocarem os seus dados sensíveis na Internet, como informação do seu cartão de crédito.

Neste artigo, explicarei como funciona este sistema de segurança com duas abordagens: uma mais simples, acessível a todos, e uma mais complexa, para os mais curiosos.

Keeping it Simple

Um certificado SSL é utilizado para estabelecer um “túnel” seguro entre 2 pontos: o utilizador e o site. Quando colocamos informação importante num website, é necessário tornar essa troca de dados segura e privada.

As mensagens são codificadas de forma a que quem esteja à escuta não consiga ter acesso aos dados, sendo estes descodificados ao chegar ao destino. Esta codificação é feita utilizando processos matemáticos de tal modo complicados quer seriam necessários milhares de anos para descodificá-los.

A atribuição de certificados válidos é realizada por Entidades de Certificação, como a Verisign (existem cerca de 36 em todo o mundo), mas é normalmente revendida por terceiros de confiança. Assim, vai sendo criada uma árvore de confiança, liderada pelas Entidades de Certificação.

Depois de se fazer a instalação do certificado no site, todas as comunicações passam a ser seguras. Normalmente os browsers identificam estes websites através de um ícone na barra de endereço, ou alterando a cor da mesma.

Como funciona

O sistema de certificados SSL utiliza uma codificação baseada em 2 pares de chaves públicas e privadas. Os websites com certificados têm uma chave privada que apenas eles conhecem e uma chave pública, conhecida por todos. O mesmo acontece para o browser de quem acede através de https a estes sites.

Uma mensagem ao ser codificada com uma das chaves públicas só poderá ser descodificada com a chave privada correspondente. O inverso também acontece: uma mensagem codificada com uma chave privada só pode ser descodificada com a chave pública correspondente.

Isto permite uma coisa muito interessante: ao codificarmos uma mensagem com a chave pública do destinatário, apenas o destinatário a poderá descodificar com a sua chave privada. Asseguramos o sigilo, desde que a chave privada não seja comprometida.

Imaginando que um cliente se chama Alice e o website é do Bob, uma interacção utilizando SSL seria assim:

-Alice obtém a chave pública de Bob, e Bob obtém a chave pública de Alice
-Alice codifica uma mensagem com a chave pública de Bob
-Bob recebe a mensagem codificada e descodifica-a utilizando a sua chave privada
-Bob lê o pedido de Alice e responde, codificando a sua resposta com a chave pública de Alice
-Alice recebe a resposta e descodifica-a utilizando a sua chave privada

Supondo que havia alguém a tentar escutar a comunicação, seria impossível descodificar qualquer uma das mensagens, pois só podem ser descodificadas com as chaves privadas de cada interveniente.

O algoritmo descrito é o RSA e é utilizado para iniciar a comunicação (handshake). Visto que a codificação/descodificação utilizando o RSA é um processo mais lento que outros algoritmos, a partir dessa primeira comunicação é escolhido um protocolo menos pesado de chave simétrica. Utilizando a técnica dos 2 pares de chaves (chaves assimétricas) é partilhada uma nova chave que será utilizada doravante para codificar e descodificar as mensagens utilizando um algoritmo de codificação mais rápido (DES, DSA, etc).

Complicando um pouco: Mecanismo de Encriptação

Mas se a mensagem que é codificada pela chave pública consegue ser descodificada pela sua chave privada, e vice-versa, significa que há uma ligação entre elas. E conhecendo o algoritmo que gera uma chave, em teoria seria possível descobrir as chaves privadas sabendo as públicas, certo? Actualmente não.

Tal como mencionado anteriormente, são utilizados processos matemáticos complexos que impedem a descoberta de uma chave a partir do seu par:

  1. São escolhidos 2 números primos pq com, pelo menos, 100 algarismos
  2. É calculado n = p * q
  3. É calculado z = (p-1) * (q-1)
  4. Encontra-se um valor para e, primo relativo de z e menor que o próprio z
  5. Calcular d tal que d.e = 1 mod n

Após descobertos todos estes números, obtém-se a chave pública e privada:

-Chave pública: (e,n)
-Chave privada: (d,n)

Cada chave consiste num par de números e podem agora ser usadas para cifrar e decifrar as mensagens, da seguinte maneira (exemplo para cifra com chave privada e decifra com chave pública):

-Cifra = Mensagem^d mod n
-Mensagem =  Cifra^e mod n

A complexidade aqui está no uso de números extremamente grandes e no ser necessário factorizar os mesmos para conseguir inverter o algoritmo, chegando à chave privada através da pública. Este é um processo computacionalmente intensivo, que demoraria milhares de anos a efectuar com a tecnologia actual.

Protecção para o Futuro?

De acordo com a Lei de Moore, o poder computacional duplica a cada dois anos. Esta “lei” tem-se vindo a comprovar com o passar do tempo, o que significa que cada vez se vai tornando mais realista a quebra deste tipo de algoritmos em tempo útil. Para ajudar, especialistas dizem que a chegada da Computação Quântica tornará estes processos triviais.

Todos estes factores implicam uma alteração nos algoritmos existentes (por exemplo o uso de chaves maiores) ou a criação de novos, que tornem as comunicações seguras por mais algum tempo.

Apesar destes futuros desafios, nos tempos que correm esta é, sem dúvida, uma maneira totalmente segura de garantir o sigilo e a autenticidade na troca de dados, pelo que deverá ser ponderado o uso desta tecnologia na protecção de sites abordem questões onde a segurança da informação é importante.

ZCE: Certificação Zend PHP5

Zend Certified EngineerA Zend, para quem não conhece, intitula-se “The PHP Company“. São os autores da Zend Framework e alguns dos seus empregados são os criadores originais da linguagem de scripting PHP. Como parte dos seus serviços, a Zend oferece certificações tanto em PHP como na Zend Framework.

Este verão frequentei uma formação de PHP organizada pela Caixa Mágica Software: a PHP Summer School. Uma das componentes da formação era a preparação e oferta de um voucher para nos podermos tornar um ZCE – Zend Certified Engineer.

Quando a formação acabou, comecei a pensar na certificação e nas suas vantagens. Seria enriquecedora para o curriculum, apesar de haver muitas opiniões negativas em relação a estes pedaços de papel. Não tenho a noção do valor de uma certificação no mercado de trabalho português, e só por ter uma não significa que seja melhor que alguém que não a tenha: existem programadores muito bons que não pensam sequer nestes assuntos. A maior parte das vezes os projectos passados falam por si.
Encarei a situação como um desafio e, como não gosto de perder, achei que era melhor preparar-me bem.

O ESTUDO

Existem algumas referências no que toca ao estudo para esta certificação. Após alguma pesquisa, encontrei um livro que prometia preparar o candidato para enfrentar o exame: “php|architect’s Zend PHP5 Certification Study Guide” . São cerca de 250 páginas que cobrem todo um leque de assuntos como funções, programação orientada a objectos, design patterns, streams, XML, segurança, etc. Achei o livro bem estruturado e bastante rico em termos de conteúdo. Os assuntos são abordados de uma forma objectiva, sucinta e direccionada para os conteúdos que constam na prova.

Após a leitura do livro, há sempre a dúvida: “Será que estou pronto?”. Existem algumas maneiras de saber, umas melhores e outras piores. A primeira que tentei foi um outro livro com perguntas similares à do exame, “The Zend PHP Certification Practice Test Book“. O meu conselho é o seguinte: fujam! Apesar do livro ter uma grande quantidade de perguntas com um grande grau de semelhança às do exame, algumas respostas não estão correctas e podem influenciar pela negativa a aprendizagem de certos conceitos base.

A alternativa que arranjei foi a compra de um pack de 5 exames no site da Zend. Perdi o amor a 17€ e tive a hipótese de testar em primeira mão o meu conhecimento. Penso que o preço é comparativamente baixo à perspectiva de ter que repetir o exame de certificação: 125€. Acabei por fazer apenas 4, visto que muitas das perguntas se repetem de exame para exame. Recomendo esta abordagem, apesar de se poder encontrar muitas das perguntas que estão nestes exames com algum google-fu. A mais valia de usar os testes oficiais é que no fim podemos ver quais são as nossas áreas mais fracas para podermos intensificar o estudo das mesmas.

O EXAME

O próximo passo foi marcar o exame num dos centros Pearson Vue em Lisboa. A escolha acabou por recair pela Rumos, devido à proximidade com o ISCTE. Foi uma experiência tranquila: entrar, fazer o exame e sair. 70 perguntas de 3 tipos: resposta múltipla, resposta única e resposta por extenso.
Na minha opinião, há determinadas perguntas que são ridículas. Um bom programador não precisa de saber de cor todas as funções de uma linguagem, ou o 4º argumento de uma determinada função. Não é necessário ser-se um dicionário de funções para se ser eficaz e competente, pelo que penso que estas perguntas só constam do exame para inflacionar a dificuldade do mesmo e dar credibilidade à certificação. Por outro lado, concordo totalmente com a existência de outras que abordam boas práticas, generalidades e alguns casos específicos da sintaxe e comportamento da linguagem. Também achei que o grau de dificuldade era ligeiramente superior ao dos testes de treino.

A RETROSPECÇÃO

Após ter passado na certificação, tive algum tempo para pensar no que mudou desde que decidi tomar este caminho. O mais importante foi, sem sombra de dúvida, o que aprendi durante o estudo. Sinto-me muito mais confiante e mais produtivo em relação a programação em PHP. Também considero que será uma boa adição ao meu curriculum, principalmente nesta fase inicial em que a maioria da experiência é académica, fortalecendo as minhas competências profissionais.

Se estão a pensar em fazer esta certificação, o conselho que vos deixo é que estudem até estarem confiantes de que vão passar. Penso que não vale a pena o risco de fazer a certificação sem um estudo sólido. O livro que mencionei é um excelente guia de estudo, mas há certas perguntas nos exames que abordam conteúdo que não é apresentado directamente, pelo que não é suficiente. Se tiverem oportunidade, façam um ou dois testes para praticar. É o melhor benchmark que se pode ter.

PrestaShop: inserir imagens de categorias a partir dos produtos

Surgiu a necessidade de inserir imagens nas cerca de 750 categorias de uma loja PrestaShop. Obviamente que não era possível fazê-lo à mão, por isso fiz um pequeno script que percorre todas as categorias e usa uma imagem de um produto dentro dessa categoria (ou sub-categoria).

Assim, todas as categorias terão uma imagem relevante, evitando aparecer a imagem por defeito em todas as páginas. Se estiverem numa situação semelhante à minha, podem usar este script.

Instruções de uso:

  • Descomprimir o arquivo (ou copiar o script para um ficheiro chamado category_image.php)
  • Alterar, se necessário, a variável db_prefix
  • Colocar o ficheiro category_image.php na pasta principal da vossa loja
  • Executar o ficheiro através do browser (exemplo: http://example.com/category_image.php )

Se tudo correr bem, aparecerá uma mensagem a indicar quantas imagens de categoria foram alteradas.

Continuar a ler PrestaShop: inserir imagens de categorias a partir dos produtos