Arquivo | Linux RSS feed for this section

Como gerenciar um Telecentro

5 jan

Agosto de 2010, em alguma cidade do interior, faz um calor de 30°, e preciso imprimir um documento, passo na frente de um prédio está uma placa “Telecentro – Sala de Inclusão Digital”, pensei está ai pode ser que imprimam, entrando na sala, com apenas 10 computadores, fui a mesa central e disse que gostaria de imprimir, o atendente me perguntou: Sabe imprimir? Respondi que sim, claro. Entrei no pc com a senha e o usuário, que me havia sido entregue, e então acesso meu email, imprimo o boleto, pergunto quanto é e ele diz, não é nada, é público.

Fiquei admirado com a facilidade do serviço, rápido e simples. Ainda neste ano eu era um futricador do Linux, admirador incontestável do Software Livre, e ao me deparar com um cliente Linux, ligado ao servidor Linux, fiquei entusiasmado, e cai na real, como poderia montar uma sala do Telecentro, ou uma LanHouse dentro do sistema Linux?

A coisa ficou feia, não havia softwares exclusivo para isso no mundo Linux, nem no OpenSource, o que haviam eram freewares, ou softwares comercias, mas todos para plataforma microsoft … o desafio era montar uma lan com gerenciador … e o desafio não foi conquistado, uma batalha épica se perdeu.

Agora passados 5 anos, aca estou eu do outro lado da mesa, como prestar um serviço público usando Gerenciadores de Telecentro, ou de LanHouse, ou algo do tipo? E para que se evite maiores delongas, foi necessário utilizar os sistemas Windows, não por escolha, tendo um servidor na sala e algumas dezenas de computadores clientes, e fica o desafio qual software atende as necessidades de um telecentro? Poucos, me arriscaria a dizer que nenhum, embora seja ousado, mas para plataforma windows com telecentro não há, há sim soluções linux prontas, mas que exigem certos cuidados especiais para usar, mas como eu disse, a plataforma agora é a da telinha azul do Bill Gates.

 

Nota

Rsync sem slash com barra

29 out

Para usar o rsync há duas coisas a se atentar a primeira é o . que define o diretório atual a ser executado. A segunda preocupação é a Barra “/” que no final indica duas coisa por exemplo:

rsync /origem /destino

Copia a pasta origem dentro de destino.

rsync /origem/ /destino/

Copia o conteúdo de dentro de origem dentro da pasta destino.

 

Redes virais, o espectro aberto e poder computacional

4 fev

Poder comunicacional, redes virais e o espectro aberto

A tecnologia é simples transmitir sinais. Uma adequação técnica na placa de transmissão e recepção de sinais de um computador e a implantação de um algoritmo inte-ligente de roteamento podem transformá-lo em uma máquina de telecomunicar. O computador foi criado para processar informações. Em seguida, foi transformado em uma máquina de comunicar. Hoje o computador está se tornando uma máquina de telecomunicar.

Estamos vivenciando o surgimento de uma rede de comunicações não baseada na infra-estrutura tradicional de “telefonia”. Tal possibilidade choca-se contra as tentativas de concentração de poder comunicacional e de expansão da extração de riqueza promovida por grupos econômicos, consolidados durante o capitalismo industrial.

Noções como sociedade da informação e sociedade do conhecimento reforçam a percepção de que estamos construindo uma sociedade da hiper-comunicação cujo salto decisivo ocorreu com a crescente centralidade da comunicação mediada por computador. Cada novo uso e reconfiguração do computador não eliminou os usos anteriores.

O computador continua sendo uma máquina de processar e de comunicar. Todavia, a comunicação mediada por computador está avançando rapidamente do modelo estático para o universo da mobilidade.

A conexão sem fio está em expansão e vai adquirindo contornos de um futuro hegemônico. Quando pensamos em computadores pensamos na rede, na internet. Pensamos em comuni-cação, mais do que em processamento. Agora, a comunicação mediada por computador já permite-nos pensar em telecomunicação, em conectividade colaborativa, ou seja, em redes de comunicação virais.

A topologia mesh ou malha possibilita a formação de redes virais de comunicação. A palavra vírus traz consigo imagens ou idéias de contaminação, multiplicação, reprodução rápida e fulminante. Para a biologia, um ví- rus é um microrganismo que se multiplica usando a célula do seu hospedeiro. Na computação, o vírus é um programa malicioso que vem dentro de outro programa, que faz cópias de si mesmo e tenta se espalhar pelos demais computadores. No cenário dos negócios, o marketing viral é a propaganda boca a boca. No mundo das redes, a idéia da comunicação viral passa pela formação de uma rede que utilize cada computador nela conectado como hospedeiro e reprodutor do fluxo de comunicação.

