Como fazer imãs de geladeira com os adesivos do GetGlue (II)

Em 2011, fiz um tutorial sobre como fazer imãs de geladeira com os adesivos do GetGlue. Agora, tendo voltado a receber os adesivos, resolvi complementá-lo com uma nova dica.

Desta vez, ao invés de usar tesoura para recortar a folha imantada, comprei um compasso para corte (figura 1), que nada mais é que um compasso com um lâmina de estilete na ponta. Ele é regulável, o que me permite cortar em círculos de 1 cm até 15 cm de diâmetro.

Figura 1 - Compasso para corte

Figura 1 – Compasso para corte

Na figura 1 o cortador está com abertura de 3,8 cm de diâmetro (Ø), que é o diâmetro (aproximado) dos adesivos do GetGlue.

O processo é bem fácil, com o compasso aberto na medida certa, basta colocar sobre a folha imantada (figura 2) e girar no sentido horário (figura 3), até cortar a folha.

Figura 2

Figura 2

Figura 3

Figura 3

Depois, retiramos o disco da folha (figura 4) e colamos o adesivo no disco (figura 5).

Figura 4

Figura 4

Figura 5

Figura 5

Pronto, está feito o imã :) . Abaixo os adesivos da cartela que recebi.

Figura 6

Figura 6

The Greek New Testament: SBL Edition (ePub)

Dando continuidade à publicação de alguns Novo Testamento em grego, apresento o The Greek New Testament: SBL Edition (SBLGNT), que é uma edição publicada pela Society of Biblical Literature e Logos Bible Software, editada por Michael W. Holmes.

Publicada em 2010, é distribuída gratuitamente em diversos formatos e possui uma licença um pouco mais aberta para a sua redistribuição. De acordo com o site:

Pela primeira vez, alunos, professores, pastores e leigos de todo o mundo podem acessar uma versão confiável, crítica e editada do grego do Novo Testamento eletrônica gratuita. [...]

Com o trabalho de crítica textual longe de estar completo, há uma necessidade contínua de pesquisa e análise. O SBLGNT, editado por Michael W. Holmes, utiliza uma ampla gama de edições impressas, todos os grandes aparatos críticos, e os mais recentes recursos técnicos e descobertas de manuscritos para estabelecer o texto. O resultado é um texto crítico editado que difere dos textos bíblicos da UBS e Nestle-Aland em mais de 540 variantes. (tradução livre)

O original disponível no site da SBLGNT possui os comentários do aparato crítico. No momento optei por disponibilizar o epub somente com o texto em grego. Com o tempo, atualizarei esta edição com o aparato crítico.

Para baixar, basta clique aqui ou acesse a página Livros – ePub.

Boa leitura!

Criptografia: Bastão de Licurgo (scytale) em Python

O Bastão de Licurgo ou scytale (σκυτάλη, bastão) ou cítala é uma técnica de cifragem utilizada pelos soldados espartanos, embora alguns estudiosos sugiram que isto seja apenas um mito.[1][2][3]

Todavia, seu processo consistia em se enrolar uma tira de tecido sobre um bastão de largura definida e sobre esta tira escrevia-se a mensagem. Finda a mensagem, a tira era desenrolada e enviada como um cinto por um mensageiro.

Scytale

No destino a tira devia ser enrolada num bastão de largura igual ao qual a mensagem foi escrita; sendo o bastão da mesma largura a mensagem se revelava. O algoritmo da cifra, neste caso, é o enrolar da tira no bastão e a chave, a sua largura.

Uma forma de visualizar a distribuição da mensagem é transpô-la para uma tabela. Para isso, dividimos o tamanho da mensagem pelo número de linhas (o que equivale à sua largura) e obtemos a quantidade de colunas. Tomemos como exemplo a mensagem: ‘o ataque será realizado amanhã‘. Desprezando-se os espaços em branco e trocando-se os caracteres especiais, teremos a seguinte mensagem a ser cifrada: ‘oataqueserarealizadoamanha‘. Sendo o tamanho do texto de 26 caracteres e a largura do bastão (chave) 4, e a divisão não é inteira, o número de colunas deve ser 7, assim:

  (preenchimento)
