Desvendando os Emojis

Nas últimas semanas, eu estive implementando suporte a emoji para um dos meus sites. Eu achei que seria divertido compartilhar alguns detalhes de como essa “maior inovação na comunicação humana desde a invenção da letra 🅰️” funciona na intimidde.

AVISO: Alguns emoji podem não ser exibidos como esperado no seu dispositivo.

Introdução ao Unicode

Como você talvez possa saber, qualquer texto dentro dos computadores é codificado com números. Um número para cada letra. A codificação mais popular que usamos é chamada Unicode, com as duas variações mais populares chamadas UTF-8 e UTF-16.

Unicode aloca 2²¹ (~ 2 milhões) caracteres, chamados de codepoints (para o desprazer dos programadores, admito que 21 não é um múltiplo de 8 🤷). Dentro desses 2 milhões, 150 mil caracteres, estão definidos.

150k caracteres definidos cobrem todos os alfabetos usados ​​na 🌍, muitos idiomas mortos, muitas coisas estranhas como 𝔣𝔲𝔫𝔫𝔶 𝕝𝕖𝕥𝕥𝕖𝕣𝕤, sɹǝʇʇǝl uʍop-ǝpᴉsdn, GHz como um glifo: ㎓, “direita, seta de duas cabeças com cauda”: ⤘, monstro de sete olhos: ꙮ, e um pato.

*Como curiosidade, veja abaixo o bloco de hieróglifos egípcios (U + 13000-U + 1342F). Eles têm algumas coisas realmente estranhas.

Voltando ao Emoji. No seu aspecto mais simples, eles são apenas isso: um símbolo em uma tabela Unicode. A maioria deles é agrupada entre U + 1F300-1F6FF e U + 1F900-1FAFF.

É :por isso que o Emoji se comporta como qualquer outra letra: ele pode ser digitado em um campo de texto, copiado, colado, renderizado em um documento de texto simples, incorporado em um tweet, etc. Quando você digita “A”, o computador vê U + 0041. Quando você digita “🌵”, o computador vê U + 1F335. Pouca diferença.

Modificadores de tom de pele

A maioria dos emoji humanos retratam uma pessoa amarela abstrata. Quando o tom da pele foi adicionado em 2015, em vez de adicionar um novo código para cada combinação de emoji + tons de pele, apenas cinco novos codepoints foram adicionados: 🏻🏼🏽🏾🏿 U + 1F3FB..U + 1F3FF. Esses codepoints não foram projetados para ser usados isoladamente, mas para ser anexados a um emoji existente. Juntos, eles formam uma ligadura: 👋 (U + 1F44b sinal de mão acenando) seguido diretamente por 🏽 (modificador de tom de pele médio U + 1F3FD) torna-se 👋🏽. 👋🏽 não tem seu próprio codepoint (é uma sequência de dois: U + 1F44B U + 1F3FD), mas tem sua própria aparência única. Com apenas cinco modificadores, ~ 280 emojis humanos se transformam em 1680 variações. Aqui estão alguns dançarinos:

🕺🕺🏻🕺🏼🕺🏽🕺🏾🕺🏿

Espero que a compreensão mais profunda de como o emoji funciona seja útil para ajudá-lo(a)s em seu trabalho … Nah, brincadeirinha. Mas espero que tenham gostado. :)

Arroz-feijão? Sim. E Funciona? Pode Apostar

Em servidores Linux, pode ser incrivelmente difícil qualquer processo se completar se o disco estiver sem espaço. Comandos de cópia e até mesmo as exclusões podem falhar ou demorar, quando a memória tenta “swap” para um disco que está cheio e há pouco a se fazer para liberar grandes lotes de espaço. Mas, e se houvesse uma maneira de liberar um grande espaço em disco nos momentos em que você realmente precisa? A resposta: Digite o comando dd[1].

Red beans and rice – prato do sul dos EUA

Como decisão de ano-novo, todos os meus servidores têm agora um arquivo espacer.img de 6 a10 GB vazio, que não faz absolutamente nada, exceto ocupar espaço. Dessa forma, em um momento de crise de disco cheio, posso simplesmente excluí-lo e ganhar algum tempo crítico para depurar e corrigir o problema. Oito Giga é uma quantidade significativa de espaço, mas o armazenamento é tão barato nos dias de hoje que acumular esse espaço vazio é basicamente imperceptível… um volume pequeno para se notar normalmente, mas que faz toda a diferença do mundo quando se precisa.