A mensagem para ir da zona norte à zona sul de uma cidade utilizaria os inúmeros computadores e roteadores que estariam no caminho como verdadeiras torres de retransmissão de sinais. Os pacotes de informação, como um vírus, iriam saltando de máquina em máquina até o seu destino final.

O computador que está sendo construído pela equipe dos professores Nicholas Negroponte e Seymour Pappert, no projeto denominado OLPC (One Laptop per Child), contém um mecanismo que permite retransmitir sinais de outras máquinas mesmo quando estiver desligado.

Um módulo de energia, semelhante aos dos aparelhos de reprodução de vídeos, entram em atividade assim que receber um sinal. Isto permite superar os possíveis vazios de conexão para a transmissão viral em uma cidade quando as máquinas estiverem desligadas.

A primeira implicação de um sistema viral é econômica e pode afetar os negócios da telefonia e das telecomunicações em geral. A segunda é política e cultural, pois a rede viral é menos controlável que as redes lógicas baseadas em infra-estruturas de telefonia.

Também viabiliza a conexão de “última milha” sem custos ou com custos bem menores e aumenta a possibilidade de os segmentos mais pauperizados utilizarem as redes digitais. Descentraliza ainda mais os meios e instrumentos para as comunidades portarem seus conteúdos para a Internet. Enfim, existem implicações não previstas dada a recente implementação das redes mesh, mas o fato de a inteligência do roteamento, da conexão estar alocada em cada nó e não mais em um servidor central coloca dificuldades ainda maiores para aqueles que querem reduzir o compartilhamento livre de bens culturais e conhecimentos.

Alguns municípios brasileiros, entre eles Piraí e Quissamã, ambos no Rio de Janeiro, possuem experiências importantes de uso de wireless para conectar toda a cidade. Alguns deles já avaliam a implantação de redes virais para aumentar a velocidade de transmissão, reduzir o tráfego desnecessário de pacotes, diminuir custos de backbone, já que a comunicação entre computadores da localidade pode ser realizada diretamente.

A Anatel teme que se houver um crescimento vertiginoso das redes mesh, mesmo a partir de hotspots, pontos de roteamento espalhados pela área de cobertura, como no caso do campus da Universidade Federal Fluminense (RJ), esse fenômeno possa reduzir ainda mais os rendimentos das operadoras de telecomunicações.

Mais uma vez a história se repete. Para manter modelos de negócios e fluxos de riqueza pretende-se conter avanços tecnológicos e seus usos pela sociedade.

viral-network

Continue lendo

Redes de Malha Mesh

1 fev

Internet com novidades, você já se imaginou uma cidade com internet publica e gratuita para todos?

Com a expansão da comunicação sem fio, os computadores podem se comunicar diretamente, pois já possuem placas de transmissão e recepção de sinais. Assim, as topologias de redes como anel, árvore ou estrela podem ser superadas pelo desenho de uma malha, também conhecida como rede mesh. As implicações dessa possibilidade são imensas, seja do ponto de vista econômico, político, comunicacional ou cultural.

As redes mesh “malha” em inglês, tem em seu pilar ser cliente e servidor, sua teoria está dentro dos grafos, o que significa um entrelaçamento de matrizes, ou redes se preferir. As redes mesh podem ser o futuro da internet numa luta pelo livre acesso em  tempos da ditadura digital.

Ao criar uma rede Mesh de internet sem fio, significa conquistar a “webautonomia” na internet, na sua casa,  no local de trabalho ou até mesmo do bairro onde você mora. As redes do tipo Mesh possuem a vantagem de serem redes de baixo custo, fácil implantação e bastante tolerantes a falhas. Nesse sistema de conexão, cada laptop é um nó, ou seja, os computadores estão interligados entre si, e não dependendo de apenas um servidor central. Desta maneira é possível transmitir mensagens de um nó a outro por diferentes caminhos.

Redes do tipo mesh são redes comunitárias construídas com base em algoritmos de roteamento cooperativos, do tipo encontrado em redes sem fio e sem infra-estrutura, e.g., redes ad hoc. Nessas redes, os algoritmos ou protocolos de roteamento podem ser divididos em duas categorias, pró-ativos e reativos. A principal vantagem dos algoritmos pró-ativos é que todos os nós da rede têm sempre uma visão de qual é a topologia da rede em cada momento. Isso implica em rápido estabelecimento de rotas.

Entendeu a topologia mesh? Vamos ao desenho …

A topologia atual das redes sem fio é do tipo estrela, ou seja uma peça central, o roteador, distribui o sinal da internet.

redes_wireless

A topologia de malha, apenas um nó precisa estar conectado à internet e todos podem acessar através da rede.

redes_mesh

Indo mais a fundo