→ |o|a|t|a|q|u|e|
  |s|e|r|a|r|e|a|
  |l|i|z|a|d|o|a|
  |m|a|n|h|a| | |

E, como a divisão não foi inteira, ficaram dois espaços na tabela que eu resolvi preencher com as letras do alfabeto:

(cifragem)
↓ |o|a|t|a|q|u|e|
  |s|e|r|a|r|e|a|
  |l|i|z|a|d|o|a|
  |m|a|n|h|a|A|B|

Perceba que o preenchimento da tabela se dá da esquerda para a direita e de cima para baixo, mas a sua cifragem se faz de cima para baixo e da esquerda para a direita. Assim, o texto cifrado será:

OSLMAEIATRZNAAAHQRDAUEOAEAAB

CÓDIGO

Abaixo o código da classe Scytale em Python:

class Scytale:
    def encrypt(self, texto, key):
        ''' (Scytale, str, int) -> str
        Cifra o texto com a cifra scytale utilizando
        a chave key.
        '''
        cifrado = ''
        texto = texto.replace(' ', '')

        qtd_ch = len(texto)
        col = qtd_ch // key
        if qtd_ch % key > 0:
            col += 1

        i = ord('A')
        while len(texto) < key * col:
             texto += chr(i)
             i += 1
         for i in range(col):
             for j in range(0, qtd_ch, col):
                 cifrado += texto[i + j]
         return cifrado.upper()

     def decrypt(self, texto, key):
         ''' (Scytale, str, int) -> str
        Decifra o texto cifrado com a cifra Scytale
        usando a chave key.
        '''
        texto_plano = ''
        texto = texto.replace(' ', '')
        for i in range(key):
            for j in range(0, len(texto), key):
                texto_plano += texto[i + j]
        return texto_plano.lower()

TESTES

O código foi salvo no arquivo scytale.py

>>> from scytale import Scytale
>>> Scytale().encrypt('o ataque sera realizado amanha', 4)
'OSLMAEIATRZNAAAHQRDAUEOAEAAB'
>>> Scytale().decrypt('OSLMAEIATRZNAAAHQRDAUEOAEAAB', 4)
'oataqueserarealizadoamanhaab'

[1] http://en.wikipedia.org/wiki/Scytale

[2] http://www.numaboa.com.br/criptografia/transposicoes/322-bastao-de-licurgo

[3] http://www.civilwarsignals.org/pages/crypto/cryptotl.html

Criptografia: Cifra de César em Python

Quase todos já devem ter ouvido falar de criptografia. Se não ouviram, com certeza já utilizaram algum sistema ou serviço que se utilize de criptografia.

Sites de banco, por exemplo, utilizam um protocolo (HTTPS) que utiliza criptografia para garantir a segurança do seu acesso à sua conta; outro exemplo pode ser o acesso ao seu webmail.

Mas o que realmente é criptografia? Criptografia, junção de duas palavras gregas κρυπτός (kriptós – secreto, escondido) e γράφειν (gráfein – escrita), é, resumindo, o uso de técnicas para transformar texto ou dados legíveis em informação ilegível, que não possa ser compreendida. O procedimento básico pode ser mostrado na figura abaixo:

Crypto

Figura 1 – Cifragem e decifragem

O algoritmo desenvolvido que realiza as funções de cifrar ou decifrar recebe o nome de cifra. Toda cifra, para realizar a sua função necessita de uma chave. A chave é uma informação que controla o resultado do algoritmo.

CIFRA DE CÉSAR

Uma das cifras mais conhecidas é a cifra de César, que foi utilizada por Júlio César para se comunicar com suas tropas durante as guerras que travava[1].

Esta cifra é bastante simples, consiste na substituição de uma letra do alfabeto por seu correspondente três casas adiante, ou seja, a letra A é substituída pela letra D, a letra B pela letra E e assim por diante (figura 2). Neste caso, o algoritmo da cifra é a troca de uma letra por outra em uma determinada posição. E a chave, neste caso, é o número 3.

Caesar3

Figura 2 – Cifra de César

CÓDIGO

Abaixo há uma implementação bem simples, em Python, da cifra de César.

