1 pontos por GN⁺ 1 일 전 | 1 comentários | Compartilhar no WhatsApp
  • O repositório do Gleam, voltado a sistemas com segurança de tipos e escalabilidade, agora também pode ser usado no Tangled
  • O branch padrão é apenas o main, com cerca de 11.000 commits, 254 estrelas e 2 forks
  • O código do repositório é composto majoritariamente por Rust 92,9%, seguido por JavaScript 3,6% e Gleam 1,8%
  • Do compilador e servidor de linguagem ao compilador WASM, gerador de código Erlang, formatador e projetos de teste, tudo é gerenciado em um único repositório
  • O Gleam não pertence a nenhuma empresa e é um projeto apoiado por patrocinadores, com possibilidade de apoiar tanto o projeto quanto os membros centrais da equipe

Estrutura do repositório

  • gleam.run/gleam é o repositório do linguagem Gleam no Tangled
  • Os principais componentes são os seguintes
    • compiler-cli, compiler-core, compiler-wasm
    • language-server, erlang-generation, erlang-term-format
    • format, hexpm, gleam-bin
    • benchmarks, documentação, pacotes da comunidade e projetos de teste relacionados ao compilador
  • main é o único branch e também o branch padrão, e não há tags públicas

Proporção por linguagem e como clonar

  • A proporção por linguagem é Rust 92,9%, JavaScript 3,6% e Gleam 1,8%
  • HTML e CSS representam 0,4% cada, Erlang e Shell 0,3% cada, e também há TypeScript, Makefile, Dockerfile, Elixir e PowerShell
  • É possível clonar via HTTPS e SSH, e também há suporte para download nos formatos tar.gz e .zip
  • Em um knot Tangled auto-hospedado, a URL de clonagem pode variar conforme a configuração

Trabalho recente de desenvolvimento

  • Os commits recentes incluem melhorias de desempenho no formatador e na geração de código JavaScript, além de correções no código Erlang gerado para externals com argumentos obsoletos
  • No servidor de linguagem, foram aplicadas mudanças como incluir o nome do tipo no título da code action de geração de variant e adicionar uma code action para conversão de base numérica
  • Também foram feitas melhorias para permitir números negativos em bases diferentes, além de aperfeiçoar as mensagens de sugestão do compilador e de aviso do todo
  • Ao definir HEXPM_READ_API_KEY, as requisições de busca e download de dependências do Hex passam a ser autenticadas
    • Em vez de um limite rígido por IP, passa a valer um limite mais alto de requisições por usuário

Operação do projeto

  • O Gleam busca construir sistemas escaláveis com base em segurança de tipos
  • Não pertence a nenhuma empresa e é mantido com apoio de patrocinadores
  • Na página de patrocínio do Gleam, é possível apoiar o projeto ou os membros centrais da equipe