Contudo, essa visão atualizada da topologia da rede implica que cada nó possua uma tabela que armazene todos os caminhos. Se a mobilidade
dos nós for intensa, a troca de mensagens de controle entre eles será igualmente intensa. Adicionalmente, a maioria das redes ad hoc é formada por dispositivos que possuem recursos limitados e são alimentados por bateria. Troca intensa de mensagens irá implicar em maior gasto energético. Já os algoritmos reativos, que estabelecem rotas por demanda, diminuindo o número de mensagens de controle, têm como principal desvantagem a necessidade de tempo adicional para o estabelecimento da rota.

Em qualquer caso, a mobilidade irá implicar em quebra de rotas, o que dificulta o fornecimento de QoS nessas redes. O desenvolvimento de um protocolo de roteamento que forneça QoS deve ser baseado em alguns princípios básicos, incluindo a transparência, de tal forma que as aplicações possam ser isoladas da complexidade das especificações e gerenciamento de QoS, a integração entre as diversas camadas de protocolo, de forma que a QoS seja configurável e previsível fim-a-fim, e a separação de funções, ou seja, a transferência, o controle e o gerenciamento devem ser vistos como atividades distintas do ponto de vista da arquitetura.

Para transmissão de dados multimídia em redes ad hoc alguns requisitos devem ser observados e controlados, como o atraso e o jitter na entrega de pacotes, de forma a garantir uma reprodução adequada, uma boa estimativa da largura de banda disponível, o que implicará em menor re-envio de pacotes, e a economia de energia, de forma a manter os nós (dispositivos dos usuários) mais tempo em atividade. Alguns dos requisitos são conflitantes, o que torna a busca de uma solução mais interessante.

Fontes: http://tecnologiassemfio.wordpress.com/2010/03/26/conectividade-de-redes-mesh/

http://www.trezentos.blog.br/?p=1387

http://www.openspectrum.info/

http://www.e-brasil.org.br/portal/files/docs/fust/carta_porto_alegre.pdf

http://lameiro.wordpress.com/2006/11/05/sergio-amadeu-no-conisli/

Liberdade em Software Livre

12 dez

Usem apenas software livre.

Respeite sua liberdade e comunidade.

gnu-type

From english Free Software é traduzido no Brasil como Software Livre. Esse livre de free não significa cerveja grátis, mas sim de livre de privativo, privar a liberdade das pessoas. Devemos não confundir proprietário com privativo, de privacidade, privar, restringir.

Antes de nos aprofundar queremos abrir um parênteses, e definir que um programa (ou software, é gerado através de um código que chamamos código fonte/source code que nada mais é que uma receita para o programa, por exemplo faça isso, some aquilo, um botão aqui colorido que quando apertado exibe uma mensagem).

O Software Livre dá poderes às pessoas para se libertar, com programas que não lhe privam a liberdade, assim as pessoas podem mudar com o código.

Existem quatro etapas para que se considere um programa livre:

  • Liberdade 0 – A liberdade de executar o programa, para qualquer propósito.
  • Liberdade 1 – A liberdade de estudar como o programa funciona, e chance para modificar suas necessidades. Para tanto, acesso ao código-fonte é um pré-requisito.
  • Liberdade 2 – A liberdade de redistribuir cópias de modo que você possa ajudar ao próximo.
  • Liberdade 3 – A liberdade de distribuir cópias de versões modificadas a outros. Desta forma, você pode contribuir para a comunidade a chance de beneficiar de suas mudanças. Para tanto, acesso ao código-fonte é um pré-requisito.

Se eu programo códigos com essa liberdade, estou respeitando os usuários e comunidades, e isso inclui os negócios também.

A liberdade 1, estudar o código, não é uma questão técnica. É uma questão política. Para as pessoas se libertar, elas tem que desenvolver programas. E desenvolver programas não é apenas programar ou codificar códigos, é muito além disso, é usar o programa desenvolvido livremente, é dar sugestões, enviar traduções para seu idioma local, relatar erros, muitas tarefas se envolvem no desenvolvimento de programas e todos podem contribuir.

Exatamente o contrário de Software livre, é o ‘software proprietário’ que não contribuem e atrai os usuários para ter poderes sobre ele. Eles fazem isso de diversas maneiras como rastreá-los e monitora-los de forma perniciosa.  O grande ouro do usuário de softwares é ser livre.

A liberdade 2, é ajudar os outros, neste dilema você pode mudar os programas e enviar aos outros, ou ajudar a instalar. Não ter amigos é isso que faz o desenvolvimento privado. A liberdade 2 é uma questão central, e é dependente da liberdade 0, e isso o leva a ter controle sobre o computar, que é o objetivo de um usuário de softwares.