Então é isso. É por isso que eu mantenho um arquivo inútil no disco em todos os momentos: para poder um dia deletá-lo. Esta solução é super simples, trivial para implementar e fácil de utilizar. Verdadeiro arroz-feijão. Obviamente, a solução real é não deixar o servidor de banco de dados sem espaço, mas, como todo administrador sabe, às vezes os servidores ficam cheios devido a erros simples ou falhas inesperadas de design. Quando chega a hora, é bom ter um plano B, porque, caso contrário, você está enrolado com um disco cheio e um dia muito ruim pela frente.

[1] dd é um utilitário de linha-de-comando para sistema UNIX e derivados, cujo propósito é converter e copiar arquivos;

Para criar uma imagem de um HD: Em vez de fazer um backup do disco, você pode criar um arquivo de imagem do disco, como sugerido acima, e salvá-lo em outros dispositivos de armazenamento. Há muitas vantagens em fazer o backup de seus dados para uma imagem de disco, sendo uma a facilidade de uso. Este método é tipicamente mais rápido que outros tipos de backups, permitindo que você restaure rapidamente os dados após uma catástrofe inesperada. Exemplo:

dd if = /dev/hda of = ~/hdadisk.img

Nascido para ser Remoto

Eu tenho trabalhado remotamente por duas décadas. Programador / desenvolvedor / consultor autônomo… Em média, meus clientes trabalham comigo durante 5-10 anos. Alguns deles eu rotineiramente passo par de anos sem ver ao vivo [posso falar porque todos eles sabem que meu suporte remoto é fantástico]. Nos últimos cinco anos, apresentações em escritório, treinamento, discussões, simplesmente não foram do interesse de ninguém. Simplesmente não aconteceu. Portanto, estou muito acostumado com a rotina remota. De fato, estou em meu ambiente natural.

Photo by iStock

Ao invés de grandes reuniões, conversas em pé, no corredor, ainda são (ou eram, pelo menos antes da Covid-19) grande parte da minha rotina nas visitas de manutenção e de cortesia que faço (fazia?) aos clientes.

Claro, posso estar trabalhando em um projeto para o departamento de marketing, distanciado, no modo automático, por muitos meses, mas sempre vai haver a necessidade de conversar. E tenho que atender o projeto do ano passado, quando fiz alguma coisa para o departamento de vendas. E do ano retrasado, algo do departamento de expedição. E o departamento de TI, que também mexe com algo que eu fiz…

Então, toda semana, eu ligo para algum lugar: como tá indo? Esse sistema ainda funciona como esperado? Teve problemas esta semana? Como foi aquele curry de beringela que você fez na semana passada? Seus gatos estão soltando muito pelo esta semana? Você entendeu a ideia.

No meu trabalho, as coisas evoluem totalmente não-planejadas e sem script.

As conversas mais lucrativas geralmente vêm do mais junior dos contatos – o que não é surpresa, já que são eles que usam minhas coisas diretamente. A partir dessas conversas, ou eles levam as modificações para seu chefe – e eles parecem ótimos fazendo isso, ou eu tenho a obrigação de intervir presencialmente com a administração superior para dizer que a empresa vai extrair mais produtividade do departamento adicionando esse ou aquele recurso, conforme mostrado ao gerente – e eu pareço ótimo em ter os detalhes do assunto no qual o gerente está encontrando dificuldade.

E sim, em uma empresa-cliente de 50 funcionários, 3 Diretores, 5 Gerentes de departamento e 15 assistentes, mesmo à distância é melhor você saber quem gosta das receitas vegetarianas, quem têm animais de estimação, etc.

A coisa mais importante ao telefone, o que levei muito tempo e coragem para desenvolver, é ter conversas amigáveis, com assuntos fora do trabalho, durante um dia de trabalho muito ocupado (para eles).