1 comentários

 
GN⁺ 1 일 전
Opiniões no Hacker News
  • Este texto precisa muito mais de explicação de contexto. Do jeito que está, só entende de imediato quem já não precisaria de anúncio
    https://knowyourmeme.com/memes/curtains-for-zoosha

    • Gleam é uma linguagem popular entre pessoas que gostam de Erlang ou Elixir, e todas se baseiam na máquina virtual BEAM
      Tangled é uma alternativa descentralizada ao GitHub construída sobre o ATProto, como o Bluesky
    • É irônico que a página linkada transforme um tweet comum republicado em várias telas roláveis de “conteúdo”, a ponto de parecer uma matéria de entretenimento
    • Nesse caso, talvez seja preciso explicar também o que é este site, ou seja, o HN (Hacker News)
  • Conheci o Tangled agora e tentei me cadastrar, mas a experiência para novos usuários precisa ser polida. Digitei o e-mail, passei pela verificação e criei um nome de usuário, mas não consegui fazer login diretamente com esse nome; ainda tive de aprender um protocolo de URL social desconhecido
    No processo de autenticação, fui levado para uma tela e uma URL que pareciam pertencer ao projeto, mas tinham branding e cores totalmente diferentes, e o gerenciador de senhas não conseguiu associá-las. Sou especialmente sensível a atritos de cadastro, mas o projeto em si é interessante, então espero que esse feedback ajude

    • Meu fluxo de cadastro/login foi só: “clicar em login → inserir meu handle existente do Bluesky → digitar a senha na tela de login do domínio bsky → clicar em autorizar”. Nesta etapa, esse caminho parece mais otimizado
      Como o app e a identidade não são fortemente acoplados, eles montaram uma infraestrutura separada, mas parece que ainda não dedicaram muito tempo ao acabamento das telas. Se você não criou uma conta própria e não consegue fazer login com o nome de usuário, fico curioso sobre o que deveria usar
    • No meu caso foi pior ainda: só apareceu o erro Failed to complete sign up. Try again later.
  • Gleam é uma linguagem interessante, voltada a um design pequeno e refinado. Encontrei a equipe do Gleam recentemente no Ubuntu Summit, e eles transmitiram muito bem, na apresentação, a filosofia de design de manter tudo pequeno e construir com cuidado
    Giacomo disse que animou pessoalmente todas as transições de tela, e senti que a própria apresentação também foi pequena e cuidadosamente produzida, reforçando ainda mais a mensagem central
    https://youtu.be/E6_JqYMeNqs
    https://discourse.ubuntu.com/t/gleam-and-the-value-of-small/...
    https://en.wikipedia.org/wiki/Gleam_(programming_language)

  • Experimentei rodar meu próprio servidor Knot no Tangled; o repositório era criado corretamente no Knot, mas as mudanças posteriores não apareciam no Tangled
    O Knot tinha conexão IPv6, mas precisei ativar vários NATs IPv4 e até criar um registro A fictício para funcionar de forma estável; é um problema já conhecido: https://tangled.org/tangled.org/core/issues/494

  • Fico curioso por que escolheram uma Forge financiada por venture capital em vez do Codeberg. Isso também não parece combinar muito com a alegação de ser uma “linguagem amigável”

    • “Estar no Tangled” na prática significa publicar registros ATProto sh.tangled.*. Não é uma estrutura que o prende à empresa financiada por venture capital por trás do app web tangled.org; o app apenas lê repositórios Git publicados via protocolo e os exibe numa interface agradável
      Outros apps ATProto que leiam os mesmos registros também podem acessar as mesmas informações. O repositório em si nem precisa ficar no Tangled: pode ser hospedado diretamente em um servidor com suporte a Git, SSH, HTTP e WebSocket
    • Não gosto do modelo de financiamento do Tangled, mas vejo grande potencial no ATProto para melhorar a internet. A comunidade Gleam também tem bastante interesse nesse protocolo, então consideramos adequado hospedar um espelho do repositório do Gleam
    • O Gleam ainda continua no GitHub. Não é uma migração oficial; ele apenas passou a estar disponível também em uma Forge baseada em ATProto
    • Parece muito provável que tenha sido condição para algum apoio financeiro, o que deixa a impressão amarga de que, no fim, o valor central é dinheiro, não comunidade. Prefiro focar em usar Elixir no projeto
  • Usei o Tangled pela primeira vez, mas ele parece ter bugs demais para uso real. Criei um repositório, mas recebi 404 e não consegui vê-lo; também falhei várias vezes ao fazer login, mesmo copiando e colando o mesmo handle ATProto todas as vezes
    Ainda assim, fico feliz que mais equipes estejam desenvolvendo alternativas de hospedagem Git

    • No GitHub inicial acontecia a mesma coisa ao criar repositórios de forma assíncrona e redirecionar imediatamente para eles. Depois de alguns segundos, ao atualizar, eles apareciam; lembro que mais tarde adicionaram uma tela intermediária que aguardava e então redirecionava automaticamente
  • Procurei por um tempo um serviço Git descentralizado e até comecei a hospedar por conta própria, mas faltavam recursos sociais. Gostaria de saber mais sobre o Tangled

    • Radicle chega um pouco mais perto do objetivo e permite auto-hospedagem e federação. Ainda assim, é difícil encontrar uma alternativa com a mesma gravidade social do GitHub, e ainda não está claro se esse elemento pode ser separado da Forge ou precisa vir junto
    • Atualmente, parece que não dá para auto-hospedar a própria interface e API. É possível operar o Knot, que é o servidor Git, e o Spindle, que é o executor de CI, mas o serviço completo ainda é um tanto centralizado, e há trabalho em andamento para mudar isso
    • Foi difícil descobrir quem opera e como é financiado, além do fato de a empresa estar registrada na Finlândia
  • Eu até consideraria colocar um projeto no Tangled, mas o conjunto de recursos para fechar a lacuna em relação aos serviços existentes ainda tem um longo caminho. Em especial, as falhas do GitHub até para apenas visualizar repositórios têm sido um incômodo enorme

    • Em vez de escolher o Tangled só pelo clima de ATProto, fico curioso por que não usar o Codeberg, mais maduro, ou o Forgejo ou Gitea, que são livres e open source
    • As reclamações sobre as instabilidades do GitHub definitivamente me fizeram começar a procurar outro serviço
  • Gostaria de saber como o Tangled difere do Codeberg e como é o processo de migração

    • Uso os dois, e no Tangled ainda faltam recursos importantes como repositórios privados e branches protegidos. Por outro lado, a interface do Tangled me parece mais confortável, e o Codeberg é bem lento no meu ambiente
      Não uso CI/CD, então não conheço o processo de migração mais complexo, mas fazer push de um repositório para um Knot hospedado é muito simples. Operar seu próprio Knot também não é difícil, e gosto do fato de possuir diretamente pelo menos um dos servidores para onde envio código
    • A principal diferença é que o Tangled, ao contrário do Forgejo ou do Codeberg, foi construído em torno do protocolo federado ATProto
  • É difícil saber o que é Tangled e a qual Gleam estão se referindo

    • Parece um texto do tipo “só para quem já sabe”. Mesmo abrindo o link, quase não havia nada que parecesse relacionado ao Tangled, e ele é especialmente extremo até entre posts do HN com público-alvo restrito
      A pista de que a URL era do Tangled era sutil a ponto de eu só perceber depois de abrir pela terceira vez, e a página de destino praticamente não explicava o que é Tangled