Na liberdade 1 (L1), se modificamos inteiro o software, então você não tem a a L1. Existem softwares maliciosos, os malwares, que informam mensagens sobre o computador e o usuário, e assim “eles” apostam o futuro no Micrøsoft Windøws é um minimalware com suas escancaradas backdoors, (backdoor são portas que mal configuradas abrem o acesso ao computador/maquina). Nós já sabemos os principais aplicativos da Adobe Flash Player, iPhone, iMac da Apple, por que as pessoas não podem escolher, elas no caso do Flash apenas os fabricados pela Adobe, é que são suportados, na Apple você não tem escolha só pode usar um repositório de programas, e todos eles são pagos e isso não te traz liberdade.

Os malwares mais conhecidos hoje são o Adobe Flash Player, Angy Birds, sim esse joguinho informa a localização geográfica de onde você está. O playstation 3, a Amazon, a mais conhecida, e seu aparelho Kindle, eles te rastreiam e mapeiam o que você usa ou assiste, isso é terrível. Poderiamos chamar o Kindle de “Virtual Book Burning” (em tradução literal: Livro virtual queimante).

Esse é o modo de jogar “trust me“: “Eu sou uma grande Companhia, com muitos empregados, e milhões na conta, por isso você tem que confiar em mim”

A L1 traz a organização e controle conjunto, onde a comunidade, você e o desenvolvedor podem se compartilhar nas informações, e nós fazermos juntos como nós queremos “as we wish”.

A Liberdade 3 (L3) é o direito de mudar, de programar e distribuir nossos softwares.

As quatro Liberdades dão democracia para participar na decisão dos programas, são essas 4 liberdades para controlar o computador.

As pessoas precisam rejeitar o Software proprietário, para que possam viver livres.

Em 1983 eu comecei a criar um sistema para que as pessoas pudessem usar os computadores, e compartilhar seus programas. Mas faltava um programa fundamental que controlasse todos programas, gerencia-se a memória, detectasse os hardwares, era o kernel, o cerne do computador, e nessa época todos, todos, os sistemas operacionais eram pagos, e a peça fundamental o kernel, eram todos proprietários. Recebi em 1984 dinheiro para poder investir, e contratei pessoas na área que tinham entendido o projeto e começamos a criar o kernel para então termos um sistema operacional completo. Isso também ajudava essas pessoas a escapar do software proprietários e elas reconheciam essa injustiça cometido pela privativação (difere-se as palavras privativo de privacidade).

Entidades como Bush, Obama, as pessoas que eles querem salvar, as instituições financeiras, não querem nos ajudar, e eu não suponho, nem posso perguntar por quê eles não querem a liberdade.

Mas você pode encontrar pessoas que podem e querem ajudar. A palavra gnu é uma piada, por que ela também significa que é um animal preto, e por isso escolhemos o mascote, gnu significa “Gnu is not unix” ou “Gnu não é unix” é um acrônimo recursivo.

