Categoria: Casos

Estudos de Casos.

  • Teredo foi desabilitado manualmente pelo administrador

    Queixa

    Internet caiu. Ao voltar só metade dos computadores e alguns celulares conseguem sinal.

     

    Procedimento Padrão

    Desliga os equipamentos. Tira da tomada por 30 segundos e liga novamente em seguida

    Quando se diz os equipamentos, será que desligamos também o rebatedor? Ele me parece agora o elo mais fraco da cadeia.

    E no nosso caso específico, devemos considerar neste momento o modem (DSL) em conjunto com os demais equipamentos.  Ter em mente que isso deligaria também as linhas telefonicas. Alem disso, ao retornar, o modem poderia receber um novo IP do DHCP pois ele não é fixo.

    Dúvidas

    1. Porque o 01 continuou funcionando? Será que ele está se conectando à rede WiFi direto no Router e não ao repetidor?

    Ocorrências Suspeitas

    Em meios aos procedimentos de diagnósticos e correções, falha no fornecimento de energia elétrica. Isso é comum? O que está acontecendo?

    Referencias:

    1. Como resolver problema WI-FI : Teredo foi desabilitado manualmente pelo administrador ( Windows 7 )
  • Redução de tamanho de arquivos de imagem

    Redução de tamanho de arquivos de imagem

    Problema:

    Imagens estão ocupando muito espaço na hospedagem do site. Reduzir a qualidade das imagens .

    O tamanho das imagens também podem vir

    1. do tamanho das própria imagem
    2. Resolução da imagem.

     

    Proposta:

    Usar o Gimp em seu processamento de lote para ajustar a qualidade das imagens (50% no caso das imagens JPEG) o mesmo procedimento para as fotos.

    Claro que se as imagens já estiverem com esta qualidade, ou menor, não haverá ganho.

    Um pouco de Código:

    
     (define (batch-half-quality-jpeg-file pattern
                                          radius
                                          amount
                                          threshold)
        (let* ((filelist (cadr (file-glob pattern 1))))
           (while (not (null? filelist))
             (let* ((filename (car filelist))
                (image (car (gimp-file-load RUN-NONINTERACTIVE
                                            filename filename)))
                (drawable (car (gimp-image-get-active-layer image))))
             (file-jpeg-save RUN-NONINTERACTIVE
                             image drawable filename filename
                             0.50 0 1 1 "GIMP" 0 1 0 0)
                      ; 0.50 quality (float 0 <= x <= 1)
                      ; 0 smoothing factor (0 <= x <= 1)
                      ; 1 optimization of entropy encoding parameter (0/1)
                      ; 1 enable progressive jpeg image loading (0/1)
                      ; "xxxx" image comment
                      ; 0 subsampling option number
                      ; 1 force creation of a baseline JPEG
                      ; 0 frequency of restart markers
                      ; in rows, 0 = no restart markers
                      ; 0 DCT algoritm to use
             (gimp-image-delete image))
             (set! filelist (cdr filelist)))))

    Este código foi colocado em um arquivo batch-half-quality-jpeg-file.scm na pasta ~/.gimp-2.8/scritps

    Ooops. Parece que restos do código antigo ficaram neste código. Recomenda-se cautela.

    O script foi executado de um terminal

    ~$ gimp -i -b '(batch-half-quality-jpeg-file "./fotos/lote01-50/*.JPG" 5.0 0.5 0)' -b '(gimp-quit 0)'

    Note que os arquivos originais são sobreescritos sem maiores questionamentos.

    O processamento resulta em algumas mensagens de alerta como

    (gimp:15907): GLib-GObject-WARNING **: g_object_set_valist: object class 'GeglConfig' has no property named 'cache-size'
    ...
    (gimp:15907): GEGL-gegl-operation.c-WARNING **: Cannot change name of operation class 0x123A330 from "gimp:point-layer-mode" to "gimp:anti-erase-mode"
    While parsing XMP metadata:
    Erro: não foi encontrado nenhum pacote XMP
    ....
    batch command executed successfully

    Porem atinge os nossos objetivos de diminuir o tamanho dos arquivos de image.

    Como esta solução foi usada em um Ubuntu 15.10 e GIMP 2.8, algumas adaptações podem ser necessárias para o seu ambiente.

    Referencias:

    1. GNU Image Manipulation Program – Documentação bem completa do Gimp.
    2. GIMP Batch Mode – um tutorial para começar a entender o processamento em lote usando o Gimp.
    3. Preparing your Images for the Web – Orientações de preparação de imagens para uso na Web.
    4. Your First Script-Fu Script
    5. Automatic Creation of XCF from JPG – Será que dá para salva de volta como JPEG, mas com novos parametros de qualidade?
    6. Writing GIMP Scripts and Plug-Ins – o básico sobre escrever scripts e plugins para o Gimp.
    7. Notes on GIMP Scripting
    8. GIMP: Re-uniting Save and Export
    9. Krita – Alternativa ao Gimp como ferramenta de desenho.
    10. Some GIMP Scripts-Fu (and Related ImageMagick Notes)
  • Star Wars direto em seu terminal….

    Star Wars ASCII
    Star Wars direto em seu terminal

    Experimente….

    telnet towel.blinkenlights.nl

  • Ordenar tabela com PinYin em ordem natural.

    PythonO Chinês é uma lingua muito peculiar. Uma língua monosilábica, tonal (alteração de tons na pronúnica da silaba diferencia o signicado das palavras). Para representar os sons das palavras chinesas padronizou-se o uso do PinYin (transliteração oficial) representando os 4 tons através de sinais diacriticos sobre as vogais. Veja um pequeno exemplo :

    A mesma silaba "Ma" apresentada nos diversos tons, apresenta significados bem distintos.

    Neste momento, eu me defronto com o problema de ordenar um glossário (planilha) de tres colunas : Ideograma, PinYin, e significado. Para facilitar aa consulta de um tal Glossário, digamos com mil expressões, gostaríamos de ordenar em ordem alfabética da coluna PinYin. Está é uma ordem natural uma vez que as letras A com ou sem os sinais diacriticos estão na ordem numérica convencionada para os tons. Mas, quando ordenamos pela coluna PinYin (B), numa planilha (Calc do LibreOffice, ou Excel do Office Microsoft) obtemos :

    Isso porque as vogais com diacriticos foram dispostos na tabela de caracteres em espaços disponíveis não de considerando este nosso possivel interesse.

    Esperar que a tabela de condificação dos caracteres diacríticos seja revista para contemplar a ordem natural das palavras chinesas parece estar fora de questão. Vamos a uma solução local e particular.

    Criaremos uma coluna adicional, somente para a classificação em ordem natural das palavras chinesas aproveitando a estrutura atual de condificação dos caracteres com diacriticos.

    Usaremos o recurso string.translate(str.maketrans(raw, coded)) do Python convertendo as vogar "āáǎàaēéěèeīíǐìiōóǒòoǖǘǚǜüūúǔùu" para "aáàǎāeéèěēiíìǐīoóòǒōuúùǔüǘǜǚǖū" obtendo a coluna auxiliar para a classificação.
     

    Como a ordenação do pinyin considera cada um dos tons de cada vogal diferentemente na ordenação, tivemos que subtituir cada vogal para a configuração vn onde v é a vogal sem o diacritico seguido pelo n do tom na sequencia desejada. Por exemplo, considerando o tom neutro como 5 para ficar depois dos 4 outros tons na ordenação. Alem disso, tomamos o cuidado de ordenar corretamente o u com o ü! Usamos a metodo s.replace dos strings do python para fazer as substuições.

    Dado uma lista de expressões contendo palavras em PinYin tentarei ordenar em sua ordem natural. Esclarecendo, a ordem dos caracteres diacriticos não é natural.

    Referências:

    • http://gomputor.wordpress.com/2008/09/27/search-replace-multiple-words-or-characters-with-python/ – aqui uma forma de substituição de caracteres.
    • str.translate(table[, deletechars]) – parece ser mais adequado para o nosso caso.
  • live PenDrive…

    ubuntu em pendrive
    ubuntu em pendrive

    O pendrive se tornou uma boa alternativa aos LiveCD com sistema operacional, com a vantagem de conseguir preservar programas, configurações e dados de uma sessão para outra.

    A criação de um pendrive com sistema operacional para bootar, ficou muito fácil no Ubuntu, com o “Criador de Disco de Inicialiazação” que já vem no ambiente. Se não estiver, procure por usb-drive no synaptics.

    Um pendrive formatado com fat-32 é perfeito para receber uma imagem ISO da sua versão predileta de Ubuntu para você levar junto contigo para onde for.

    Caso Ubuntu 10.10 Maverick Meerkat
    Aproveitando o lançamento do Ubuntu 10.10 e a disponibilidade de um pendrive com 16gb, instalei usando o “Criador de Disco de Inicialização”! Deixar algum espaço no pendrive em uma partição marcada como linux-swap ao final do pendrive pode ser de interesse. Imagino conseguir fazer com que no boot ele consiga usar este espaço se a maquina tiver pouca memória real.
    A atualização do software instalado com o Gerenciador de Atualizações pode levar algum tempo pois são muitos os pacotes a carregar, mas pode ser de interesse.