Dica rápida: comece a falar de coisas pessoais no final do telefonema, nunca no começo. E quanto mais pesado o assunto, mais cedo ele deve entrar na conversa.

  1. Precisamos falar sobre isso;
  2. Como esse sistema está funcionando para você?
  3. Existe mais algum problema que você queira discutir?
  4. Como estão seus gatinhos?

Funciona para mim. Seus resultados podem variar.

Tokens Não Fungíveis e a Nova Economia Real

(*) Este não é um tutorial, e assume que o(a) leitor(a) tem alguma informação prévia sobre o assunto.

Em termos simples, um token não fungível (TNF) é um ativo digital exclusivo. Nenhum token não fungível é igual a outro. Colocando de outra forma, quando enviamos 1 Bitcoin (BTC) para um usuário e recebemos 1 BTC, de volta, nada muda em nossa perspectiva. Isso é porque cada Bitcoin é idêntico ao outro, tornando-o um ativo digital fungível [i.e., pode ser negociado em espécie]

Em oposição, um TNF é como a Mona Lisa de Leonardo da Vinci. Ele é único e é isso que o torna valioso. Cada TNF armazena alguma forma de metadados que faz dele um registro único na blockchain (note que até mesmo os TNFs em blocos similares da mesma blockchain não são intercambiáveis).


Como o token não fungível dá poder ao seu proprietário?

Um TNF é uma estrutura de dados que vem equipada com um mecanismo para armazenar metadados abrangentes que vão além do mero token; ele armazena os detalhes tanto do bem negociado (o ativo) como do proprietário. Consequentemente, os envolvidos na transação ficam garantidos quanto à procedência do ítem.

Os TNFs têm algum valor?

Para responder isso, vejamos uma linha de tempo. As tentativas de criar TNFs na Blockchain começaram em 2013 quando a ColorCoin foi construída no Bitcoin. No entanto, o primeiro padrão técnico organizando os TNFs apareceu em 2017. Seu nome foi Ethereum Request for Comments 721 [em tradução livre significa Requisição da Etherium para Comentar – “comentar”, aqui, no sentido de propor padrões] .

Essa especificação é um bocado diferente da ERC20 [especificação técnica usada para smart contracts na blockchain da Ethereum, que implementa tokens]. Isso porque a ERC721 rastreia tanto a propriedade em sí mesma quanto os movimentos de tokens individuais. E é essa capacidade que faz um token não fungível algo único e valioso.

Cryptokitties, um jogo de simulação com o tema /objetivo “criar gatos”, foi a primeira implementação bem sucedida da ERC721. Sendo assim, cada ERC721 representava um gatinho digital único. Um evento notável aconteceu em 2017, quando um gatinho digital cryptokitty foi negociado por US $ 172.625 – 600 ETH na época, o mais caro até então. Foi quando gigantes como o Google Ventures perceberam o poder dos TNFs.

Recentemente, uma start-up de Blockchain, Enjin, entrou em uma parceria com a Microsoft para criar uma linha de colecionáveis chamada Azure Heroes. Vou usá-la adiante como um exemplo ligeiro para abordar como os TNFs funcionam no mundo real.

Proposição de valor

No mundo real, os TNFs têm alguns casos de uso com grande potencial nas artes plásticas, na música, antiguidades, certificados de propriedade e muito mais. A industria de games está na vanguarda do processo. Existem algumas razões pelas quais a industria de jogos competitivos e/ou de simulação foi a primeira a implementar TNFs. Entre outros fatores, foi porque a ideia estava ao alcance do braço em uma industria que flerta com o imaterial, e porque os gamers já estavam familiarizados desde sempre com o conceito de colecionáveis ​​digitais.

As iterações futuras dos TNFs provavelmente ligarão ativos físicos a esses tokens para transferências sem confiança no mundo real. Para ficar em apenas um exemplo de uma grande industria, os certificados de identificação e as licenças de software podem ser negociados como TNFs.

Muitos projetos já estão propondo melhoramentos nas especificações de TNFs como as ERC115, ERC875 e ERC998.

Características de um token não fungível

  • Eles são exclusivos do proprietário;
  • Eles não são intercambiáveis ​​com outros TNF idênticos;
  • Cada TNF tem características únicas;
  • Cada TNF representa propriedade, direitos e privilégios;
  • TNFs não são divisíveis.