class Caesar:
    def __init__(self):
        self.__letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

    def encrypt(self, texto_plano, key = 3):
        '''(Caesar, str, int) -> str

        Retorna o texto_plano cifrado com a cifra
        de Cesar, utlizando a chave key,
        cujo padrao e 3.
        '''
        cipher_text = ''
        texto_plano = texto_plano.upper()
        for ch in texto_plano:
            if ch in self.__letters:
                idx = self.__letters.find(ch) + key
                if idx >= 26:
                    idx -= 26
                cipher_text += self.__letters[idx]
        return cipher_text

    def decrypt(self, texto_cifrado,  key = 3):
        ''' (Caesar, str, int) -> str

        Retorna em texto plano o texto_cifrado decifrado
        com a cifra de Cesar, utilizando a chave key,
        cujo padrao e 3.
        '''
        plain_text = ''
        texto_cifrado = texto_cifrado.upper()
        for ch in texto_cifrado:
            if ch in self.__letters:
                idx = self.__letters.find(ch) - key
                plain_text += self.__letters[idx]
        return plain_text.lower()

Vale comentar que esta classe não trata caracteres acentuados e despreza os espaços em branco.

TESTES

O código foi salvo em um arquivo caesar.py

>>> from caesar import Caesar
>>> Caesar().encrypt('teste de texto com a cifra de Cesar')
'WHVWHGHWHAWRFRPDFLIUDGHFHVDU'
>>> Caesar().decrypt('WHVWHGHWHAWRFRPDFLIUDGHFHVDU')
'testedetextocomacifradecesar'

Os métodos da classe recebem outro parâmetro além do texto a ser cifrado ou decifrado. Recebem o valor da chave, que caso não seja passado nenhum valor, será utilizado o valor 3, como no exemplo acima. Abaixo, um exemplo de uma chave diferente de 3:

>>> from caesar import Caesar
>>> Caesar().encrypt('teste de texto com a cifra de Cesar', 21)
'OZNOZYZOZSOJXJHVXDAMVYZXZNVM'
>>> Caesar().decrypt('OZNOZYZOZSOJXJHVXDAMVYZXZNVM', 21)
'testedetextocomacifradecesar'

[1] http://en.wikipedia.org/wiki/Caesar_cipher#History_and_usage

Alterações nos arquivos ePub e mobi das Bíblias ACF

Atendendo à uma das solicitações do Lex (leitor do blog), estou disponibilizado novas versões dos arquivo ePub das ACF 1994 e 2007. Corrigi o problema relatado pelo Lex de que quando ele ‘clicava’ em um número do índice de capítulos de um dos livros da ACF, ao invés de ser direcionado para o capítulo desejado, o aplicativo passava de página. Testei estas novas edições no Kobo para iPad e Kobo para Android (pois não possuo um Kobo eReader).

Como utilizo os arquivos ePub para produzir os mobi, estes também acabaram recebendo esta alteração.

Boa leitura!

Revista online (27) – The MagPi (PDF)

Se você é da área de tecnologia, já deve ter ouvido falar do Raspberry Pi (um pequeno computador do tamanho de um cartão de crédito). O que muitos não devem saber (eu me incluo nesta :) ) é que há uma publicação gratuita sobre o Raspberry Pi, a revista The MagPi e já está em sua edição número 10 (março/2013).

As edições, em inglês, podem ser baixadas diretamente do site no formato PDF.

Boa leitura!

Fonte: Revista Espírito Livre

Livro gratuito (22) – LibreOffice 4.0 Getting Started Guide (PDF, ODT)

Você é usuário ou conhece o LibreOffice? Então já deve saber que saiu a versão 4.0 da suíte de escritório. E, juntamente com este lançamento, foi liberado para download o LibreOffice 4.0 Getting Started Guide, em inglês e nos formato PDF e ODT.

O guia abrange os componentes da ferramenta (Writer, Calc, Impress e os outros) oferecendo ao leitor uma agradável experiência de aprendizagem.

Uma versão impressa do guia pode ser comprada através do link para download do guia.

Fonte: Revista Espírito Livre


The Ubuntu Counter Project - user number # 21175
Livros só mudam pessoas

Atualizações Twitter

Arquivos

Categorias


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 117 outros seguidores

%d bloggers like this: