Programar é tão arte como escrever receita de bolo. Desculpe por estragar o seu dia.

Brasil
Joined May 2010
Achei interessante. Um protetor de telas escrito em Red. Não é meu e o fonte pode ser encontrado em: gist.github.com/hinjolicious…
No Manjaro foi tranquilo. Resultou em um binário com 9MB e um nome sem letras maiúsculas.
Interessante para um programa que roda no Linux/Windows/Mac. O AppImage para Linux tem 43MB. Queria ver o tamanho compilado mas deu erro aqui. Vou pensar no caso. Mas não muito (talvez no Manjaro para facilitar um pouco as dependências) github.com/Murmele/Gittyup
Red x JSON x imagens x internet Pelas características do programa, esse eu fiz em Red e não Rebol3. A parte gráfica dele está mais avançada. Em 28 linhas, incluindo espaços e linhas que poderia ter sido escritas em uma só, é possível ler os dados em JSON, mostrar em uma lista e, ao selecionar um item ele carrega uma imagem de um site. O programa funciona perfeitamente no Windows. No Linux ocorre um crash depois de um tempo. Foi aberta uma issue no github hoje. Vou aguardar para ver se tem relação.
Acho que eu preciso deixar claro. Ultimamente os meus posts estão relacionados com Rebol/Red. Não é a minha intenção provar que Red/Rebol é melhor que a linguagem que você usa. Muito menos para trocar de linguagem. Apenas para mostrar que é uma ferramenta muito interessante para você ter como aliada. Se você usar mais de um SO, melhor ainda. O que eu posso dizer sobre Rebol/Red? - Tamanho pequeno pelo que elas proporcionam. - Não precisam ser instaladas. É só baixar e rodar. - Rodam no Linux, Windows, MacOS e outros. - Grande quantidade de tipos nativos (você só dará valor quando utilizar, datas, horas, etc.) - Parser muito bom e, diferente de ER, você entende ele no próximo ano. - Conceito primário de computação distribuída. - Simplicidade. (rebol.com/article/0509.html) - Como Lisp, é homoicônica (não acredito que escrevi isso 😆). Onde baixar: Rebol3 : github.com/Oldes/Rebol3/rele… Baixe a versão bulk para o seu SO. Red : red-lang.org/p/download.html Atualmete apenas para 32bits. Mas possui a parte gráfica (GUI) e permite gerar executáveis. red-view - ambiente gráfico red-cli - apenas texto red-toolchain - permite gerar executáveis (até para outros SOs - cross compile)
1
1
Não é raro termos que medir o tempo de execução de uma determinada rotina para melhorar o tempo de execução de um programa ou verificar gargalos. É interessante que a linguagem possua a facilidade em vez de termos que criar uma rotina para verificar o tempo gasto. Em Rebo3³ podemos fazer com a função DELTA-TIME¹ (ou DT para facilitar). Também é possível utilizar DELTA-PROFILE² (ou DP) para obter uma descrição mais detalhada do que está ocorrendo. Podemos ver no exemplo que, usando append, reduzimos em praticamente a metade do tempo gasto pela função que utiliza collect. ¹ rebol.tech/docs/functions.ht… ² rebol.tech/docs/functions.ht… ³ github.com/Oldes/Rebol3/rele…
Uma dúvida de uma pessoa me levou a um problema do Rosetta Code. Olhando o enunciado, foi praticamente copiar e colar. Ter tipos como money! e percent! facilitam a visualização e entendimento. A avaliação é da esquerda para a direita mas a linha que calcula a taxa não precisaria de parênteses. O cabeçalho é para efeitos de documentação. Poderia ser apenas Rebol [].
1
Para uma linguagem que apareceu em 1969, ter documentação atualizada em 02/2025 é, no mínimo, interessante.
Estava em uma empresa ontem e o responsável começou a falar que iria fazer um programa em C# para monitorar um site que estava caindo. Antes de terminar o blá, blá, blá da explicação, a solução para o monitorameto estava pronta. Em vez de Rebol, foi feito em Red (a parte de GUI está mais madura). 20 exaustivas linhas de código. 😎
1
GIF
Gerando IPs aleatórios Geralmente as linguagens de programação possuem um certo número limitado de tipos (inteiro, float, string, etc.). Rebol3 tem 58 tipos (YMMV). Entre eles tem o tipo tuple!. Basicamente nos formatos n.n.n utilizado para cores, versões, etc. e n.n.n.n que pode ser utilizado para IP ou cores (rgba). Cada n pode variar entre 0 e 255. A função RANDOM <n> gera um número que depende do tipo de <n> sendo que <n> é o maior valor que pode ser gerado. RANDOM 5 irá gerar valores entre 0 e 5. Podemos unir os dois como RANDOM 127.127.0.255 que vai gerar uma tupla 0-127.0-129.0.0-255 Exemplo para gerar 10 IPs aleatórios.
1
github.com/Oldes/Rebol3/rele… Pré-compilado para diversos sabores de Linux, Windows MacOS e Haiku. base : basico mas, entre outras tantas outras coisas, você poderá fazer contas com horas e datas o que já é legal. core : inclui algumas coisas de criptografia, mais internet, iconv, load/to-json base : inclui algumas coisas para gráfico com redimensionar image, rgb-to-hsv Uma relação das funções disponíveis pode ser vista em: rebol.tech/docs/functions.ht… A parte de GUI está parcialmente implementada e só no Windows (funciona no wine).
🦖 Guaracy Monteiro retweeted
I'm about to do something I think I've never done before, which is assert every bit of whatever authority I have as the person who discovered and wrote down the rules of open source. After ten years of drama and idiocy, lots of people other than me are now willing to say in public that "Codes of Conduct" have been a disaster - a kind of infectious social insanity producing lots of drama and politics and backbiting, and negative useful work. Here is my advice about codes of conduct: 1. Refuse to have one. If your project has one, delete it. The only actual function they have is as a tool in the hands of shit-stirrers. 2. If you're stuck with having one for bureaucratic reasons, replace it with the following sentence or some close equivalent: "If you are more annoying to work with than your contributions justify, you'll be ejected." 3. Attempts to be more specific and elaborate don't work. They only provide control surfaces for shit-stirrers to manipulate. Yes, we should try to be kind to each other. But we should be ruthless and merciless towards people who try to turn "Be kind!" into a weapon. Indulging them never ends well.
O emacs já é um pouco mais difícil que o vim para abrir um arquivo apenas para paginação. é necessário uma linha assim: emacs -nw <arquivo> --eval "(view-mode 1)". Mas nada que não possa ser facilmente resolvido.
Para o vim é mais fácil pois ele já entra no modo de 'paginação' Não uso o vim (tenho até um alias para ele :D) então desculpe se existem métodos mais fáceis (@taq).
Paginação de arquivos no Linux. Basicamente o Linux já tem less e more instalados. O less é melhor ṕois permite rolar para frente e para trás além de fazer busca (/ e ?). Para quem quer ainda mais controle tem o most. O pessoal do Go criou o moor (antes era moar) que salienta sintaxe e outras coisinhas. O pessoal do Rust criou o bat (batcat) que salienta a sintaxe e outras coisinhas. Note que para salientar a sintaxe é possível usar pygmentize <arquivo> | most ou less. Mas quem usa CLI não tem medo de editores CLI. Se o nano estiver configurado, basta um nano -v <arquivo> que mostra o arquivo com a sintaxe salientada (se tiver), númeração de linhas, etc.. Existem outros editores também, mas não conheço todos. E quem usa o Vim ou Emacs? Podem não ser tão rápidos mas possuem muito mais funcionalidade. E para paginar um arquivo em uma linguagem mais "diferente"? Só com o pygmentize e olhe lá.
Só para testar um vídeozinho. Como calcular um número na sequência de fibonacci em lisp.
🦖 Guaracy Monteiro retweeted
In under a day, I've implemented the frontend to a language I'm developing: Titania. It's effectively a variant of Niklaus Wirth's Oberon-07, which I am _considering_ on using as a means to teach compiler development with. github.com/gingerBill/titani…
11
12
334