O BSD é um sistema que existia em 1983 (ver em http://www.bsd.org/ e Wikipedia BSD) e era proprietário, mas algumas peças eram livres, e em 1985 pedi para separar o que era livre do que não era livre, e começamos a alterar essas partes tornando-as software livre.

Neste ano já tinhamos tudo, menos o kernel, para que então tivessemos um sistema operacional completo.

E começamos a desenvolver o kernel Hurd (informações sobre o hurd) mas levou muitos anos para desenvolver e em 1992 o Linus Torvalds liberou oficialmente o Kernel Linux. O Linux é então o kernel, o cerne do sistema operacional, e que para nossa felicidade ele usava a maioria dos softwares gnu e bsd. Isso tornava a união do kernel linux e o sistema gnu altamente compatível, e então juntamos as peças Gnu e  o kernel Linux.

A partir daí comeram a desenvolver em conjunto e cada um desenvolvendo seu Sistema Operacional. E então as pessoas começaram a dizer o termo GNU/Linux por isso que sem o GNU o Linux não está completo, não irá funcionar, pois as peças mais básicas que fazem rodar o kernel está dentro do sistema GNU. Se usarmos somente o termo GNU nos referimos apenas as ferramentas e podemos hoje apesar de instável dizer GNU Hurd. Mas Linux apenas se refere apenas ao kernel, o termo correto portanto é GNU/Linux.

A computação é uma nova área da vida humana nos últimos 30 anos, as pessoas precisam usar programas, e elas estão começando a usar programas proprietários privados, e não vão conhecer técnicas para se libertar. Identificar esses 4 direitos no início é um bom modo de usar o computador.

A questão de dizer apenas Linux, ao invés de dizer GNU/Linux, é que lega a ideia que o Torvalds fez o sistema operacional completo, e então não vão lembrar de nós do que fizemos e defendemos pelos direitos humanos sobre sistemas de informação. Eles usam linux e não sabem do projeto Gnu, mas nós usamos o gnu, vamos muito mais defendemos um movimento político de libertação.

Em 1998 as pessoas de outro lado iniciarão o projeto Open Source (Código Aberto) que pregava que retirasse dos nossos meios de vida, as condições ética do movimento, para poder ajudar a comunidade. O Opensource não traz a questão da liberdade e livre. Esses termos Aberto soa diferente de Livre, embora o termo Free soa como grátis, o que não é verdade, por que você pode vender um software livre, desde que acompanhe o código-fonte, e que ele continue tendo as 4 liberdades. Já o código-aberto não traz a idéia de liberdade e perdemos parte da ética do movimento, além de que os que propuseram o caminho do código aberto, pretendiam trabalhar apenas uma parte do software livre, e mixar com uma parte adicional proprietária.

No meio empresarial usar o termo “software livre” parecia um idealismo que não estava sendo aceita no mercado, então o termo “open source” abriu esse caminho. Hoje “Free Software” e “Código Aberto” são movimentos separados, e eles podem trabalhar juntos em alguns projetos. Código aberto é uma metodologia de desenvolvimento, software livre é um movimento social, para o open source, software não-livre é uma solução sub-ótima, para o movimento software livre, software não-livre é um problema social e software livre é a solução.

As pessoas precisam pensar na liberdade como um valor e os programas proprietários irão restringir nossa liberdade.

Hoje existem sistemas inteiramente livres como o Ututo e gNewSense. E também sistemas que são parcialmente livres como o Parabola ou Dragora. Mas essas distribuições não são populares!

Há 5 anos atras Linus Torvalds começou a incluir trechos de código não livre no kernel e a Free Software Foundation (FSF) teve que atuar e retirar essas peças que não deixava o Linux livre, e então o próprio Torvalds desenvolveu um algorítimo que chamamos de Linux-Livre, mas esse é um tratamento que temos que estar sempre fazendo no código.

Então temos que agir em forma de criar uma comunidade realmente livre, não é uma tarefa fácil, mas que tem que ser feita, seja um ativista da liberdade, entregue adesivos, cds, camisetas, fale sobre o software livre, mostre a eles o que podemos fazer. Organize um protesto porque usar Programas Proprietários é injusto, e isso é uma ótima forma de ajudar as pessoas, e sua educação.

O tempo é valioso e temos que lutar pela liberdade?

Eles não valorizam uma vida livre, mas liberdade requer sacrifícios.

Precisamos criar “Quilombos Digitais” para nos livrar de nossa escravidão privativa! E atacarmos de forma a prejudicar o software proprietário.

Missão Social: Educação.

Educar boas pessoas em uma sociedade livre, deveria usar apenas programas livres, e nunca proprietários porque tornas as pessoas dependentes e privadas de sua liberdade. Educar com bons programas, se usar softwares proprietários as crianças irão perguntar, como se faz isso? E então você irá dizer não posso dizer porque isso é um segredo. Se isso é um programa livre, o professor pode dizer como faz, e mostrar o código, ir ainda mais, ajudar a entender o código, ensinar e aprender com elas.

Você deve compartilhar seus programas junto com o fonte, entre seus amigos, colegas de classes, entre professores.

Se você aqui é um professor, então você tem dever de ajudar mais as pessoas, a dizer não onde não vai o software livre.

“Eu não quero conversar com um amigo que não compartilha.”

Nós podemos lutar contra o Big Brother Boss é justo, é por justiça que devemos fazer isso, porque é a razão de existir a privatividade.

Nós devemos usar apenas software livre.

Usar software livre não é um mar de rosas, exige sacrifícios, um deles por exemplo é não poder ver todos os videos do youtube, por que eles (o youtube) e a adobe (fabricante do mais usado Flash Player) ficam nos sacaneando, e cada vez que conseguimos corrigir e executa-los perfeitamente então eles lançam a versão 7, 8, 9 … que torna as outras incompatíveis, e ai lançam a versão 11 e por ai vai … o que temos que fazer é nos unir e criar uma situação que nos conforte e confrontar com ‘eles’ junte-se a nós.

O tempo de lutar pela liberdade é agora.

Links uteis e referencias para esse texto:

gnu.org

fsf.org

www.defectivebydesign.org

www.linuxfoundation.org

www.vivaolinux.com.br

http://distrowatch.com/

https://www.gnu.org/distros/free-distros.html

http://www.fsfla.org/

http://softwarelivre.org

http://libreplanet.org/

http://br.windows7sins.org/

Este texto foi escrito com base na palestra de Richard Stallman em Sorocaba na Ufscar, algumas coisas foi ele realmente quem disse, outras foram a forma como entendi, e outras como eu entendo, portanto esse artigo não é uma opinião apenas dele ou minha.

Apresentação do Sergio Amadeu na Audiência Pública

27 jun

Na primeira audiência pública do Marco Civil, ocorrida no dia 17 de Abril, Sérgio Amadeu realizou uma apresentação na primeira sessão e colocou a disposição das pessoas interessadas.

Marco Civil

Na primeira audiência pública do Marco Civil, ocorrida no dia 17 de Abril, realizei uma apresentação na primeira sessão que coloco a disposição das pessoas interessadas. A apresentação está em PDF:

marco civil 2012_vp

Durante a audiência pública não tive tempo de expor alguns elementos fundamentais da cidadania digital que foram debatidos no blog Trezentos, em maio de 2009. São eles:

Todas as pessoas têm o direito de acessar à Internet sem distinção de renda, classe, credo, raça, cor, opção sexual, sem discriminação física ou cultural.

Todas as pessoas têm o direito à acessibilidade plena, independente das dificuldades físicas ou cognitivas que possam ter.

Todas as pessoas têm o direito de abrir suas redes e compartilhar o seu sinal de internet, com ou sem fio.

Todas as pessoas têm o direito à comunicação não-vigiada.

Toda pessoa tem o direito à navegação livre, anônima, sem interferência e sem que seu…

Ver o post original 116 mais palavras

Tesseracteando

22 jun

Nossa, há quanto tempo, sempre tive vontade de digitalizar textos, mas nunca realizei devido a qualidade pobre dos resultados no Linux. Isso foi decepcionante. Quando lançaram tesseract eu testei, havia melhorado, mas ainda estava longe do original.

Agora, passados quase uma década vou retentar novamente-te.

Imagino que muitos frontends foram construidos, então vamos testa-los.

Gimagereader

sourceforge.net/projects/gimagereader

Qualidade: Ótima

Requer: aspell

Não reconhece todos os acentos da lingua portuguesa, mas o resultado é muito satisfatório.

Tesseract-gui

http://sourceforge.net/projects/tesseract-gui/

Qualidade: Não Testada

Não gera o resultado.

xsane2tess
Usage: /usr/bin/xsane2tess [OPTIONS]

xsane2tess converts files to TIF, scans them with TesseractOCR
and outputs the text in a file.

OPTIONS:
-i <file1> define input file (any image-format supported)
-o <file2> define output-file (*.txt)
-l <lang> define language-data tesseract should use

Progress- & error-messages will be stored in this logfile:
/tmp/xsane2tess.log

xsane2tess depends on
– ImageMagick http://www.imagemagick.org/
– TesseractOCR http://code.google.com/p/tesseract-ocr/

Some coding was stolen from ‘ocube’
http://www.geocities.com/thierryguy/ocube.html

Construido em python é um escript com gui, aqui o erro era por conta do idioma.

Tesseract Open Source OCR Engine
Traceback (most recent call last):
 File "/usr/bin/tesseract-gui.py", line 947, in f_process_img
 print "Language: " + lang
NameError: global name 'lang' is not defined
^CTraceback (most recent call last):
 File "/usr/bin/tesseract-gui.py", line 1919, in <module>
 my_mainwindow.main()
 File "/usr/bin/tesseract-gui.py", line 1853, in main
 gtk.main()

Xsane2tess

http://doc.ubuntu-fr.org/xsane2tess

Qualidade: Não Testada

retorna erro

/usr/bin/xsane2tess: line 63: $FILE_OUT: ambiguous redirect

Tesseract

http://code.google.com/p/tesseract-ocr/

Chega, vamos ao modo manual.

tesseract
Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]</pre>
pagesegmode values are:
0 = Orientation and script detection (OSD) only.
1 = Automatic page segmentation with OSD.
2 = Automatic page segmentation, but no OSD, or OCR
3 = Fully automatic page segmentation, but no OSD. (Default)
4 = Assume a single column of text of variable sizes.
5 = Assume a single uniform block of vertically aligned text.
6 = Assume a single uniform block of text.
7 = Treat the image as a single text line.
8 = Treat the image as a single word.
9 = Treat the image as a single word in a circle.
10 = Treat the image as a single character.
-l lang and/or -psm pagesegmode must occur before anyconfigfile.
<pre>

