![Notícias do desenvolvedor: Deno oferece suporte a JSR de repositório de código aberto e IA off-line](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711799045_Noticias-do-desenvolvedor-Deno-oferece-suporte-a-JSR-de-repositorio-150x150.png)
Notícias do desenvolvedor: Deno oferece suporte a JSR de repositório de código aberto e IA off-line
30 de março de 2024![Linux: migre o diretório inicial para outra unidade](https://optimuscloud.com.br/wp-content/uploads/2024/03/1711821605_Linux-migre-o-diretorio-inicial-para-outra-unidade-150x150.png)
Linux: migre o diretório inicial para outra unidade
30 de março de 2024Sempre fomos bastante conservadores ao visualizar códigos, dados e outras estruturas de software. Usamos navegadores de arquivos, às vezes com algum tipo de modo de visualização. Em seguida, passamos o código ou os dados para outro aplicativo para analisá-los – e então, possivelmente, usamos outro aplicativo para trabalhar neles.
A exploração de software sempre foi um pouco desajeitada. Do jeito que está, ainda usamos inspetores projetados na época em que os aplicativos eram caros e, naturalmente, eles se tornaram nosso foco de fluxo de trabalho.
Para contornar isso, às vezes usamos plataformas que podem criar estruturas de dados mais fáceis de navegar. Eu uso o Obsidian há algum tempo e ele faz um bom trabalho ao estruturar suas ideias de design, criando uma documentação forte como subproduto. Os Jupyter Notebooks permitem que o usuário faça anotações ao lado do código ativo.
O Glamorous Toolkit (Gtoolkit) foi escrito com Pharo, que parece ser uma implementação visual do Smalltalk. Não vou focar nessas tecnologias neste post, mas sim nas ideias que a ferramenta apresenta. Essa ideia é o “ambiente de desenvolvimento moldável”. Para resumir esse método que parece improvável, é uma forma de trazer ferramentas personalizadas para qualquer problema de desenvolvimento de software em tempo hábil.
O Gtoolkit está respondendo à pergunta: e se um inspetor ou modo de visualização fosse bom o suficiente para tornar a exploração do software menos complicada? Por vários motivos, o Gtoolkit faz um trabalho consistentemente medíocre ao descrever o que realmente é, mas isso melhorará à medida que mais pessoas olharem para ele e um bom gerente de comunidade moldar o frontend para um público mais amplo. No entanto, ele oferece um tour e é fácil de instalar e brincar.
No momento, o Gtoolkit está intimamente ligado ao Smalltalk — uma daquelas linguagens que não tem muita aplicação, mas é altamente respeitada, principalmente por veteranos de software. No ambiente moldável, Smalltalk é usado para escrever scripts para ajudar a explorar dados, embora eu espere que isso possa eventualmente ser substituído por IA generativa, aceitando apenas descrições simples em inglês. Mas como desenvolvedores, não devemos nos preocupar muito em mergulhar em novas linguagens.
Um explicador muito rápido sobre Smalltalk
Começar com, tudo no Gtoolkit é um objeto, e a única coisa que você faz é passar mensagens. Vejamos “Olá, mundo”:
Transcript show: 'Hello, world!'.
- Conversa fiada é sobre passar mensagens para objetos. A mensagem
show
é passado para o objetoTranscript
. - Como você pode imaginar, o
Transcript
objeto gerencia o console. - A mensagem
show
tem dois pontos seguidos por um argumento, que é o texto de boas-vindas (ou string literal) a ser enviado ao console. - Um ponto final educado encerra a frase.
Moldagem com Gtoolkit
Depois de instalar o Gtoolkit, obtemos uma interface de janela com uma lista de ícones à esquerda e alguma documentação de marcação extensa e navegável:
Para obter mais informações sobre as outras ferramentas, é melhor verificar os vídeos do YouTube listados para obter boas explicações, a menos que você já faça parte da comunidade Smalltalk.
Começando com a ferramenta de navegador de arquivos, você pode ver como explorar uma pasta, como o Finder do Mac:
Observe o pequeno gizmo azul na parte superior, que controla onde você está no gráfico de visualização. Ao examinar os arquivos, lembrei-me de que encontrei um bug em meu próprio projeto que poderia ser resolvido explorando.
Depois de alguns ajustes, fiz com que o navegador fizesse backup dos diretórios para ver meu próprio código. Cheguei a um JSON que é simplesmente uma série de pequenos dicionários para unir texto e ícones no contexto de uma narrativa de videogame:
Anteriormente, tive um pequeno bug porque alguns dos dicionários não continham uma determinada chave da qual o código dependia. Portanto, a verdadeira questão era: como encontro os objetos JSON que não incluem iconid
como chaves? Sou um grande fã de regex, mas sabemos que não devemos usá-lo em dados estruturados semelhantes a XML porque podemos nos perder em contextos de colchetes – e, como a famosa resposta no link indica, podemos enlouquecer no processo.
Mas seguindo um dos vídeos de introdução, tentei fazer as coisas de forma moldável e escrevi uma consulta rápida dentro da ferramenta. Eu sabia que poderia “o macaco vê, o macaco faz” do meu jeito, escrevendo um pequeno script na página para enviar mensagens para o objeto Smalltalk Object Notion (STON):
OK, então, ao passar o conteúdo do objeto e depois passar para o array, obtive a lista de dicionários. Com alguma confusão, finalmente encontrei a consulta correta:
Eu remendei essa declaração final rapidamente, mas uma breve explicação pode ajudar:
STON
significa Smalltalk Object Notation – ou seja, a biblioteca Smalltalk JSON.- o
fromString
mensagens passamself
, que é uma auto-referência para o chamador. O objeto está enviando mensagens para si mesmo. - Essa frase entre colchetes é um bloco. Ele itera no array, procurando uma chave específica.
- O bloco é usado como argumento para o rejeitarmensagem. Ou seja, não queremos as seções onde
iconid
é usado como uma chave.
Sinto que o que foi dito acima está presente em outras linguagens convencionais o suficiente para parecer razoavelmente significativo.
Foi muito bom usar um pequeno script para explorar dados de maneira lucrativa. Embora eu tenha sido forçado a usar Smalltalk, esse inconveniente poderia ser facilmente absorvido pela IA com um pouco de trabalho.
A capacidade básica de permanecer dentro de uma ferramenta, explorar seus dados e resolver problemas é um daqueles objetivos de “computação ubíqua” que esperamos ver no futuro. Embora eu não recomende que você necessariamente brinque com o Gtoolkit ainda, acho que é uma boa direção para ficar de olho.
A postagem The Glamorous Toolkit: Testando uma ferramenta de exploração de software apareceu pela primeira vez em The New Stack.