Menu fechado

Categoria: Tecnologia

Artigos sobre programação, softwares e serviços.

Apps Cordéis renovado

Reformulei a página inicial do Apps Cordéis, local onde coloco alguns aplicativos web que desenvolvi através do tempo. Está bem mais interessante agora. Você pode acessá-lo via seu endereço apps.cordeis.com ou através do menu de ícones nos círculos no canto superior direito da página.

Entre os aplicativos estão:

  • Jasmim – Não me lembrava deste. Foi uma tentativa de oferecer minha novela de aventura Jasmim como um app para Firefox OS. Não está muito bom de ler no computador, mas no celular até que está legal.
  • Lancelot – Rolador de dados variados, com opção de salvar conjuntos de rolagem, histórico de rolagem, gerador de nomes aleatórios e outras funcionalidades interessantes.
  • RarEfeitos – Mesa de efeitos sonoros variados.

Vivaldi Timer

Uso o Vivaldi já há um bom tempo. Para quem não conhece, é um navegador web com várias funcionalidades interessantes. A que euconsidero melhor é sua maleabilidade. Dá pra mudar muita coisa na configuração e deixá-lo adaptado para você. Por exemplo: a barra de abas pode ser colocada como um painel lateral.

Dia desses, clicando no relógio (ele tem um relógio na barra de status, junto com várias outras funcionalidades interessantes) em busca de um calendário encontrei um timer. Dá pra usar técnicas como Pomodoro usando o próprio navegador!

Sobre o calendário, não tem no relógio, mas ele traz hoje funcionalidades de Calendário, Email e leitor de notícias. O calendário, em particular, funciona como cliente para serviços que você já use. Aqui ele sincroniza direito com o calendário Google e o Nextcloud.

Se você ainda não conhece, recomendo dar uma olhada nessa ferramenta poderosa e útil!

Organizador de Reunião

Nesses tempos de pandemia aumentou a necessidade de fazermos reuniões online, via videoconferência.

Para facilitar o gerenciamento desse tipo de reunião, criei um aplicativo web utilitário: Divergents. Ele reune basicamente duas características: temporizador e gerenciador de inscrições para fala.

O botão de Intervenção para a contagem de quem estava falando, podendo ser utilizado para momentos de intervenções da mesa ou questões de ordem. É possível configurar também o tempo padrão de cada fala.

Está bastante utilizável. A ideia é que alguém que vá secretariar a reunião abra a página no seu navegador e compartilhe a tela com os demais participantes. Quem for se inscrevendo, seja por chat, levantamento de mão ou o que for, o secretário adiciona o nome no divergents e todos os participantes veem quanto resta de fala para o orador atual e quem são os próximos.

Espero que seja útil! Ele pode ser acessado em Apps Cordéis ou você pode baixá-lo do Github.

A Cor do Dia

Este é mais um post antigo do meu site anterior, que achei interessante o suficiente para publicar aqui. Confere…

Analisando números hexadecimais e data, percebi uma coisa legal: dá pra representar um dia com 6 números! O ano ocupa 3 dígitos em hexadecimal; o dia ocupa dois e o mês ocupa apenas um. Seis dígitos! O tamanho de uma cor em HTML (e outras representações).

Por exemplo: 18 de janeiro deste ano, o dia em que houve o blackout na Internet contra a SOPA. 2012 em hexadecimal é 7DC; janeiro é 1 mesmo, mas 18 equivale ao número hexadecimal 12. Assim, poderíamos representar essa importante data como #7DC112.

Seguindo nessa brincadeira, fiz uma função em PHP que retorna a cor para um determinado dia e criei um script que mostra a cor do dia atual:

function daycolor($date) {
    $dts = strtotime($date);
    $y = dechex(date("Y", $dts));
    $m = dechex(date("n", $dts));
    $d = dechex(date("d", $dts));
    if (strlen($d) < 2) {
        $d = "0" . $d;
    }
    $dc = "#$y$m$d";
    return $dc;
}

Pena que as cores ficam muito parecidas, evoluindo desse jeito tão lentamente… Pena também que o timestamp conte apenas de 1970 para cá. Bom, então é isso.

Cyber Edi+or e os Tutoriais Receita de Bolo

Este artigo foi publicado em 2012, mas achei interessante resgatá-lo (e editá-lo um pouco também).

Quando cursava Computação na UFAL, terminei me deparando certo dia com uma revista que trazia o Delphi. O Delphi 1, para ser mais exato. Pra quem não conheceu, o Delphi era uma ferramenta para criar programas visualmente e programando em uma linguagem chamada Object Pascal.

Quanto ao Delphi 1, bem, estava muito desatualizado, já que o Delphi estava na versão 5, se não me engano. Claro que eu poderia conseguir uma cópia pirata, até mesmo com os colegas de turma, mas eu me preocupava com essas coisas. Pensava assim: se eu não sou capaz de respeitar direitos do outros, como posso exigir que respeitem os meus quando eu me formar?