A linha de comando para gerar um texto

tesseract <image.tif> <output> [-l <langid>]

Alguns scripts preferem tiff, então estou usando ele como padrão.

Da para testar com pdf

Nota

O Fazendeiro que se transformo em bicho após a morte.

8 jun

O FAZENDEIRO QUE SE TRANSFORMOU EM BICHO APOS A MORTE
Autor Juvenal dos Santos
Pra escrever um poema
A mente tem que está boa
E enquanto a mão escreve
O pensamento já voa
Buscando o que é preciso
As palavras que utilizo
No lugar que a rima soa.

Pega ali ó juvenal-dos-santos-fazendeiro-mosntro

E em iso 8859-1 juvenal-dos-santos-fazendeiro-mosntro-iso-8859-1

Curiosidade nerd, esse texto foi usado para textar a capacidade de reconhecimento ocr com o tesseract. O procedimento usado fora, escanear o texto com o xsane em 150 dpi que foi a resolução minima, em testes, resoluções com mais de 600 dpi atrapalharam no reconhecimento, então optei por 150 dpi ao invés de 200 ou 300 , por questão de espaço e uma vez que o reconhecimento não mudou com boas resoluções. Depois de escaneado usei o frontend do tesseract um progama chamado gimagereader para reconhecimento do texto, que facilita bem o trabalho. Tive que corrigir o fonema “fi” ao invés de “fi” a letra latina. Também  a aspa ” por “. Depois de extraído e reconhecido o texto, optei por passar para pdf, para não perder a métrica da poesia. Usei o programa u2ps que converte de utf8 para postscript, embora o linux possua leitores tanto pdf como ps, optei por usar pdf por ser um formato aberto também, que me levou a uma segunda conversão usando o programa ps2pdf  que vem junto com o ghostscript. Não houve perca de dados. O Segundo arquivo foi convertido o texto de utf8 para iso-8859-1 usando o iconv e depois usei o a2ps que também oferece saída para pdf. Por fim podemos comparar os resultados. Todos esses são programas livres, e podem ser baixados, e instalados sem remorsos, no arquivo tem o contato com o autor.

