Tag: Projects

Mostrando todas as entradas e posts com a tag "Projects"

Entradas do Diário

Recordando o passado e esclarecendo a regra contra pirataria

Recordando o passado e esclarecendo a regra contra pirataria

O Grupo de Estudos de Go surgiu há mais de dez anos, a partir de um workshop realizado no ABC Makerspace, um hackerspace do ABC Paulista que, à época, funcionava dentro da minha empresa.

No início, o grupo sequer tinha nome. Era apenas um conjunto de amigos que participavam dos encontros do hackerspace. O espaço ainda existe, hoje mantido no campus da UFABC. Confesso que sinto certo orgulho ao ver fotos recentes e reconhecer as mesas que eu mesmo construí. A solução é simples e econômica: portas, cavaletes e tinta.

Quando encerrei as atividades da empresa, o grupo migrou para o formato online e passou por diversas plataformas: Facebook, Google Meet, Slack, entre outras. O repositório sempre esteve no GitHub. Com o tempo, a estrutura se estabilizou: GitHub para código, YouTube para vídeos, Telegram para comunicação e Discord para encontros.

O principal problema desse modelo é que parte significativa do conhecimento produzido nas discussões fica restrita a plataformas que exigem login. Isso dificulta o acesso de quem está começando e procura material aberto na internet.


Sobre a regra contra pirataria

Não se trata de uma posição moralista contra pirataria. Pessoalmente, acredito que o conhecimento deveria ser livre e que patentes de software não deveriam existir.

No entanto, a divulgação de material sem autorização prejudica quem se dedica a produzir conteúdo aberto e legítimo. Esse é o único motivo pelo qual não permitimos a publicação de links ou materiais sem a devida permissão dos autores.


Tornando o material mais público

Sempre houve tentativas de tornar o conhecimento gerado pelo grupo mais acessível. Na prática, isso é mais complexo do que parece. As pessoas tendem a permanecer na plataforma em que já estão, mesmo com suas limitações.

A iniciativa mais recente é o desenvolvimento do empreendedor.dev, que já resultou em diversas bibliotecas e códigos relevantes. O avanço, no entanto, é lento, em função de outros projetos paralelos que também demandam atenção.


O canal no Telegram

O canal no Telegram não foi criado como fórum técnico de Go. A ideia inicial era ter um espaço administrativo para organizar materiais, temas e decisões do grupo. O principal fórum de Go em português continua sendo o @go_br, mantido por Jeff Otoni.

Criar canais separados para organização de assuntos é uma prática comum, especialmente para quem já utilizou listas de discussão.

Na prática, porém, ocorreu o previsível: o canal administrativo passou a discutir tudo - inclusive Go. E assim acabamos com dois canais falando sobre os mesmos temas, às vezes até sobre Go. :D


PostgreSQL: Subselect para array

PostgreSQL: Subselect para array

Para criar um array a partir de um subselect em PostgreSQL use a função ARRAY junto com COALESCE para garantir que o resultado seja um array vazio caso não haja resultados.

Exemplo:

SELECT
    id,
    ...,
    coalesce(ARRAY(
        SELECT t2.some_field
            from table2 as t2
            where t1.id = t2.t1_id
        ),'{}'::text[]) as array_field
    FROM table1 as t1

Neste exemplo, array_field será um array contendo os valores de some_field da table2 relacionados ao id da table1. Se não houver correspondências, o campo será um array vazio ('{}'::text[]).