Hoje o que penso sobre pirataria como um todo mudou bastante, mas não em relação a software. Continuo contra pirataria de software, apesar de as razões para isso terem mudado. Hoje eu sei que ao usarmos softwares piratas, nós estamos nos capacitando no uso daquelas ferramentas e isso se torna um problema com o tempo. Ficamos dependentes.

Mas não é disso que quero falar hoje: é dos tutoriais estilo receita de bolo.

Naquela revista com o Delphi 1, veio um tutorial exeplicando passo a passo como construir um editor de textos. Ensinava como montar a janela e o menu (isso é até intuitivo), mas ensinava também que códigos usar para abrir e salvar um documento, para copiar e colar e para procurar textos. Com base nisso, fiz um editor de textos simples e depois comecei a personalizá-lo. Assim nasceu o Cyber Editor (ou <yber Edi+or, para ser mais exato), o editor para a quem só o texto importa.

Ele tinha dois modos de apresentação: o modo normal e o modo Cyber. No normal, ele era uma janela simples; no Cyber ele mudava para tela cheia, aumentando a área útil para edição. Pois é, o que se popularizou anos atrás como “sem distração”. Seu visual com texto verde sobre o fundo preto era algo de que eu gostava bastante naquele tempo.

Eu me lembro também de ter implementado duas funcionalidades interessantes para ele.

A primeira era a opção de adicionar comandos, como um editor para programador. Você poderia definir, por exemplo, um comando no menu que abriria o navegador web com a página que você está editando no momento, ou um compilador.

Outra funcionalidade bastante útil eram os SSC, os scripts de Substituições Sucessivas Cyber. Havia comandos para acrescentar linhas no início e no fim do arquivo, para remover linhas e, claro, para substituir. Assim, poderíamos transformar HTML em texto, texto em HTML, texto em RTF e outras brincadeiras mais, utilizando simplesmente esse script. Eu nem conhecia o sed na época, mas os SSC funcionavam como um sed-script rudimentar.

O <yber Edi+or era meu editor padrão no Windows naqueles tempos e senti saudade dele à medida em que fui vivendo cada vez mais em GNU/Linux. Não havia Lazarus para portar.

Uma coisa muito legal sobre o <yber Edi+or é que ele apareceu um dia no caderno especial da Revista Veja. Aquele caderno que eles lançavam pelo menos uma vez por ano, trazendo recomendações de download diversas, divididas por categoria. Certo dia eu vejo o <yber Edi+or lá, na página de Editores de Texto! “Se só o texto importa, o Cyber Editor é uma opção”.

Isso tudo que estou falando hoje é para reforçar a importância de tutoriais estilo “receita de bolo”. São muito bons! Se a gente consegue fazer o básico e entendê-lo completamente, fica fácil expandir esse básico e incorporar novas ideias. Não tenho visto com frequência tutoriais tão bons quanto aqueles e realmente gostaria de ver. Faço então um apelo: se você domina uma ferramenta de desenvolvimento, por que não fazer um tutorial desses? Explique como funciona uma calculadora básica, como fazer um jogo de quebra-cabeças básico ou um cliente básico de Twitter. Você pode, sem perceber, estar contribuindo para o nascimento de um novo grande software.

Quanto ao <yber Edi+or? Bom, depois das substituições sucessivas e tudo o mais, eu tinha muitas boas ideias. Acontece que ele havia sido feito de um jeito “tão Delphi”, sem muita organização, que eu planejei refazê-lo do início. Era o Projeto Simbionte: um editor que se integraria completamente ao usuário, um projeto ousado, modular, complexo. Nunca escrevi uma linha de código efetiva para o Simbionete. Este projeto morreu antes mesmo de nascer, por excesso de planejamento e de diagramas.

Gerenciamento de Torneios

Uma das técnicas que utilizo para escolher entre várias opções é a de eliminatórias simples. Funciona assim: digamos que eu precise escolher uma imagem de planeta alienígena.

  1. Monta-se uma lista de participantes. Começo selecionando ilustrações que eu bem utilizaria.
  2. Organizo todas em pares aleatórios.
  3. Pra cada par eu analiso: se a escolha fosse entre essas duas opções, qual eu escolheria? Isso gera uma nova lista, menor.
  4. Repito os passos 2 e 3 até ter um vencedor

Para lidar com escolhas, você pode adotar o estilo “escola de samba”, definindo vários critérios para atribuir nota aos seus participantes e escolher a que teve maior nota final. Pode sortear apenas um. Enfim, há várias formas. A eliminatória simples não cabe em tudo, mas eu acho interessante.

Com base nisso, fiz um aplicativo em Cordova + Onsen UI para gerenciamento desse tipo de torneio. O legal é que dá pra fazer torneios mesmo, caseiros, usando o app.

Quem se interessar, pode baixá-lo na AppGallery da Huawei. Por enquanto, só tem lá. Também tem uma página no meu wiki falando dele, que se chama My Bracket.