Boa leitura.

Linux Softwares Multimedia

21 maio

Audio

Servidores de Audio

Video

MediaCenter

Imagens

Visualizadores

O Programa Livre e O Código Aberto

21 maio

Recentemente, recebi de alguns amigos pedidos, para que eu distingui-se um do outro. Não creio que caiba em pouca palavras diferencia-los, eles são tão próximos que são as vezes usado como sinônimos. Vamos rever a trajetória de ambos e como surgiram os temas.

O que são Softwares?

Aquilo que chutamos é o hardware, então os programas são a parte virtual do computador, são os aplicativos, um programinha para mover, ler um texto, criar pastas, uma calculadora, são exemplos de aplicativos muito comum entre os computadores.

Para criar um programa é preciso escrever um código, e esse código é como se fosse a receita de um bolo, ele dá os passos para gerar, um bolo, no caso do bolo, é o resultado do código. Os códigos são escritos de diversas maneiras, dentre elas o texto puro, por exemplo:

echo oi

Códigos e mais símbolos

Neste nosso exemplo criamos um programas que escreve na tela “oi”. Lógico que programas mais complexos exigem códigos dentro de códigos.

Podemos dizer que os softwares possuem duas faces, uma é a linguagem binaria lida pela maquina, e a outra a do programador que é onde está escrito o código fonte.

Nos primórdios da computação, em meados dos anos setenta, a troca de códigos era comum, em geral eles trocavam código através de listas de comunicação.

Mas um dia, de repente, um programador resolve não permitir que seu programa fosse copiado, e então surge o chamado Software Proprietário, esses programas tinham códigos secretos, que limitavam também sua utilização. Mesmo comprando o Aplicativo, você só poderia usar em uma única maquina, se houvesse mais para instalar seria necessário comprar outra.

Nesta época muitos programadores se rebelaram contra a situação, dentre eles Richard Stallman, pois consideravam injusta essa situação.

Então eles começaram a escrever programas com código aberto. Sem restrição de cópia, de estudo ou modificação, e permitindo o uso para qualquer finalidade. Esses programas foram chamados de Softwares Livres. Então se você quiser copiar esses programas e entregar para outras pessoas, você é livre para tal.

Não é Unix

Diante desses dilemas, Richard Stallman iniciou um movimento que deu origem  em 1984 ao Projeto GNU, um “Sistema Operacional” Livre, e convidou outros programadores à participar.

Stallman criou uma licensa que foi apelidada de copyleft uma referência contrária ao copyright. Em uma tradução livre “Deixe copiar”. Nesta licença estão definidas as regras para um ‘Software Livre’.

0. Executar para qualquer fim
1. Estudar o programa
2. Redistribuir cópias
3. Aperfeiçoar e compartilhar

Essas regras são as guias por onde andam o software livre.

GNU é um acrônimo recursivo que quer dizer, GNU não é Unix.

http://www.gnu.org

Cerne, uma peça fundamental

Até 1990 o Projeto GNU tinha todos os softwares para um Sistema Operacional, mas estava faltando o quérneu, o núcleo central do computador.

Em 1991, o estudante Linus Torvalds, liberou a primeira versão do kernel linux. Os primeiros usuários uniram o projeto GNU com o núcleo do Torvalds, gerendo assim o GNU Linux. Os programas do Sistema Operacional GNU/Linux, foram licenciados pela Licença GPL, que garante o uso de software. Ela garante as quatro liberdades do software livre, e não permitem que elas sejam retiradas dos programas derivados, garantindo que sempre serão gerados programas livres através de software libres.

Quem pensaria mesmo há cinco anos atrás que um sistema operacional de classe mundial poderia surgir como que por mágica pelo tempo livre de milhares de colaboradores espalhados por todo o planeta, conectado somente pelos tênues cordões da Internet?