Como funcionam e como adquiri-los?

Há muitas maneiras pelas quais os TNFs podem funcionar. Como este é um blog de tecnologia, vamos usar como exemplo os últimos colecionáveis ​​digitais introduzidos pela Microsoft.

Naturalmente, muitos desenvolvedores de software trabalham na plataforma Microsoft Azure. Agora eles estão recebendo colecionáveis digitais como estímulo financeiro adicional. Um total de cinco distintivos (Badges) baseados na blockchain foram desenvolvido pela Enjin.

Os cinco distintivos da Microsoft: Lider da Inclusão, Herói do Conteúdo, Herói da Comunidade, Mentor e Maker

Cada distintivo está disponível em número limitado e será concedido à pessoa que fizer contribuições significativas para a plataforma Azure. Cada distintivo é basicamente um token ERC-721 que pode ser armazenado na carteira Enjin e negociado como qualquer ativo digital. Cada distintivo é único devido à sua definição de propriedade e é isso que define seu valor atual e futuro.

Para o desenvolvedor Azure receber um distintivo do token, é necessário enviar uma candidatura pessoal, além de fazer uma contribuição valiosa no trabalho para a plataforma. Quando a equipe da Microsoft faz a revisão e a avaliação positiva do trabalho, o desenvolvedor recebe o distintivo digital, que pode então ser reivindicado digitalizando um código QR. À primeira vista não parece sério, mas esses prêmios são muito cobiçados. É nessas ocasiões que lembramos que no capitalismo a noção de valor pode ser, às vezes, contraintuitiva.

Fica implícito que para ter acesso aos mercados de TNFs é preciso possuir uma carteira de blockchain – que pode ser baixada em muitos sites. Aqui apresentamos o site da Enjin (que foi citada no texto), onde também pode ser baixada. Não temos nenhuma relação com eles e este link não constitui aprovação da empresa.

Conclusão

As moedas fungíveis de criptografia já provam diariamente sua importância no ecossistema de ativos digitais. Os tokens não-fungíveis, por outro lado, representam uma oportunidade em potencial para tokenizar os ativos físicos mantendo uma linhagem tecnológica única [Blockchain –> QualquerCoin –> TNF] . Tudo somado, os TNFs ampliarão o escopo da blockchain no mundo real e levarão a experiência humana de comércio a novas dimensões.

Certamente voltaremos ao assunto.

Ransomware: Cada Vez Pior

Poucas coisas provocam um calafrio tão desconfortável quanto logar em um computador e visualizar uma mensagem dando conta de que todos os seus arquivos e dados estão bloqueados e indisponíveis para acessar. No entanto, como a sociedade depende cada vez mais da tecnologia digital, esse é um cenário cada vez mais comum. Ransomware, uma aplicação que criptografa os dados para que os cibercriminosos possam extrair um pagamento pelo seu retorno seguro, tornou-se cada vez mais comum – e caro. Um relatório de 2019 da empresa de segurança Emisoft projetou o custo anual de ransomware em mais de US $ 7,5 bilhões, apenas nos EUA.

Uma pop up de ransomware

“Indivíduos, empresas, hospitais, universidades e governo, todos já caíram vítimas de ataques”, diz Chris Hinkley, chefe da equipe de pesquisa da unidade de resistência a ameaças (TRU) da firma de segurança Armour. Em um cenário de pior caso, os resgates exigidos podem ser da ordem de dezenas de milhões de dólares, capazes de fechar inteiramente as operações de uma organização. Ransomware já forçou hospitais a redirecionar pacientes a outras instalações, interrompeu serviços de emergência e destruiu negócios.

O problema só vai piorar, apesar do desenvolvimento de novas e mais avançadas maneiras de combatê-lo, incluindo o uso de análise comportamental e inteligência artificial. “As Cybergangs usam diferentes algoritmos criptográficos e distribuem software notavelmente sofisticado e difícil de detectar”, diz Hinkley. “Hoje, quase não há barreiras para a entrada no negócio de ramsonware, e o dano infligido é enorme”.

Na íntegra em Comunication of the ACM (em inglês).