Tag : open-source

Construindo uma rede social com o Open Source Social Network

A alguns meses atrás me deparei com o Open Source Social Network, aplicação/site/serviço (não sei, as definições mudam toda hora) em PHP que permite a criação de uma rede social, de forma rápida e fácil. A versão gratuíta está no site www.opensource-socialnetwork.org e a versão com recursos mais avançados pode ser comprada no site www.openteknik.com, que possui algumas instâncias disponíveis para demonstração.

As imagens acima são da versão premium, retiradas do openteknik.com

O que mais me chamou a atenção foi o framework e a base de dados. O framework permite que um componente se sobreponha a outro, o que dá muita flexibilidade para criação de novos recursos ou ainda, melhorar um componente já existente. Já o banco de dados é estruturado de uma forma que eu nunca havia visto antes, e tenho certeza que se apresentasse ele em sala de aula, nos idos de dois-mil-e-nokia-1100, ia levar bronca. São menos de 15 tabelas pra postagens, álbuns, fotos, chat, usuário, configurações, propagandas, amizades, gerenciamento de componentes, etc. Pra efeito de comparação, eu vi um sistema para gerenciamento de biblioteca francês (não direi o nome, pra não fazer divulgação) com mais de 500 tabelas. Umas quantas com os campos código e nome. E atire a primeira pedra quem nunca fez isso 🙂

Nesse meio tempo, vi que precisava melhorar meus conhecimentos sobre github e inglês, língua base do sistema. Juntando o útil ao agradável, comecei a escrever alguns componentes e a ajudar outros membros do fórum do site. O que já fiz:

Notification Sample: Componente criado para entender o funcionamento do sistema de notificações. Disponibilizei ele para ajudar outros desenvolvedores;

Home Page Posts: Permite ao usuário ver as publicações da linha do tempo dos amigos ou de todos os usuários. Por padrão do OSSN, é o administrador do site que decide o que será visto.

Send images in OssnMessages: Permite ao componente de mensagem o anexo de imagens. Como existem no OSSN 2 componentes para mensagens, por enquanto me dediquei ao sistema principal, que funciona em desktop e celulares.

Remove conversation: Com esse componente, é possível remover a conversa da lista das conversas recentes. Só o usuário deixa de ver as mensagens. A conversa em si continua existindo.

O licenciamento do OSSN é regido pelos seus próprios termos, de acordo com o License.md do GitHub. Não use comercialmente sem ler o que diz lá. Vai que…

Upgrade no HeatMap

Desde abril de 2018, com a mudança do servidor, o projeto do heatmap ficou capenga. Inicialmente o banco de dados era o PostreSQL, e o servidor novo só possui MySQL. Além disso, o PGSQL lida de forma diferente com dados geográficos, o que me obrigou a repensar quase todo o banco de dados, pois as consultas convertidas ficaram incrivelmente demoradas.

Por fim, percebi que era mais rápido pegar do Strava todas as atividades outra vez do que migrar o banco de dados. Isso gerou uma mudança no funcionamento do sistema. Antes, as atividades vinham doações de usuários e de uns grupos que faço parte. Agora só tem atividade doadas. Então quem quiser colaborar, precisa clicar no botão “Adicionar atividades ao mapa” e seguir as orientações.

Na parte da programação, reescrevi quase tudo. Dessa vez fazendo uso do CodeIgniter como framework. Só depois que o código já estava adiantado é que descobri que a biblioteca para pegar as atividades do Strava em CodeIgniter estava em um estágio muito embrionário. A solução foi melhorar o código existente e devolver a comunidade. Tá aqui nesse link do GitHub.

O resultado final está no mesmo endereço de antes.

www.rafaelamorim.com.br/heatmap

Sobre os dados

Os dados coletados e armazenados são manipulados de forma automática e utilizados para fins estatísticos e de composição do mapa. Tanto o mapa quanto as estatísticas não fazem nenhuma correlação com o atleta que criou a atividade.

Em nenhuma hipótese, os dados aqui armazenados serão compartilhados ou vendidos. Toda a informação gerada aqui é de divulgação pública. O uso das informações é permitido desde que eu seja notificado via e-mail no endereço amorim@rafaelamorim.com.br.

Texto 23/52 – 4 monitores e um 1 teclado/mouse

Esse é o meu desktop 🙂

Muitas pessoas que entram na sala se assustam ao ver a gente trabalhando com múltiplos monitores. É um conforto muito grande poder colocar o código em uma tela e a aplicação e/ou debug na outra. Confesso que estranho quando estou no notebook e preciso ficar “alt-tabeando” as janelas o tempo todo.

Inicialmente 2 monitores atendiam as necessidades Mas chegou uma hora que me senti sem espaço. Como a CPU não comporta mais monitores simultaneamente, foi preciso buscar algum método de gambiarra “Recurso Técnico Avançado” que resolvesse o problema. A solução open-source que encontrei chama-se Synergy.

Mas e os 4 monitores? Simples. 2 em cada computador.Dá pra ligar até 15 computadores. Com um só teclado e mouse. Se cada máquina estiver conectada a 2 monitores então…

1338[1]

O Synergy permite ainda copiar/colar texto (nunca tentei arquivos, mas acho que não vai) entre computadores, mas não permite que eu abra um aplicativo em uma máquina e mova para a outra. Não dá pra ganhar todas 🙂