Fundação Código Aberto, sobre os ideais de programas livres

Em 1998, Eric Raymond foi um dos protagonistas, junto com Linus Torvalds, da criação da Open Source Initiative OSI, defendendo a adoção do software livre por razões técnicas e sugerindo o uso da expressão open source ao invés de free software, evitando a ambiguidade do termo free (que pode significar tanto livre quanto gratuito, na língua inglesa). Bruce Perens, um dos fundadores da OSI escreve manifesto The Open Source Definition, que compara as licenças da época. Ele considera que o Open Source (Código Aberto) se apoia no movimento do Software Livre criado por Richard Stallman.

Qualquer licença de software livre é também uma licença de código aberto (Open Source), a diferença entre as duas nomenclaturas reside essencialmente na sua apresentação. Enquanto a FSF usa o termo “Software Livre” envolta de um discurso baseado em questões éticas, direitos e liberdade, a OSI usa o termo “Código Aberto” sob um ponto de vista puramente técnico, evitando (propositadamente) questões éticas. Esta nomenclatura e discurso foram cunhados por Eric Raymond e outros fundadores da OSI com o objetivo de apresentar o software livre a empresas de uma forma mais comercial evitando o discurso ético.

Como a diferença entre os movimentos “Software Livre” e “Código Aberto” está apenas na argumentação em prol dos mesmos softwares, é comum que esses grupos se unam em diversas situações ou que sejam citados de uma forma agregadora através da sigla “FLOSS” (Free/Libre and Open Source Software).

http://opensource.org/

Guia de Definição do Código Aberto

Existe uma definição criada pelo projeto Debian que tornou-se a definição mais geral das garantias dos programas de código aberto.

Distribuição livre

A licença não deve restringir de nenhuma maneira a venda ou distribuição do programa gratuitamente, como componente de outro programa ou não.

Código fonte

O programa deve incluir seu código fonte e deve permitir a sua distribuição também na forma compilada. Se o programa não for distribuído com seu código fonte, deve haver algum meio de se obter o mesmo seja via rede ou com custo apenas de reprodução. O código deve ser legível e inteligível por qualquer programador.

Trabalhos Derivados

A licença deve permitir modificações e trabalhos derivados, e deve permitir que eles sejam distribuídos sobre os mesmos termos da licença original.

Integridade do autor do código fonte

A licença pode restringir o código fonte de ser distribuído em uma forma modificada apenas se a licença permitir a distribuição de arquivos patch (de atualização) com o código fonte para o propósito de modificar o programa no momento de sua construção. A licença deve explicitamente permitir a distribuição do programa construído a partir do código fonte modificado. Contudo, a licença pode ainda requerer que programas derivados tenham um nome ou número de versão diferentes do programa original.

Não discriminação contra pessoas ou grupos

A licença não pode ser discriminatória contra qualquer pessoa ou grupo de pessoas.

Não discriminação contra áreas de atuação

A licença não deve restringir qualquer pessoa de usar o programa em um ramo específico de atuação.

Por exemplo, ela não deve proibir que o programa seja usado em um empresa, ou de ser usado para pesquisa genética.

Distribuição da Licença

Os direitos associados ao programa devem ser aplicáveis para todos aqueles cujo o programa é redistribuído, sem a necessidade da execução de uma licença adicional para estas partes.

Licença não específica a um produto

Os direitos associados ao programa não devem depender que o programa seja parte de uma distribuição específica de programas. Se o programa é extraído desta distribuição e usado ou distribuído dentro dos termos da licença do programa, todas as partes para quem o programa é redistribuído devem ter os mesmos direitos que aqueles que são garantidos em conjunção com a distribuição de programas original.

Licença não restrinja outros programas

A licença não pode colocar restrições em outros programas que são distribuídos juntos com o programa licenciado. Isto é, a licença não pode especificar que todos os programas distribuídos na mesma mídia de armazenamento sejam programas de código aberto.

Licença neutra em relação a tecnologia

Nenhuma cláusula da licença pode estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa.

Proposta da Fundação Livre

Fundada em 1985 a Free Software Foundation é uma organização para promover mundialmente a liberdade do usuário de computador e para defender os direitos de todos os usuários de software livre.

Como a nossa sociedade se torna mais dependente de computadores, o software que corremos é de fundamental importância para assegurar o futuro de uma sociedade livre. O software livre é sobre ter controle sobre a tecnologia que usamos em nossas casas, escolas e empresas, onde os computadores trabalham para o nosso benefício individual e comunitária, e não para empresas de software proprietário ou governos que pretendam restringir e monitorar nós.

O apoio mais importante que você pode dar para o software livre é usar software livre no seu próprio computador e defensor dentro de sua empresa ou comunidade para que outros possam adotá-lo.

https://www.fsf.org/