Bootstrap 3.3.5

Este livro tem por objetivo fornecer aos profissionais envolvidos com o desen-volvimento para a web os conceitos fundamentais e as técnicas de programaçãonecessárias ao desenvolvimento de interfaces responsivas com uso do frameworkBootstrap.

bootstrap-3-3-5

Para quem foi escrito este livro

Este livro foi escrito para aquelas pessoas envolvidas na criação de sites tanto naárea de design quanto na de desenvolvimento e programação, que desejam usarum framework mundialmente consagrado para criar interfaces usáveis e acessíveisem qualquer dispositivo, independentemente de suas características, isto é, quese adaptem às mais variadas resoluções de tela.O objetivo do livro é fornecer informações detalhadas dos componentes do fra-mework Bootstrap, estudando seus princípios e detalhando as funcionalidadesprevistas não somente pelo core (coração) do framework como também por cadaum dos seus componentes. Explicações teóricas em linguagem corrente e clara,dispensando, sempre que possível, o jargão técnico avançado são acompanhadasde exemplos práticos explicados passo a passo e complementados por arquivoHTML para consulta.Para tirar o máximo proveito dos ensinamentos contidos em cada capítulo é pré--requisito um razoável conhecimento de marcação HTML e das CSS e da criaçãode folhas de estilo. É desejável que o leitor tenha conhecimentos necessários paracriar, com uso daquelas duas tecnologias, um layout simples de duas colunas.Os conceitos e o entendimento das técnicas de desenvolvimento de interfacesresponsivas são poderosas ferramentas de apoio na criação de sites mais aces-síveis, enriquecendo a experiência do usuário. Profissionais da área de design,amiliarizados com as técnicas aqui descritas, contarão com uma valiosa fontede conhecimento e conceitos a empregar no planejamento das funcionalidadespara incrementar suas criações, tornando-as universais.

LINK PARA DOWNLOAD: Clique Aqui

Senha: BOOTSTRAP

APLICAÇÕES MOBILE COMCORDOVA E PHONEGAP

Ao pensar em construir aplicativos mobile, é importante pensarem quais plataformas atacar. Android domina o mundo dos smartphones no mundo e, principalmente, no Brasil. iOS é bastante usado, ainda mais nas classes sociais mais altas, o que rende usuários de maior poder aquisitivo. Windows Phone é uma boa terceira opção, em franco crescimento. E há ainda BlackBerry, Tizene outros.Como desenvolver aplicativos para esse mundo mobile diverso?As plataformas nativamente oferecem a possibilidade de criar aplicativos. Usando o Android SDK e a linguagem Java, podemos desenvolver para o sistema do Google. A Apple oferece ferramentas para iOS e permite usar Objective-C ou Swift. No Windows Phone,usamos C# e toda suíte de desenvolvimento Microsoft. Cada plataforma tem sua combinação de linguagem e, principalmente,APIs específicas.A maior parte das plataformas permite usar C++,essencialmente pensando em jogos. Porém, as APIs e as bibliotecas,mudam bastante. Mesmo usando uma linguagem comum, é muito difícil escrever aplicações nativas multiplataforma.É um problema que não existe na Web. Uma página web bem construída, usando os padrões, é multiplataforma e suporta todos  esses cenários com um só código. HTML, CSS e JavaScript são linguagens padronizadas com APIs padronizadas que funcionam em todo lugar. Mas, não são uma App. Não são instaláveis, não se integram aos recursos avançados de hardware, não expõe recursos dos SDKs nativos. Muitas vezes, é o suficiente, mas e se precisamos de uma App?

 

aplicacoes-mobile-com-cordova-e-phonegap

LINK PARA DOWNLOAD: Clique Aqui

 

AZURE – Coloque suas Plataformas e Serviços no cloud

A quem se destina este livro?

Este livro é destinado principalmente aos desenvolvedores familiarizados com a plataforma .NET e aos que querem aprender autilizar a plataforma de computação em nuvem Microsoft Azure.Não se preocupe caso você ainda não tenha muita experiência, isso se adquire com prática e, com algum tempo de estudo, você já conseguirá publicar seus aplicativos web no Azure e usufruir dos serviços integrados que ele oferece.Os códigos foram escritos em C# utilizando a versão 2.5 doSDK. Programadores Java, PHP, Node.js, Python e Ruby poderão usufruir destes exemplos, dado que todas essas linguagens possuem SDK para Azure, disponível gratuitamente para download em

Azure-Coloque-Suas-Plataformas-E-Servicos-No-Cloud
LINK PARA DOWNLOAD: Clique Aqui
Senha: AZURE

JQUERY – Desenvolva Interfaces para Múltiplos Dispositivos

Esta obra tem como objetivo abordar o uso da biblioteca jQuery Mobile, que é amplamente utilizada para o desenvolvimento de websites que são visualizados em um dispositivo móvel, geralmente um celular ou tablet. Apesar de termos ferramentas para o
desenvolvimento nativo, como Android e iOs, existem sites e sistemas que devem ser visualizados no browser, e este livro aborda esse processo como criar sistemas para serem exibidos no navegador.
Como biblioteca escolhemos o jQuery Mobile que possui recursos suficientes para a criação de sistemas, além de ser mantido pela mesma equipe que contribuiu com um dos maiores avanços na web nos dias de hoje, que é o jQuery.
O livro possui como principal público-alvo os desenvolvedores que desejam criar websites e aplicações para dispositivos mobile, utilizando as linguagens HTML e JavaScript para o desenvolvimento.
Como pré-requisitos, o leitor deve conhecer um pouco de HTML, CSS e JavaScript. Alguns programas também serão utilizados ao longo desta obra, como o Node e o npm, então é
necessário que você tenha um pouco de conhecimento no console do Windows/Linux/Mac.

jquery-desenvolva-telas

LINK PARA DOWNLOAD: Clique aqui

Senha: JQUERY

Inteligência Artificial – Stuart Russell, Peter Norvig; tradução Regina Célia Simille.

A inteligência artificial (IA) é um grande campo, e este é um grande livro. Tentamos explorar toda a extensão do assunto, que abrange lógica, probabilidade e matemática do contínuo, além de percepção, raciocínio, aprendizado, ação e, ainda, tudo o que se refere à eletrônica, desde dispositivos microeletrônicos até robôs para exploração planetária. O livro também é grande porque nos aprofundamos na apresentação de resultados. O subtítulo deste livro é “Uma Abordagem Moderna”. O significado pretendido dessa frase um tanto vazia é que tentamos sintetizar o que hoje é conhecido numa estrutura comum, em vez de tentarmos explicar cada subcampo da IA em seu próprio contexto histórico. Pedimos desculpas àqueles que trabalham em subcampos, que, como resultado, receberam menos reconhecimento do que deveriam.

inteligencia-artificial-3-edicao

Novidades desta edição

Esta edição capturou as mudanças em IA que tiveram lugar desde a última edição em 2003. Houve aplicações importantes de tecnologia de IA, tais como a implantação generalizada da prática de reconhecimento de fala, tradução automática, veículos autônomos e robótica de uso doméstico. Houve marcos em algoritmos, como a solução do jogo de damas, e um significativo progresso teórico, particularmente em áreas como a do raciocínio probabilístico, aprendizado de máquina e visão computacional. Mais importante, do nosso ponto de vista, é a evolução contínua na maneira como pensamos sobre essa área e, dessa forma, como organizamos este livro. As principais mudanças foram as seguintes: • Colocamos mais ênfase em ambientes parcialmente observáveis e não determinísticos, especialmente nas configurações não probabilísticas de pesquisa e planejamento. Os conceitos de estado de crença (um conjunto de mundos possíveis) e estimação de estado (manutenção do estado de crença) foram introduzidos nesta versão; mais adiante, adicionamos probabilidades. • Além de discutir os tipos de ambientes e tipos de agentes, agora cobrimos com mais profundidade os tipos de representações que um agente pode utilizar. Distinguimos entre representações atômicas (em que cada estado do mundo é tratado como uma caixa-preta), representações fatoradas (em que um estado é um conjunto de atributos/pares de valor) e representações estruturadas (em que o mundo consiste em objetos e relações entre eles). • Nossa cobertura do planejamento aprofundou-se sobre o planejamento contingente em ambientes parcialmente observáveis, incluindo uma nova abordagem para o planejamento hierárquico. • Adicionamos um novo material de modelos probabilísticos de primeira ordem, incluindo modelos de universo aberto para casos de incerteza quanto à existência de objetos. • Reescrevemos totalmente o capítulo introdutório de aprendizado de máquina, salientando uma variedade ampla de aprendizagem mais moderna de algoritmos, colocando-os em um patamar teórico mais consistente. • Expandimos a cobertura de pesquisa na Web e de extração de informações e de técnicas de aprendizado a partir de conjuntos de dados muito grandes. • 20% das citações desta edição são de trabalhos publicados depois de 2003. • Estimamos que 20% do material é novo. Os 80% restantes refletem trabalhos mais antigos, mas foram amplamente reescritos para apresentar uma imagem mais unificada da área.

LINK PARA O LIVRO: CLIQUE AQUI.

Senha: TURING

Regras de Segurança – Kite Surf

Assim como em um trânsito, o mar exige um série de regras de navegação para que seu velejo seja tranquilo

O kitesurf é um esporte aquático, que envolve velejar e navegar uma prancha em alta velocidade, além de ter que se preocupar com a força constante que o kite desenvolve. Como dividimos a água com banhistas e marujos, é fundamental saber as regras de preferência, sendo que a mais importante é o BOM SENSO.

Como pode-se notar nas ilustrações abaixo, geralmente quem tem melhor ângulo de visão dá a preferência ao velejador que tem mais dificuldade de perceber a aproximação do outro kitesurfista. Por isso, fique sempre atento aos movimentos do outro kitesurfista e lembre-se que ele pode não saber que você está atrás ou se aproximando.

Usar a lógica também é importante:

– Se vocês estão se aproximando da praia, provavelmente o kitesurfista que está à sua frente irá fazer uma transição e se voltará contra você. Dê meia volta antes que ele o faça.

– Esteja sempre atento a tudo que esteja à sua volta. Lanchas, jet skis e windsurfistas podem se aproximar muito rapidamente e pegá-lo de surpresa.

– Ao saltar, lembre-se que você irá arribar muito. Só salte se você tiver uma grande área livre à sua frente. Isso vale também para qualquer manobra, pois se você cometer um erro, poderá ser arrastado para a frente da rota de outro velejador.

Cuidado: Muitos kitesurfistas desconhecem essas regras e podem ir para cima de você. Por isso é sempre bom estar atento e pronto para desviar ou voltar na direção contrária, de preferência com bastante antecedência. Evitar acidentes é obrigação de todos, tendo ou não a preferência de velejo. Além disso, existem muitos kitesurfistas iniciantes que se apavoram nessas situações e perdem o controle do kite e da prancha.

Regras em relação a outras embarcações e esportistas:

As regras da Capitania dos Portos são simples. Toda embarcação com mais manobrabilidade deve se desviar de embarcações com menos facilidade para manobrar. Ou seja: um kitesurfista é obrigado a se desviar de quase tudo, exceto lanchas e jet skis, que não dependem de vento para manobrar e são mais ágeis. Porém sair do caminho deles é bastante recomendável para sua saúde, independente de quem tiver a preferência. Na dúvida, faça meia-volta ou desvie deixando bem claro o trajeto que você está tomando. Mais vale perder a orça que a vida.

Com relação a surfistas, banhistas e nadadores, não há dúvida: o kitesurfista deve sempre evitar qualquer contato procurando manter uma distância segura deles. E lembre-se que acidentes podem resultar na proibição da prática de kite no seu point e o prejudicado será você.

1 Quem tem a mão direita na frente (A), no sentido do velejo, tem a preferência. Nesse caso, o velejador que tiver a mão esquerda à frente (B) deverá arribar (descer no sentido do vento) e abaixar seu kite, enquanto que o que tem a preferência (A) continuará no seu trajeto e deverá levantar seu kite.

2  Quem estiver entrando na água (B) tem a preferência sobre quem estiver saindo ou indo no sentido da praia (A) independente da mão que estiver na frente. Nesse caso, o velejador (A) deverá arribar e abaixar seu kite e o (B) manterá seu caminho e subirá seu kite.
Esta regra, também válida para o windsurf, é devida à dificuldade maior do atleta que está passando a arrebentação, ficando com capacidade de manobra mais restrita.
Na proximidade da costa, a Regra 2 prevalece sobre a Regra 1.

3 Nas ultrapassagens, o velejador que estiver ultrapassando deve arribar e abaixar seu kite, passando na frente do velejador a ser ultrapassado, que deverá levantar seu kite.

4 Se os dois estiverem indo na mesma direção, o que estiver a sotavento (B) tem a preferência de passagem sobre quem estiver a barlavento (A).

por Nilton Felipe Postado em Esportes

Edição 255 – O TEF, a NFC-e e o SAT

Olá Partner Bematech e Desenvolvedor de Software,

Muitas dúvidas surgiram no mercado com as mudanças que o varejo sofreu em relação as obrigatoriedades fiscais no ponto-de-venda. Com o decorrer do tempo, muitas foram sanadas com o mercado conseguindo absorver e se adaptar a elas. No entanto, tenho percebido que algumas dúvidas ainda perduram entre os desenvolvedores – Como fica o TEF sem o ECF?

Com as obrigatoriedades da NFC-e na maioria dos Estados brasileiros e o equipamento SAT no Estado de São Paulo, muitas aplicações comerciais passaram por adaptações, algumas nem tanto e outras drasticamente. Regras de negócio foram modificadas em função da saída do ECF do ponto-de-venda, e outras novas foram implementadas com a entrada da NFC-e e o SAT.

Acompanhando estas adaptações temos o TEF, que também precisou de um novo controle e de novas rotinas de impressão das transações, sendo realizadas agora em uma impressora comum de recibos – conhecida entre nós como “impressora não fiscal“.

Aí você me pergunta: “Como fica todo aquele tratamento que o roteiro de integração do TEF exigia?

Os Estados que continuam obrigando o uso do ECF no ponto-de-venda mantêm o TEF da mesma maneira, ou seja, o mesmo roteiro de integração do TEF com o ECF já conhecido por todos nós.

Para a NFC-e e o SAT foi disponibilizada pelas TEF Houses um novo roteiro de integração, muito mais simples e rápido. 

E você sabia que o TEF nunca dependeu do ECF para funcionar?

Simplesmente, o TEF funciona sem relacionamento algum com qualquer tecnologia fiscal. O ECF foi apenas o complemento para a impressão das transações realizadas devido a sua obrigatoriedade, gerando assim um roteiro de integração vinculando a impressão do TEF.

Nesta edição de nosso BSP News, quero compartilhar com você nosso Partner e desenvolvedor de software, algumas dicas para integrar o TEF e a NFC-e/SAT com impressora de recibos.

Vamos lá!

As TEF Houses disponibilizam uma nova documentação que orienta o desenvolvedor na integração de sua aplicação comercial com o TEF, visando as operações com NFC-e e SAT.

Uma das operações que sofreu adaptação foi a impressão do comprovante do TEF.

Vamos relembrar um pouco como era no ECF:

A aplicação comercial, após concluir a venda do cupom fiscal, abria um comprovante de crédito e débito (o famoso “CCD”) e imprimia todo o conteúdo do TEF nele.

Se houvesse um erro de comunicação durante a impressão do TEF, era exibida uma mensagem ao(a) operador(a) do caixa perguntando se desejava reimprimir. Caso a resposta fosse “SIM”, a aplicação comercial encerrava o comprovante de crédito e débito e abria o relatório gerencial para realizar a reimpressão.

Se houvesse uma queda de energia durante a impressão do TEF, onde todo o PDV era desligado, ao retornar, a aplicação comercial era obrigada a não confirmar a transação pendente.

Lembra disso? 😉

As verificações de queda de energia e de erros de comunicação durante a impressão do TEF ainda se mantêm para o uso com NFC-e/SAT e a impressora de recibos.

É possível testar o erro de comunicação fazendo uma leitura de status da impressora (para os modelos MP-4200 TH e MP-100S TH, disponibilizamos via dll MP2032/MP2064 funções para isso).

Para estas verificações, o novo roteiro do TEF pede para que seja exibida uma mensagem ao(a) operador(a) do caixa: “O cupom TEF foi impresso corretamente?“.

Se a impressão ocorrer corretamente, ao responder “SIM”, a aplicação comercial deve confirmar a transação TEF, liberando o PDV para a próxima venda.

Se a impressão não ocorrer corretamente, o(a) operador(a) do caixa tem ainda mais duas opções a escolher, sendo “NÃO” para que a aplicação comercial não confirme a transação TEF exibindo a mensagem “Última transação foi cancelada. Favor reter o cupom.” ou “REIMPRIME” para que a aplicação comercial possa realizar novamente a impressão do TEF, voltando ao fluxo da primeira mensagem ao(a) operador(a) do caixa.

No caso da não confirmação do TEF, a dica é exibir uma nova mensagem ao(a) operador(a) do caixa, alertando que a transação TEF será cancelada, como por exemplo “Tem certeza que quer cancelar a transação TEF“, solicitando a senha do supervisor ou gerente do estabelecimento, caso a resposta seja SIM. 

Na queda de energia, onde todo o PDV desliga, ao retornar, a aplicação comercial deve verificar que há uma transação pendente de confirmação e realizar a confirmação da mesma, reimprimindo a transação TEF.

Perceba que já houveram mudanças em relação ao roteiro utilizado no ECF.

Uma outra mudança que ocorreu foi no encerramento do cupom fiscal, onde a transação do TEF era realizada antes do pagamento do cupom, pois era a maneira de garantir que o pagamento em Cartão fosse realmente efetivado, caso contrário, era possível escolher outro meio de pagamento. Lembrando que tudo isso era impresso concomitantemente no ECF, ou seja: se abria o cupom fiscal, imprimia os itens, totalizava o cupom, realiza a transação TEF, imprimia a forma de pagamento e fechava o cupom fiscal.

Com o novo roteiro de implementação do TEF e também com o uso da NFC-e e SAT, toda esta concomitância deixou de existir, pois agora as informações com as vendas são registradas em um arquivo .xml, assinado e enviado para a SEFAZ (no caso da NFC-e) ou enviado para o equipamento SAT. A transação do TEF ainda pode ser realizada antes do encerramento do cupom da venda, garantindo assim que a mesma tenha sucesso.

E, somente depois do retorno com a autorização da venda, o DANFE NFC-e ou CF-e do SAT pode ser impresso na impressora de recibos, juntamente com o comprovante da transação do TEF.

A Bematech disponibiliza ferramentas e soluções que auxiliam nossos Partners e desenvolvedores de software na melhor integração da NFC-e, SAT e TEF.

Fica aqui meu convite para que venha conhecer e ganhar mais com as nossas Soluções Fiscais e Soluções de TEF Bematech.

Aguardo o seu contato!

Um forte abraço e ótimos negócios,

André Munhoz
andre.munhoz@bematech.com.br
Programa Bematech Software Partners

ECF, NFC-e, SAT, Impressora de Recibos, MP-4200 TH, MP-100S TH

Fonte http://partners.bematech.com.br/bemacast/Paginas/post.aspx?title=edicao-255—o-tef,-a-nfc-e-e-o-sat&idPost=6257

Outros links:

Downloads

http://partners.bematech.com.br/suporte-e-recursos/downloads

 

 

 

 

 

Alteração Leiaute da Nota Fiscal Eletrônica (NF-e) – Nota Técnica 2016.002

Foi publicada a Nota Técnica 2016.002 que altera o leiaute da Nota Fiscal Eletrônica (NF-e), necessárias para migração da versão “3.10” para a versão “4.00”.

As principais mudanças relacionadas com o leiaute da NF-e são:

a) retirado o campo indicador da “Forma de Pagamento” do grupo “Identificação da NF-e” e criada a opção “5” no “Indicador de Presença do Comprador no Estabelecimento Comercial no Momento da Operação” para informar “Operação presencial, fora do estabelecimento (venda ambulante)”;

b) incluída a opção “2=Nota Fiscal modelo 02” no campo “Modelo de Documento Fiscal”, que possibilitará referenciar este modelo de documento no grupo “Documentos Fiscais Referenciados”;

c) criado novo grupo “Rastreabilidade de produto” para permitir a rastreabilidade de qualquer produto sujeito a regulações sanitárias, casos de recolhimento/recall, além de defensivos agrícolas, produtos veterinários, odontológicos, medicamentos, bebidas, águas envasadas, embalagens, etc., a partir da indicação de informações de número de lote, data de fabricação/produção;

d) incluído o campo “Código de Produto ANVISA” para informar o número do registro do produto da Câmara de Regulação do Mercado de Medicamento (CMED) no grupo específico de “Medicamentos” e excluído os campos específicos de medicamento que passam a fazer parte do grupo “Rastreabilidade de Produto”;

e) incluídos os campos para os percentuais de mistura do GLP e a descrição do código ANP, e excluído o campo “Percentual de Gás Natural para o produto GLP” no grupo Combustível;

f) incluídos os campos para identificar o valor devido em decorrência do percentual de ICMS relativo ao Fundo de Combate à Pobreza (FCP) para operações internas ou interestaduais com substituição tributária, não atendidas pelos campos criados no Grupo de Tributação do ICMS para a UF de destino;

g) acrescentada a opção de informar o grupo de “Repasse do ICMS ST” nas operações com combustíveis quando informado CST 60 (ICMS cobrado anteriormente por substituição tributária);

h) incluído o campo no grupo “Total da NF-e” para informar o valor total do IPI no caso de devolução de mercadoria por estabelecimento não contribuinte desse imposto;

i) alterado o grupo “Informações do Transporte da NF-e” com a criação de novas modalidades de frete;

j) alterado o nome do grupo “Formas de Pagamento” para “Informações de Pagamento” com a inclusão do campo valor do troco. O preenchimento deste grupo passa a ser possível também para NF-e, modelo 55;

O prazo previsto para implementação das referidas mudanças é:

a) Ambiente de Homologação (ambiente de teste das empresas): a partir de 01.06.2017;

b) Ambiente de Produção: a partir de 01.08.2017.

Fonte: http://www.econeteditora.com.br/

EMENTA DO CURSO PREPARATÓRIO PARA CERTIFICAÇÃO ITIL

Este curso oferece uma visão geral sobre gerenciamento de serviços através de um conjunto de melhores práticas baseado no ITIL® que identifica o relacionamento das diversas atividades necessárias
para entrega dos serviços de TI. A dinâmica do curso prevê estudos de casos práticos, adaptados à realidade brasileira, onde são exercitados os processos de gestão de TI.

Público-alvo: Este curso beneficiará os profissionais de TI e executivos que são responsáveis pela prestação de serviços de TI.

Conteúdo Programático:
1- Apresentação novo conteúdo ITIL®
• Introdução
• Carreira e Certificação ITIL®.

2- Gerenciamento de Serviços como Prática
• Conceitos
• Ciclo de vida do Serviço
• Estrutura do Ciclo de Vida do Serviço
• Estratégia de Serviço
• Projeto de Serviço
• Transição de Serviço
• Operação de Serviço
• Melhoria Contínua de Serviço.

3 – Conceitos e Definições
• Utilidade e Garantia
• Recursos e Capacidades
• Portifólio de Serviços
• Papel da Governança
• Modelo de Serviço
• Pacote de Projeto de Serviço
• Sistema de Gerenciamento do Conhecimento do Serviço
• Sistema de Gerenciamento de Configuração
• Biblioteca Definitiva de Mídia
• Evento
• O Papel da Comunicação na Operação do Serviço

4- Princípios Chaves e Modelos
• Criação de Valor
• Aspectos do Projeto de Serviços
• Modelos de Entrega de Serviço
• Modelo V
• Balanceamento de Conflitos
• Modelo PDCA
• Melhoria Contínua de Serviço
• Importância da Medição

5- Processos
• Estratégia de Serviços
• Gerenciamento do Portifólio de Serviços
• Gerenciamento da Demanda
• Projeto de Serviço
• Gerenciamento do Catálogo de Serviço
• Gerenciamento da Segurança da Informação
• Gerenciamento de Fornecedores
• Transição do Serviço
• Gerenciamento de Mudanças
• Gerenciamento da Liberação e Distribuição
• Gerenciamento de Eventos
• Execução de Requisição
• Gerenciamento de Acesso
• Melhoria Contínua do Serviço
• Gerenciamento de Ativos de Serviços e Configuração
• Gerenciamento de Incidentes
• Central de Serviços
• Gerenciamento da Capacidade
• Gerenciamento de Disponibilidade
• Gerenciamento de Continuidade dos Serviços de TI
• Gerenciamento Financeiro dos Serviços de TI
• Gerenciamento de Nível de Serviço
• Gerenciamento Técnico
• Gerenciamento de Operações de TI
• Gerenciamento de Aplicação

6 – Simulados

POR QUE AS INÚMERAS IDEIAS DE INOVAÇÃO NA EDUCAÇÃO NÃO ENCONTRAM O SEU FIM PRÁTICO?

Por: GERALDO HOULY LELIS DE FREITAS

RESUMO: Este artigo discute as dificuldades e os entraves que as propostas inovadoras de educação enfrentam para se consolidar na prática pedagógica, a exemplo da doutrina construtivista. Priorizam-se as discussões acerca da política e da gestão da educação atual a partir de uma análise crítica de seu processo histórico e de sua dependência com relação às diretrizes da reprodução do sistema capitalista. O problema não está nas ideias e nem nos esforços para a constante e sempre inacabada tarefa de promover a melhoria da educação, mas nas condições objetivas desfavoráveis para a realização em curto prazo, restando para a maioria, à tentativa frustrada de reconciliação ou de reformas com o sistema de educação nacional.

Inicialmente, com maior força na Europa ocidental do final do século XIX, as influências da ciência positivista na educação institucional são percebidas principalmente pelo empenho atual dos profissionais da educação em negar ou questionar a efetividade desse modelo para a prática pedagógica atual. Essa corrente “antipositivista” conquistou inúmeros adeptos em meados do século XX com as sanguinárias guerras mundiais e uma onda de críticas ao ideal positivista do progresso. Quando debruçada sobre as perspectivas teóricas e as doutrinas do campo pedagógico: behaviorista, psicométrico ou docimológico, cognitivista, histórico-social e construtivista, Fátima Maria Leite Cruz (2010), em Avaliação das aprendizagens, analisou os rastros do paradigma positivista que defende a partir da compreensão da existência de leis naturais que, independentemente da ação humana, existem e explicam determinados processos de aprendizagem sem levar em conta a complexidade da produção de saberes humano, ainda estão em evidência na prática pedagógica atual. Fátima Maria Leite Cruz (2010) destaca a doutrina construtivista como a melhor possibilidade de superar essa armadilha da mecanicidade do aprendizado pregado pelo positivismo em sua lógica científica deficiente, excludente e seletiva.

A abordagem positivista para a educação atual já não atende mais nem as expectativas dos alunos e nem dos professores, porque não dizer da própria sociedade do século XXI. Por que então ela ainda predomina nas escolas? Selva Guimarães Fonseca (2003) entende que a escolha deste modelo no caso do ensino de história está associada aos interesses da formação do Estado brasileiro no século XIX. A passagem para o século XX demonstrou progressos e regressos para o sistema de educação nacional. Desde as intervenções governamentais em período de exceção como foi o Golpe Militar de 1964 com a imposição de determinados interesses para o ensino da história às pressões populares para as reformas do ensino durante a redemocratização do país no qual sucedeu a criação da LDB que assegurou medidas importantes para melhorar a qualidade da educação do país. A tentativa de impor limitações para as ciências humanas nas escolas pela vontade do Conselho de Segurança Nacional em controlar e reprimir as opiniões contrárias à ditadura militar é um exemplo claro para a compreensão da educação como antes de tudo um campo político conflituoso. Juan Manuel Álvarez Méndez explica os problemas relacionados a essa lógica não inclusiva do modelo clássico na educação. Para o Juan Manuel Álvarez Méndez, “um dos problemas apresentados pelo modelo da racionalidade técnica ao ser aplicado à avaliação é que exige que o professor transfira o conhecimento a respostas precisas e inequívocas. Nele, a aprendizagem é algo que se pode medir, manipular e, inclusive, prever. Os testes, que adotam a forma de provas objetivas de apresentação distinta, desempenham um papel relevante nesse raciocínio. Os usos que foram feitos deles transcenderam os valores educativos para derivar em sutis, porém potentes, instrumentos para exclusão e a marginalização” (MÉNDEZ, 2002, p. 32). O objetivo da escolha positivista das avaliações pelo professor, ou mesmo na prática do ensino não se limita a clivagem daqueles que aprenderam (nota igual ou superior a média esperada) e dos que não aprenderam, mas também incorpora juízos de valor aos estudantes que vai além do espaço escolar, uma vez que alcança a percepção da família e de todos os que com o aluno ou com a escola interagem. É possível perceber que esse paradigma de ensino criou e enquadrou os alunos em um sistema de identidades homogêneas e distantes próprias do campo cultural na educação. O que representa um aluno nota 10 e um aluno nota 7? Um aluno disciplinado e um indisciplinado?

AS RAÍZES HISTÓRICAS DA ESCOLA INSTITUCIONAL

A história do construtivismo no Brasil registra a sua “chegada” (para não dizer origem) na década de 1980, de lá pra cá, o sistema de educação institucional ainda persiste com práticas pedagógicas não inclusivas e “meritocráticas” do modelo positivista. Quais os principais entraves que dificultam os avanços para o engajamento da educação com as necessidades da sociedade atual? A configuração das instituições de ensino como se apresenta material e imaterialmente, ainda é, em parte, uma apropriação do que foi inventado no século XVI. Naquele contexto histórico, as escolas eclesiásticas serviram para atender as necessidades da Igreja póstridentina de propor um modo eficaz de ensinar as crianças desde cedo à doutrina católica, em contrapartida, evitar o avanço das crenças protestantes. Na obra Vigiar e punir, Michel Foucault (1987) percebeu que a prática escolar pretendida pelos discursos iluministas do progresso não se concretizou após a Revolução Francesa e a consolidação na França do Estado laico, pelo contrário, o espaço escolar e a lógica de ensino ainda reproduziam o paradigma clerical, sendo aos poucos ressignificados aos moldes do sistema capitalista. Os discursos progressistas da época não alcançaram o êxito esperado na transformação da vida escolar dos europeus. Hoje, as teorias pedagógicas influenciadas pelo pós-modernismo também estão ameaçadas de não saírem do papel. A escola não goza mais do poder de monopolizar os “espaços de saberes” tal como pretendia as primeiras universidades católicas do século XII, nem de posicionar-se como “o lugar da verdade” tal como almejavam os iluministas do final do século XVIII. A escola do século XXI, compreende José Carlos Libâneo, “tem concorrentes poderosos, inclusive que pretendem substituir suas funções, como as mídias, os computadores e até propostas que querem fazer dela meramente um lugar de convivência social” (LIBÂNEO, 2007, p. 24). A escola tem futuro? Eis o título da obra organizada por Marisa Vorraber Costa. Não é novidade que a educação na história do Brasil, quando foi tratada, privilegiou as elites ricas. Enquanto colônia, não havia sentido para a coroa portuguesa investir na educação daqueles que só tinham serventia para a exploração do trabalho. Além disso, um regime de escravidão desumano e violento no qual os negros não tinham nem sequer direito sobre si mesmo completava a total falta de interesse na questão. Os que almejavam “os tesouros” da educação tinham de investir altas somas de recursos para pagar todos os custos de vida na Europa, pelo menos, até os primeiros decretos para a construção de escolas de ensino superior, possível naquele momento com a residência da coroa portuguesa no Rio de Janeiro em 1808. A Constituição de 1824 apenas corroborava essa distinção social e a preocupação legal cabia apenas investimentos a formação de médicos, bacharéis de direito e militares. Influenciado pelos ideais liberais, o direito à educação tornava-se uma busca pessoal e particular do indivíduo no qual o Estado pouco deveria intrometer-se sob-risco de provocar desequilíbrios e crises sociais. Para os partidários do liberalismo, o direito à educação tinha tudo a ver com o mercado de trabalho; para os conservadores, o ensino deveria privilegiar a moral e a ordem, a escola serviria para “regenerar ou higienizar o indivíduo”, formá-lo para a convivência social. Os esforços ainda no Brasil imperial de promover a instrução primária esbarravam na dura realidade da exploração do trabalho infantil. A criança na escola significava prejuízos com a produção. E quem arcaria com os prejuízos de crianças e de jovens desprovidos de educação? Como bem demonstrou Maria Cristina Teixeira (2008) em O direito à educação nas constituições brasileiras, em sessenta e quatro anos o Brasil promulgou sete constituições, no que tange à educação, todo esse período foi marcado por avanços e regressos de políticas conciliatórias com a dinâmica do capital, ou seja, conquistas de “vinte anos” se perderam em alguns meses, como foi o caso da Constituição de 1967 que desobrigava as esferas públicas da alocação de recursos mínimos ao sistema de educação. Cabe ressaltar que a aprovação de leis (especialmente as mais progressistas) não significou necessariamente a sua aplicação e obediência na prática. Além disso, as esferas municipais, estaduais e federais “alternaram” (não sucessivamente) em sua competência na gestão de políticas educacionais o que prejudicava o andamento de projetos e de programas que ora era competência das Câmaras Municipais (1828), ora das Assembleias das Províncias (1834), ora do Poder Legislativo (1934), ora da União (1946), em seguida complementada por empresas comerciais, industriais e agrícolas (1967).

A ESCOLA ESTÁ PARA A SOCIEDADE, ASSIM COMO A SOCIEDADE ESTÁ PARA A ESCOLA

O trabalho O sujeito e a relação com o saber de Bernard Charlot (2003) ao questionar as teses de ciências sociais (sociedade) e de psicologia (indivíduo) dirigidas à educação apresenta uma importante sugestão de como as relações entre a escola, o meio social e o sujeito devem ser vistos, não mais de forma isolada ou dicotômica, e sim, imbricadas. Qual o sentido para o aluno de frequentar a escola nos tempos atuais? A falta de autoridade e autonomia dos professores de um lado e a indisciplina dos alunos do outro revela parte da indisposição do sistema de educação? Seriam os alunos mais “adaptados” a vida escolar aqueles que obedecem às regras sem questioná-las e conseguem reproduzir de forma impecável aquilo que lhes foi ensinado? O que faz o aluno ter prazer em ir para a escola e aprender? O espaço escolar atual não se restringe mais ao ponto de vista de políticos, de gestores ou de professores, os alunos e a comunidade não podem ser excluídos desse processo sempre inacabado de construção do sistema de educação. A escola com alunos, carteiras e quadro; professor sob a responsabilidade ao mesmo tempo de ensinar e de supervisionar a disciplina de dezenas de discentes, numa relação predominantemente assimétrica, reproduz ainda em sua dinâmica de valores uma cultura completamente desarticulada com as necessidades atuais. A escola não mais se restringe ao caráter habitual no qual foi relegada por séculos. As inovações tecnológicas aceleradas propiciam aos alunos diferentes formas de interação e constantes oportunidades de aprendizagem que transcendem a sala de aula. O espaço escolar passa a ter um significado diferente do que um dia já foi e que agora precisa ser para atender ao seu papel social. Para Alice Miriam Happ Botler, Melania Santos de Lima e Wiviane Alves Dias em Gestão Democrática: Implicações da Participação da comunidade para a Melhoria da Organização da Escola a lacuna ou o gap existente entre a autonomia democrática garantida pela Constituição da República Federativa de 1988 e a efetiva participação dos intervenientes na gestão das escolas ainda é profunda, distante do ideal democrático. Explicam os autores, “o objetivo é construir uma verdadeira educação com o máximo de contribuição e participação dos membros da comunidade, o que nos leva a perceber que uma gestão de qualidade implica em um trabalho coletivo. Então, toda ação planejada pela escola deverá ser pensada de modo que todos os envolvidos na comunidade escolar juntamente com a comunidade extraescolar devam se envolver para tornar o serviço ofertado pela escola suficiente e satisfatório a todos os membros envolvidos no processo” (BOTLER; LIMA; DIAS, 2012, p. 6). Logo, não se trata apenas de convocar a comunidade e recolher as “doações”, é preciso criar um elo de permanente compromisso e de participação e isso não depende apenas de uma predisposição de ordem legal, mas de uma política e gestão engajadas na delegação de poderes, ainda mais, no compartilhamento deles junto aos processos decisórios da escola. A lei por si só não assegura o processo democrático nas escolas. Com base na teoria da reciprocidade do cientista social Marcel Mauss no qual um “pacto social” se estabelece acordado entre dois grupos por uma conexão de trocas/intercâmbios materiais (de caráter não mercantil e utilitarista) chamado de dons/dádiva. Marcel Mauss não está dizendo que essas comunidades também não faziam trocas comerciais, porém o seu objeto é exatamente as trocas materiais (e espirituais) não comerciais. Sendo assim, a natureza central da reciprocidade está associada com o significado simbólico da tríplice obrigação de “dar, receber e retribuir” estabelecida entre sujeitos por uma sequência de dons/dádivas indissociáveis de suas relações humanas. Logo, trata-se de um modelo complexo de interação que permeia cada aspecto da vida social pela geração de amplos valores de vinculação e pertencimento. A esse respeito, Alexandre Simão de Freitas explica: “Nas sociedades modernas, o conceito de equivalência e a separação das esferas pública e privada veio a subsumir uma formalização adequada do caráter vinculatório que o princípio da reciprocidade enuncia” (FREITAS, 2011, p. 68-9). Nesse sentido, a contribuição de Alexandre Simão de Freitas é fundamental para compreender que, na ótica da teoria da reciprocidade, princípios e valores da prática coletiva antes incorporada como formas inquestionáveis de cooperação mútua passaram agora a ser necessariamente mediados pelo Estado como representação máxima do poder público. Portanto, o Estado seria esse elemento “neutro e mediador” no qual se procura garantir “democraticamente” (ou não) as condições de cooperação social através da garantia jurídica de direitos. Isso significa que as pessoas não mais possuem as experiências de uma cooperação social vinculada com o sentimento de pertencimento a comunidade, elas são concebidas numa sociedade alheia deste processo cultural, por isso a necessidade e a dependência para com o Estado. Este, entendido ampla e equivocadamente como a instituição reguladora e protetora do “bem comum”. Em O papel do professor (a) na consolidação da gestão democrática na rede municipal do Recife de Maria do Socorro Vitor, Vânia Claudia Barbosa Wanderley, Alice Botler e Ana Lúcia Borba (2005) investigam a contribuição dos diretores, vice-diretores, coordenadores e professores na gestão escolar de um colégio pertencente à Rede Municipal de Ensino da Cidade do Recife, a Escola Municipal de Iputinga fundada em dezembro de 1988, logo “nascida” sob as diretrizes da gestão democrática garantidas pela constituição. A conclusão do artigo é muito significante porque destaca não só a importância da atuação dos atores sociais que compõem o espaço escolar (inclusive a comunidade), mas também a relação entre o comprometimento desses indivíduos quando inseridos nas instâncias de poder com certa autonomia e com espaço permanente para as suas opiniões.

A ARMADILHA DA ADMINISTRAÇÃO CIENTIFICISTA E A INCOERÊNCIA NOS VALORES DA EDUCAÇÃO

Os pressupostos acerca dos problemas da falta de comprometimento e do descaso dos intervenientes com o sistema de educação não se explica apenas observando as aparências das relações diárias dentro da dinâmica do funcionamento de uma escola. Sem compreender os processos históricos que constituem os discursos políticos hegemônicos e as relações de poder e os antagonismos de classes no qual influenciam diretamente as políticas, a gestão e a prática escolar, o pesquisador metafísico se desviará da história e associará os problemas encontrados com o campo cultural pela impossibilidade de comprovar suas hipóteses diante das condições materiais. Em Planejamento educacional e a “modernização” da gestão educacional em Pernambuco, Ana Lúcia Arruda (2013) demonstra as políticas do Estado de Pernambuco no governo de Eduardo Campos para o planejamento estratégico da educação através da execução de teorias da administração de empresas privadas como modelo de gestão das escolas, acompanhando um processo histórico mundial que relaciona o sentido da educação com metas e resultados a ser alcançados, isto é, com pouca ênfase nos meios e nos processos para alcançá- los. A autora aponta os mecanismos de controle que foram sendo efetivados gradualmente nas redes escolares aqui em Pernambuco, desde o PROGESTÃO em 2000 pela Secretária de Administração e Reforma de Pernambuco até a implantação da política de recompensas por resultados em 2007, que busca acima de tudo a produtividade e o desempenho máximo das escolas através da gestão de valores quantitativos comparáveis. A cultura da concorrência desenfreada entre as escolas públicas estaduais mediada por indicadores de produtividade propõe de certo modo a “sobrevivência dos mais fortes”, em outras palavras, daqueles que conseguem alcançar as metas, atender às “expectativas” do mercado. O incentivo a performatividade escolar é construído sob o modelo neoliberal, que prevê um Estado mínimo em suas responsabilidades sociais, uma vez que a “lógica de mercado” (automaticamente) forçará a média de qualidade e desempenho para cima. Os modelos cientificistas da administração de empresas ressignificados pela lógica neoliberal voltada estritamente para os resultados (números) e as “leis do mercado” são adotados pelo Estado e impostos através de políticas educacionais as escolas nos âmbitos federais, estaduais e municipais. O Estado como instância centralizadora de poder submete de “cima para baixo” através da burocracia as diretrizes a serem seguidas, punindo a instituição escolar e todos aqueles (intervenientes) que se desviam das metas. Interessante destacar o sentido contraditório desse “ciclo vicioso”: as escolas consideradas de qualidade (atingiram as metas) recebem mais recursos do que as “deficientes” (não atingiram as metas), ou seja, as instituições com dificuldades e sem recursos ficam esperando “milagres” ou terminam sofrendo com as mudanças repentinas de uma administração mais rígida e punitiva para se “adequar” ao perfil gerencial “moderno”. A autonomia e a inovação da escolha do projeto pedagógico nas escolas, previsto no artigo 15 da Lei de Diretrizes e Bases (LDB) e na Constituição Federal de 1988, não conseguem se sobrepor aos interesses materiais do Poder Executivo. Por que a legislação e a transformação cultural não são suficientes para garantir uma escola democrática? NAS AMARRAS DA BUROCRACIA A escola inclusiva se prepara para receber a todos os alunos independentemente de sua condição e crença. Ela compreende o aluno como cidadão que tem o direito à educação e, dessa forma, assume  compromissos políticos e responsabilidades sociais, desenvolvendo procedimentos pedagógicos para acolhê-los. As diferenças sejam elas de classe, de gênero, de nacionalidade, de nível de aquisição educacional, de condição física ou intelectual motivadas por necessidades especiais, longe de instigar a formação de preconceitos representam fatores motivacionais de investimentos, de inovações pedagógicas, de pesquisas e políticas educacionais. Amplia-se assim o acervo de experiência educativa no sentido de promover a educação como direito social essencial para o desenvolvimento da sociedade e assegurado pela legislação brasileira. As diferenças não apenas dos alunos, mas também dos intervenientes responsáveis pelo espaço escolar devem ser apreciadas em sua diversidade de experiências num sentido de cooperação e não de competição como vem sendo realizado. A gestão democrática tem papel fundamental para reverter esse paradigma (competição x cooperação) estimulado pelas políticas públicas, mas isto não se faz a partir dos diretores de escola. O estudo de Iágrici Maria de Lima Maranhão e Luciana Rosa Marques (2014) em Os mecanismos de participação social na escola comprova que somente por força de lei, o Estado não garante a participação efetiva da comunidade nos processos democráticos do espaço escolar, e nem a comunidade em curto prazo faz valer os seus direitos de participação. Esse sentimento de pertencimento ao meio vai além da mera tentativa estatal de usar os mecanismos de determinação legal para propor uma política educacional democrática no país a partir da Constituição de 1988. O sentimento de pertencimento ao espaço escolar não tem a lei como um fim, apenas como um meio subjetivo e legitimador de uma prática material e real. Portanto, uma coisa é promover e incluir a comunidade, outra bem diferente é a sua participação ativa, o que inclui a delegação de poderes. A inclusão democrática da comunidade nas dimensões da prática escolar conforme orienta a legislação nacional não é cumprida rigorosamente desde sua criação até os dias atuais, por consequência, a comunidade (em suas poucas exceções) não se sente verdadeiramente parte integrante e responsável pelo funcionamento do sistema institucional de educação no país. A consequência disso são os poderes legais previstos em lei da comunidade em representar a sua vontade no conselho escolar serem “delegados” para o gestor da escola. Em Pernambuco, desde a gestão de Eduardo Campos em 2007, os diretores indicados pela comunidade são escolhidos pela Secretária de Educação (uma prática antidemocrática), faz um curso de gestão organizado pelo governo e assina um termo de compromisso com as metas do governo. Seguindo os estudos de Per-Erik Ellström (1984) apud Licínio Lima (2011), sobre os modelos de gestão educacional, logo se percebe as divergências quanto aos “objetivos e preferências organizacionais” e as “tecnologias e processos organizacionais” entre as propostas racional, político, de sistema social e anárquico. O texto A escola como organização educativa de Licínio Lima (2011) de onde é citado o excerto acima deixa bem claro os problemas do excesso de burocratização do sistema escolar em domínio das teorias da administração neoclássica adotada oriundamente pelas redes de ensino britânico e incorporadas em quase todo o sistema escolar da esfera ocidental ao longo do século XX.

Texto completo em: http://www.periodicos.unir.br/index.php/LABIRINTO/article/viewFile/1750/1611

O Malware DNSChanger está de volta

O Malware DNSChanger retorna com variante, veja:

Marcus Fábio Fontenelle

O malware que massivamente atacou a Internet em 2012 está de volta. A informação é da empresa Proofpoint, que após investigações encontrou uma variante do malware DNSChanger associada a um exploit chamado Stegano, que faz uso de imagens em banners de publicidade para obter acesso remoto ao computador, permitindo que a variante do DNSChanger identifique roteadores que possuam vulnerabilidades que possam ser exploradas.

Segundo a Proofpoint há mais de 160 modelos de roteadores listados nessa nova variante do DNSChanger. Alguns modelos são listados a seguir:

  • D-Link DSL-2740R
  • NetGear WNDR3400v3 (e provavelmente outros modelos desta série)
  • Netgear R6200
  • COMTREND ADSL Router CT-5367 C01_R12
  • Pirelli ADSL2 / 2 + Wireless Router P.DGA4001N

A Proofpoint informa em seu site que o ataque não está mais ativo, mas que provavelmente essa metodologia será utilizada para explorar falhas semelhantes. Maiores detalhe sobre o comportamento do DNSChanger poderão ser encontradas no artigo publicado pela Proofpoint.

As medidas básicas preventivas para…

Ver o post original 29 mais palavras

Sistemas Operacionais de Tempo Real – Timers

Introdução

Estava desenvolvendo algumas idéias para um novo artigo técnico, quando encontrei perdida, no fundo de uma gaveta virtual, uma biblioteca de rotinas em C que desenvolvi há algum tempo. É uma preciosidade!!! Eu mesmo já utilizei essas funções em vários projetos. Estou aqui disponibilizando esse material para você.

Vou contar um pouco a história dessa biblioteca. Houve uma época em que o meu trabalho era focado em projetos de desenvolvimento de sistemas dedicados baseados em processadores da família 8051. Desenvolvemos uma célula de carga digital, um sistema de monitoramento ambiental, um mini CLP, um sistema de monitoramento e controle de um processo químico, sistema de controle de elevadores etc. Daí surgiu a ideia de elaborar funções e rotinas padronizadas, pois quase todos esses sistemas tinham alguma coisa em comum, como por exemplo teclas, displays etc. e deveriam operar em tempo real. O objetivo foi diminuir o tempo gasto para o desenvolvimento de um novo projeto. Antes de prosseguir, recomendo a leitura do artigo Sistemas Operacionais de Tempo Real – Introdução, onde são abordados alguns conceitos que serão aplicados neste artigo.

É necessário apresentar aqui alguns esclarecimentos a respeito da filosofia usada na elaboração dessas rotinas. Eu parti do princípio de que os nossos sistemas são de tempo real e que realizam periodicamente algumas funções rotineiras, tais como verificar um teclado, atualizar displays, administrar LEDs de sinalização, realizar medidas, etc. Outras ações são tomadas por demanda, ou seja, apenas quando ocorrem. Essas demandas podem ser periódicas ou assíncronas (aleatórias). Daí já reconhecemos o primeiro elemento a ser implementado no nosso Sistema Operacional: um temporizador (Timer). Para quem não sabe, os processadores tradicionais da família 8051 têm apenas 2 temporizadores, enquanto outras versões oferecem pelo menos mais um. Antes de continuar, acho interessante recordarmos a arquitetura dos microcontroladores da família MCS-51 e os modos de operação dos seus temporizadores. Na parte final desse artigo será desenvolvido um pequeno exemplo prático, cujo código poderá ser compilado e simulado.

TIMERS da família MCS-51

Para ilustrar o que será abordado aqui, vamos nos referenciar aos microcontroladores de fabricação da ATMEL, com a arquitetura baseada no 8051, cujo documento completo você pode consultar aqui: ATMEL 8051 Microcontrollers Hardware Manual. Na Figura 1 podemos observar a arquitetura interna de um microcontrolador AT89S8253, que continua sendo produzido, mostrando em destaque o bloco dos temporizadores.

Timers - Diagrama em blocos da arquitetura interna de um microcontrolador
Figura 1: Diagrama em blocos da arquitetura interna de um microcontrolador AT89S8253

 

Sem entrar nos detalhes referentes aos contadores / temporizadores Timer 0 e Timer 1 dessa família de microcontroladores, basta dizer que eles podem ser programados para funcionarem em 4 modos distintos de operação:

  • Modo 0: O temporizador é configurado como um contador de 13 bits, que pode receber um valor inicial e conta para cima. Na transição do valor limite superior 0x1FFF para  0x0000, é acionado um flag de sinalização;
  • Modo 1: Similar ao modo 0, porém é configurado o contador para 16 bits;
  • Modo 2: O temporizador é configurado como um contador de 8 bits, com um registro de 8 bits associado para recarregar o valor inicial automaticamente. Na transição, é acionado um flag;
  • Modo 3: Nesse modo de operação, o Timer 0 opera como 2 contadores distintos de 8 bits, enquanto o Timer 1 nesse modo de operação permite que se congele a contagem.

Convenções para o uso dos Timers

Para o objetivo de projetar uma biblioteca com rotinas padronizadas, foi definido que o Timer 0 seria o temporizador padrão do sistema e o Timer 1 também poderia ser usado para isso, se acaso não fosse necessário usá-lo para gerar baud-rate da comunicação serial.

O período de interrupção do temporizador deve ser o maior possível e baixo o suficiente para atender às necessidades prioritárias do sistema. Para que se entenda o motivo disso, observe o seguinte exemplo:

Suponhamos que:

  • Um microcontrolador que, por restrições de sua arquitetura e do oscilador (clock) utilizado, possa executar no máximo 10.000 instruções por segundo;
  • Uma rotina de interrupção provocada pelo temporizador execute 20 instruções na média a cada interrupção.

Se numa hipótese absurda o temporizador for dimensionado para gerar 500 interrupções por segundo, a rotina de interrupção vai consumir todo o tempo disponível para executar as instruções do microcontrolador (500 x 20 = 10.000)! Se por exemplo esse número puder cair para 50 interrupções por segundo, sem prejudicar a operação do sistema, a rotina de interrupção vai consumir apenas 10% do total disponível (1.000), deixando os outros 90% para as demais atividades do microprocessador.

A compreensão do que foi ilustrado nesse exemplo é fundamental. As rotinas que são executadas com maior frequência devem ser otimizadas para serem executadas no menor tempo possível e na menor frequência possível também. Voltando ao exemplo das 500 interrupções, se acaso a rotina de interrupção executasse apenas 18 instruções ao invés das 20, já sobrariam 1.000 instruções por segundo que poderiam ser executadas por outras atividades. Em muitos casos isso é suficiente. Note que para esse exemplo em particular, só analisamos uma das soluções possíveis para viabilizar a operação do sistema. Poderia-se também lançar mão de outros recursos, como por exemplo aumentar a frequência do oscilador do microcontrolador.

Assim a frequência da interrupção do nosso timer deve ser dimensionada de modo que:

  • A função que deverá ser executada com maior frequência possa ser atendida pelas interrupções do timer no menor tempo necessário para isso (e maior possível), definindo assim as especificações do timer de referência do sistema;
  • Outras temporizações mais lentas sejam realizadas como múltiplos da interrupção do timer e implementadas por meio de temporizadores virtuais de software.

Um temporizador virtual de software é uma estrutura no programa em que a cada temporizador é associado um valor inicial, que se traduz num número inteiro de interrupções do Timer 0, e um flag de sinalização. A cada interrupção do Timer 0, o temporizador de software é decrementado e testado se zero. Se for zero, é ligado o flag para avisar que a contagem de software foi terminada e o temporizador é reinicializado para o seu valor inicial. O tratamento do final de contagem é realizado no programa principal, testando-se o flag e reinicializando-o depois.

O timer de referência deverá funcionar no modo 2 de operação. Observe que a programação do Timer 0 depende da frequência de clock do microcontrolador, do fator de divisão do clock, que nas CPUs tradicionais do MCS-51 é de 12 vezes, e da frequência requerida de interrupção. Um último limitante é que o valor inicial do Timer nessa configuração é de no máximo 255 (8 bits). Na biblioteca também foi desenvolvido um padrão para a programação do Timer 1, especialmente se não for usado para gerar baud-rate.

Detalhes da Biblioteca em C

O código em C a seguir foi desenvolvido para o compilador KEIL C51 μVision, na versão de avaliação. Se você quiser testar o programa exemplo que desenvolveremos no final deste artigo, recomendo que você baixe e instale esse programa.  O arquivo de biblioteca com os trechos de código em C para a utilização dos timers de forma padronizada está dividido em segmentos. O primeiro segmento define uma série de constantes, que podem ser ajustadas conforme as especificações do projeto. Veja o trecho do código a seguir.

Nesse código há alguns parâmetros que precisam ser alterados, conforme o projeto:

  • #define   FREQUENCIA_DO_CLOCK_DA_CPU 12.0e+6 // Hz —->  12 MHz, por exemplo.

Inicializar essa constante com o valor do clock do seu microcontrolador.

  • #define   FATOR_DE_ESCALA_CLOCK_TIMER    12.0f     // Divide o clock por 12

Valor do pre-scaler.

  • #define   FREQUENCIA_DE_INTERRUPCAO_TIMER_0 5e+3  // Hz —- > 5 kHz, por exemplo.

Define a frequência da interrupção do timer.

São apenas esses três parâmetros que devem ser inicializados. Não é necessário alterar outras partes do código!

O segundo segmento da biblioteca refere-se às inicializações dos timers, conforme o modo de operação, e os comandos para iniciar a operação do temporizador. Observe que nesse segmento é mostrada a rotina principal (void main(void)) e indicado onde devem ser inseridos os trechos do código.

O terceiro segmento mostra como são definidas as rotinas de interrupção.

EXEMPLO

A seguir vamos desenvolver o nosso programa de exemplo. Nesse programa, será programado o Timer 0 no modo 2 de operação, com o microcontrolador operando com um clock de 4 MHz e uma frequência de interrupção de 1,5 kHz. Confira o código no quadro abaixo.

Se você quiser simular o programa exemplo acima e explorá-lo um pouco mais, siga os seguintes passos:

  • Instale o KEIL C51 μVision;
  • Baixe o arquivo Testa_Timer.zip;
  • Instale os arquivos de Testa_Timer.zip num diretório para testes;
  • Navegue até o diretório de testes e acione o arquivo Testa_Timer.uvproj (2 “clickes”)  (Figura 2).

Timers - Arquivos no diretório de teste
Figura 2: Arquivos no diretório de teste

Nesse instante deverá abrir o programa Keil e a tela deverá ser a retratada na Figura 3. Esse painel permite navegar no código em C, editá-lo e compilá-lo. Não é necessário fazer isso para realizar a simulação, mas você poderá posteriormente alterar alguns parâmetros do código e testar o programa com as novas alterações.

Timers - Programa Keil pronto com o programa exemplo carregado
Figura 3: Programa Keil pronto com o programa exemplo carregado

A seguir coloque o programa no modo de Debug (Figura 4, Figura 5 e Figura 6) para que se possa iniciar a simulação.

timers - Selecionando o modo Debug do programa
Figura 4: Selecionando o modo Debug do programa

Antes de entrar no modo de depuração, aparece na tela a mensagem da Figura 4. “Clicke” no  “OK” para continuar.

Timers - Aviso de que no modo de avaliação, o código fica limitado a 2K
Figura 5: Aviso de que no modo de avaliação, o código fica limitado a 2K

timers - Modo Debug de operação
Figura 6: Modo Debug de operação

 

Observe que já estão destacados os painéis de monitoramento do Timer 0 e do Port 3, cujo bit 1 deverá ser alternado a cada término de contagem do temporizador de software. As duas variáveis principais (bFlagTimerDeSoftware e nTimerDeSoftware) poderão ser monitoradas na janela Watch 1 durante a simulação.

É possível utilizar as teclas de função F11 para executar o programa passo a passo ou F5 entrar em execução. Recomendo que você inicie a simulação utilizando o passo  a passo para poder observar detalhadamente como que funciona o mecanismo de operação desse programa.

Resumo

Neste artigo técnico foram apresentados alguns conceitos relativos à utilização de temporizadores de hardware de um microcontrolador associados a temporizadores de software para a implementação de arquiteturas de software típicas de  sistemas operacionais de tempo real. Também foi apresentada e explicada uma biblioteca padronizada para a utilização dos timers de microcontroladores da família MCS-51, codificada em C, para ser compilada no programa da Keil. Depois foi desenvolvido um programa exemplo para que você possa simular o que foi apresentado e observar os detalhes dessa implementação.

Este artigo é o segundo da série de artigos que abordam algumas funções comuns em projetos de sistemas embarcados de tempo real. Confira os demais artigos (em breve).

Sistemas Operacionais de Tempo Real

Bibliotecas de funções e rotinas padronizadas em linguagem C para MCS-51

  • Timers (este artigo) – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso dos Timers do MCS-51;
  • Displays de 7 segmentos – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso em displays de 7 segmentos;
  • Teclados Matriciais – É apresentada uma biblioteca desenvolvida em linguagem C para varredura, leitura, debounce, identificação da tecla acionada e desvio para a rotina de tratamento. A forma como as rotinas foram escritas, permitem sua fácil reutilização em outros projetos;
  • Periféricos – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso de alguns periféricos, tais como conversores A/D, sensor de temperatura e memórias seriais.

Fonte: https://www.embarcados.com.br/rtos-timers/

Sistemas Operacionais de Tempo Real – Introdução

 

Introdução

Quando se fala em projetos para microcontroladores, especialmente os de 8 ou 16 bits, sempre surgem dúvidas com relação ao sistema operacional. É melhor comprar um sistema operacional ou desenvolver o seu próprio? Como tudo na nossa vida, a resposta a essa pergunta depende sempre da relação custo / benefício da solução. Muitos projetistas se sentem intimidados em projetar o seu próprio sistema, muitas vezes apenas por falta de experiência ou de conhecimento sobre esse assunto. Por outro lado, aprender a usar um sistema operacional de terceiros pode ser um tanto quanto trabalhoso e demorado. Se o sistema não for de uso gratuito, ainda será necessário pagar royalties para cada CPU que executar esse programa.

Neste artigo vou desenvolver alguns raciocínios que mostrarão o fato de que desenvolver um sistema operacional próprio para microcontroladores de 8 ou 16 bits é bem mais simples do que possa parecer. Será apresentada uma estrutura bastante intuitiva e simples de como organizar o seu software de forma que ele opere em tempo real com segurança. Antes disso, precisamos conceituar alguns tópicos. Observe que o assunto sobre Sistemas Operacionais é abordado neste artigo de uma forma muito superficial. Sistemas Operacionais e Sistemas de Tempo Real são temas bastante extensos e complexos e são ensinados em cursos de graduação e pós-graduação. Neste artigo vamos apresentar somente o necessário para compreender a filosofia e preparar o terreno para apresentar em artigos futuros algumas soluções padronizadas para se implementar sistemas de tempo real.

O que é um Sistema Operacional?

Segundo uma definição encontrada na Wikipedia, um Sistema Operacional  é um programa ou um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais de hoje o executa através de outro programa armazenado em uma memória não-volátil do tipo ROM (Read Only Memory) chamado BIOS (Basic Input Output System) num processo chamado bootstrapping, conceito em inglês usado para designar processos auto-sustentáveis, ou seja, capazes de prosseguirem sem ajuda externa. Após executar testes e iniciar os componentes da máquina (monitores, discos, etc), o BIOS procura pelo sistema operacional em alguma unidade de armazenamento, geralmente o Disco Rígido, e a partir daí, o sistema operacional toma o controle da máquina. O sistema operacional reveza sua execução com a de outros programas, como se estivesse vigiando, controlando e orquestrando todo o processo computacional.

Segundo alguns autores, existem dois modos distintos de conceituar um sistema operacional:

  • visão top-down pela perspectiva do usuário ou programador: é uma abstração do hardware, fazendo o papel de intermediário entre o software (programas) e os componentes físicos do computador, o (hardware); ou
  • numa visão bottom-up, de baixo para cima: é um gerenciador de recursos, i.e., que controla quais aplicações (processos) podem ser executadas, quando devem ser executadas e quais recursos (memória, disco, periféricos) podem ser utilizados.

 Alguns sistemas operacionais populares são: Windows, Linux, Mac OS, Android, etc.

O que é um Sistema Operacional de Tempo Real?

Sistemas operacionais de tempo real ou RTOS (Real Time Operating Systems) são uma categoria especial de sistemas operacionais. Eles são voltados para aplicações onde é essencial a confiabilidade e a execução de tarefas em prazos compatíveis com a ocorrência de eventos externos.

Por exemplo, se num paciente de UTI ocorrer uma variação importante nos batimentos cardíacos, o monitor cardíaco desse paciente deve ativar um alarme em poucos segundos.

 ID-100279454

Outro exemplo: se um avião em voo com o piloto automático desviar da rota, o controle do avião deve corrigir imediatamente essa rota retornando o avião à rota original.

ID-100177451

Tempo real é um termo que pode ter significados muito diferentes, dependendo da velocidade da ocorrência dos eventos de um sistema e dos tempos de resposta necessários para atender a esses eventos. Há sistemas que podem levar um tempo muito longo para modificar o seu estado. Em geral os processos térmicos de aquecimento são lentos. Pode levar dias ou até semanas para esses processos responderem a determinados estímulos. Nesse caso em particular, um sistema operacional comum serviria perfeitamente para realizar o controle do processo.

Particularidades de um Sistema Operacional de Tempo Real

Há muitos detalhes num Sistema Operacional de Tempo Real que merecem ser apresentados. O principal é que as rotinas de processamento em geral são bastante especializadas e curtas, pois devem executar a sua tarefa no menor tempo possível. Há um forte paralelismo na execução das atividades e um estabelecimento de prioridades, onde as atividades mais prioritárias interrompem as menos prioritárias e assumem o controle do processador. A divisão de tarefas em rotinas especializadas requer que haja alguma forma de sincronismo ou troca de informação entre elas, por exemplo, para que seja informado que tarefa já foi concluída ou não por outra rotina. Algumas estruturas comuns para a troca de informações:

  • Semáforos ou flags: são definidos bits ou palavras para a sinalização do tipo booleano ( binário 0 ou 1) para a troca de mensagens entre duas rotinas;
  • Áreas de troca de mensagens, filas  ou buffers: memórias temporárias que com auxílio dos semáforos permitem a transferência de estruturas de dados maiores entre as rotinas.

Exemplos

Para ilustrar as diversas arquiteturas de tempo real, serão apresentados dois exemplos bastante simplificados.

Exemplo 1

Suponhamos que um programa de computador deseje realizar a transmissão de uma mensagem pela USB. Num sistema comum, ilustrando de uma maneira simplificada, esse programa monta a mensagem e chama a rotina para a transmissão e só são retomadas as próximas atividades após o término da transmissão. Esse tipo de programação é conhecida como programação linear.

No caso de um sistema de tempo real (veja a Figura 1) a sequência de operações pode ser assim:

Transmissão-Serial_a

 Figura 1: Transmissão de caracteres em tempo real simplificada

     Para melhor entendimento ficará convencionado que:

  • flag buffer vazio” = 1,    significa que não há dados no buffer temporário;
  • flag buffer vazio” = 0,    significa que há dados novos no buffer temporário.

    Programa principal:

  • O programa principal inicialmente testa se o buffer temporário está disponível ou vazio (flag buffer vazio” = 1);
  • Se estiver vazio, monta a mensagem numa estrutura temporária (buffer);
  • Dispara a transmissão do conteúdo do buffer temporário alterando o flag “buffer vazio” para “não está vazio” (flag “buffer vazio” = 0);
  • Continua a execução das outras atividades enquanto é realizada a transmissão.

      Rotina de Transmissão:

  • Fica dormente ou então testa periodicamente o flag “buffer vazio”;
  • Se o flagbuffer vazio” indicar que há dados novos (flag “buffer vazio” = 0), transfere os dados do buffer temporário para o buffer de transmissão;
  • Altera o flag de “buffer vazio” sinalizando que o buffer está disponível para novos dados (flag “buffer vazio” = 1);
  • Transmite os caracteres, um de cada vez, até transmitir o último;
  • Sinaliza que “Terminou a transmissão” (flag).

Observe que em geral a rotina de transmissão é programada para ser ativada por interrupção, de forma que ela não gaste ciclos de máquina enquanto espera o término de transmissão de um caracter. Assim é aproveitado o hardware do microcontrolador para realizar tarefas em paralelo com o programa principal.

Exemplo 2

Esse exemplo é baseado num projeto real. Trata-se de uma placa mezanino cuja função é processar simultaneamente os dados referentes a 4 canais telefônicos em tempo real de forma a implementar as seguintes funções:

  • Cancelamento de resíduo de voz na linha de recepção resultante do eco da “fala” gerada pela placa mãe sem distorcer os sinais de origem externa;
  • Pré-processar os sinais de entrada identificando pulsos decádicos telefônicos através de filtragens e outros processamentos;
  • Implementação parcial de call-progress, focando na detecção do tom de “ocupado” e de “linha”.

O sistema operacional de tempo real para esse caso foi projetado em camadas, com prioridades atribuídas decrescentes nas camadas conforme vai crescendo o índice da camada. O fluxo de dados tem taxas decrescentes das camadas inferiores para as superiores. Veja na Figura 2. Observe que a comunicação entre as camadas é realizada através de filas ou buffers circulares, dimensionados de forma que num regime de atendimento simultâneo de quatro linhas telefônicas, o fluxo médio de dados nunca provoque o “estouro” dessas filas. A cada buffer estão associados ponteiros de início e final da fila (“primeira livre”) e uma variável indicando o número de dados que estão na fila. O mecanismo convencionado para a operação das filas circulares é o seguinte:

  • Quem transfere um dado para a fila, incrementa o número de elementos e o ponteiro para o final;
  • Quem retira da fila, decrementa o número de elementos e incrementa o ponteiro de início.

Mezanino_Original

Figura 2: Diagrama da arquitetura do programa em camadas

Uma descrição resumida do que ocorre em cada camada:

CAMADA 0

Trata basicamente dos eventos gerados externamente ao programa. Há eventos assíncronos gerados pela placa-mãe e outros síncronos gerados por temporizadores de hardware. Esses eventos são:

  • Chegada de mensagem enviada pela placa-mãe. Essa mensagem é inserida na fila de entrada de mensagens, que será tratada pela CAMADA 1;
  • Interrupção de hardware com frequência de 10 Hz para a atualização dos estados de cada linha telefônica;
  • Interrupção de hardware com frequência de 8 kHz onde são lidos os dados das 4 linhas telefônicas, e
    • é realizada a decodificação dos dados recebidos;
    • é aplicada uma rotina de cancelamento de eco com filtragem digital adaptativa;
    • o sinal filtrado segue por 3 caminhos:
      • é utilizado como sinal de erro para cálculo do ajuste dos coeficientes do filtro adaptativo;
      • é transferido para a fila que alimenta a CAMADA 1. (Taxa de 8.000 amostras/s);
      • é novamente codificado e retorna à placa-mãe.

CAMADA 1

Realiza o loop principal do programa com funções de pré-processamento dos sinais entregues pela CAMADA 0 na fila de dados e o tratamento das mensagens vindas e que são endereçadas à placa-mãe. A CAMADA 0 é composta pelo encadeamento das seguintes rotinas:

  •  Tratamento dos dados provenientes das linhas telefônicas:
    • Realiza o processamento e a análise de duas linhas por vez gerando uma saída para a CAMADA 2. A taxa máxima desses dados para a CAMADA 2 é de 170 amostras/s;
    • Realiza um pré-processamento de dados analisando simultaneamente as 4 linhas e gera para a CAMADA 2 um fluxo de dados de 400 amostras/s endereçada ao detetor de pulsos decádicos. Também repassa uma mensagem para a placa mãe quando a CAMADA 2 detectar um pulso;
    • Descarta dados das filas e atualiza os ponteiros.
  • Chamada das rotinas que compõem a CAMADA 2.

CAMADA 2

Realiza a análise dos dados gerados na CAMADA 1 e gera as saídas endereçadas à CAMADA 1 ou à placa-mãe. É composta pelas rotinas:

  • Realiza a análise dos dados para detecção de pulsos decádicos. Gera mensagens endereçadas à placa-mãe;
  • Realiza a identificação dos tons de “ocupado” e de linha e sinaliza por meio de mensagens à placa-mãe.

Nesse exemplo o software foi dividido em camadas com prioridades decrescentes para conseguir acomodar todas as funções previstas para o mezanino no curto tempo disponível para a sua execução. Esse projeto funcionou e ficou em operação por pelo menos 10 anos.

 O que é Firmware?

Para completar esse trabalho é interessante conceituar Firmware. Transcrevendo mais uma vez uma definição apresentada pela Wikipedia:

Em eletrônica e computação, firmware é o conjunto de instruções operacionais programadas diretamente no hardware de um equipamento eletrônico. É armazenado permanentemente num circuito integrado (chip) de memória de hardware, como uma ROM, PROM, EPROM ou ainda EEPROM e memória flash, no momento da fabricação do componente. Muitos aparelhos simples possuem firmware, entre eles: controles-remotos, calculadora de mão, algumas partes do computador, como disco rígido, teclado, cartão de memória, unidades USB’s muitos instrumentos científicos e robôs. Outros aparelhos mais complexos como celulares, câmeras digitais, sintetizadores, entre outros, também possuem um firmware para a execução de suas tarefas.

Não há fronteiras rígidas entre firmware e software, pois ambos são termos descritivos bastante livres. Contudo, o termo firmware foi originalmente inventado para contrastar com software de alto nível que poderia ser alterado sem a troca de um componente de hardware, e o firmware está normalmente envolvido com operações muito básicas de baixo nível das quais sem um dispositivo seria completamente não-funcional.

Nos próximos artigos serão apresentadas rotinas padronizadas para utilização em sistemas de tempo real. Nesses artigos serão utilizados diversos conceitos expostos aqui.

Resumo

Sistemas Operacionais de Tempo Real têm uma filosofia muito peculiar na sua arquitetura. Os programas são organizados de forma a poder responder a estímulos externos ou internos num tempo curto o suficiente e compatível com a importância ou urgência do evento que gerou esses estímulos. Frequentemente esses sistemas operacionais estão intimamente ligados ao hardware de um sistema.

Se você quiser se aprofundar um pouco mais sobre esse assunto:

Artigos relacionados

Sistemas Operacionais de Tempo Real

  • Sistemas Operacionais de Tempo Real – Introdução (este artigo) –  Apresentação introdutória do que é um sistema operacional e as características que o tornam um sistema de tempo real. Também são apresentadas algumas estruturas que facilitam o seu projeto.

Bibliotecas de funções e rotinas padronizadas em linguagem C para MCS-51

  • Timers  – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso dos Timers do MCS-51;
  • Displays de 7 segmentos – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso em displays de 7 segmentos;
  • Teclados Matriciais – É apresentada uma biblioteca desenvolvida em linguagem C para varredura, leitura, debounce, identificação da tecla acionada e desvio para a rotina de tratamento. A forma como as rotinas foram escritas, permitem sua fácil reutilização em outros projetos;
  • Periféricos – É apresentada uma biblioteca desenvolvida em linguagem C para a inicialização e o uso de alguns periféricos, tais como conversores A/D, sensor de temperatura e memórias seriais.
Fonte: https://www.embarcados.com.br/sistemas-operacionais-de-tempo-real-rtos/

Plone

Plone é um sistema de gerenciamento de conteúdo (CMS, de Content Management System) escrito na linguagem Python e que roda sobre um Servidor de Aplicações Zope e sobre o framework CMF (Content Management Framework).

O Plone pode ser usado para a construção de portais de informação em intranets, extranets e na Internet. Pode ser usado também para construir sistemas de publicação de documentos ou até como ferramenta para trabalho colaborativo. O Plone roda em praticamente qualquer plataforma.

Histórico

O projeto Plone surgiu em 1999, com Alan Runyan, Alexander Limi e Vidar Andersen. Em 2004 surgiu a Fundação Plone, para proteger e promover seu uso. É desenvolvido em código aberto, adotado por milhares de desenvolvedores no mundo todo, inclusive pelo website do FBI.

Versōes

Versões estáveis do Plone:[1]

Zope

Zope é um servidor de aplicações web de código aberto escrito na linguagem Python. Seu nome significa “Z Object Publishing Environment” (em português, “Ambiente de Publicação de Objetos Z”). Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema. Objetos básicos tais como documentos, imagens e modelos de páginas podem ser criados ou modificados via web. Objetos especializados, tais como wikis, blogs, e galerias de fotos estão disponíveis como componentes adicionais (chamados products), e existe uma comunidade de desenvolvedores e de pequenas empresas criando aplicações web como produtos.

História

O que hoje se conhece como Zope surgiu em 1998, quando a empresa Digital Creations (atual Zope Corporation) abriu o fonte de seus principais produtos sob uma licença de código aberto. A decisão foi influenciada por Hadar Pedhazur, principal investidor da empresa. A combinação de Bobo e Principia foi renomeada para Zope naquela época. Esta decisão transformou a Digital Creations numa empresa de serviços, e proporcionou muito mais visibilidade e interesse em torno do Zope do que o Principia jamais teve.

Características técnicas

Um sítio em Zope é formado por objetos em um banco de dados em vez de arquivos, como é comum em muitos outros servidores de aplicação web. Esta abordagem permite alavancar as vantagens do paradigma de objetos, como encapsulamento. Zope associa URLs a objetos utilizando a hierarquia de partes (composição); os métodos são considerados como partes dos objetos. Por exemplo, http://www.zope.org/Products/visual é uma forma de acessar app.Products.visual.

O Zope inclui o Zope Object Database (ZODB), que persiste transparentemente objetos Python de forma transacional. A transparência está no fato de que os desenvolvedores raramente precisam escrever código para ler ou salvar os objetos no ZODB de forma explícita.

Uma característica particularmente inovadora do Zope é o uso em larga escala de aquisição. Aquisição é uma técnica paralela à herança de classes, através da qual objetos ‘herdam’ comportamentos de seu contexto na hierarquia de composição, além da hierarquia de classes. Isto possibilita novas formas de organizar a aplicação, muito adequadas ao paradigma da web onde os sites são organizados em pastas e sub-pastas, ou seções e sub-seções. Um uso frequente de aquisição é a organização dos componentes visuais das páginas de forma que elementos comuns possam ser adquiridos de um repositório central, sem se perder a possibilidade de substituir qualquer elemento por uma versão local mais adequada ao contexto. Por outro lado, o modo como a aquisição é implementada no Zope 2 também é visto como uma fonte de erros, produzindo comportamentos inesperados em alguns casos. O uso de aquisição foi bastante reduzido no Zope 3.

O Zope fornece dois mecanismos para a criação de modelos de páginas: Dynamic Template Markup Language (DTML: Linguagem Dinâmica de Marcação de Modelos), e Zope Page Templates (ZPT: Modelos de Páginas Zope). O DTML é uma linguagem de marcação que permite implementar lógica simples em modelos, através de laços, condicionais e inserção de variáveis. No entanto, o DTML apresenta alguns problemas comuns às linguagens deste tipo: os modelos não podem ser verificados por validadores HTML, e a inclusão indiscriminada de lógica nos modelos resulta em código pouco legível e difícil de manter.

ZPT é uma tecnologia que ataca estes problemas. Modelos ZPT são formadas por XML ou HTML válido, nas quais toda a codificação é feita através de atributos dentro das etiquetas já existentes nestas linguagens. Tais atributos utilizam um espaço de nomes especial, denominado tal: Template Attribute Language (Linguagem de Atributos para Modelos), e assim são compatíveis com as especificações do W3C e com as principais ferramentas de edição de HTML. ZPT proporciona apenas um conjunto limitado de recursos, estimulando os programadores a implementar a lógica em scripts Python à parte, que são apenas invocados (e não incluídos) nos modelos. ZPT também fornece suporte à internacionalização e localização de aplicativos web, propiciando a substituição de mensagens por versões previamente traduzidas em múltiplas línguas.

O Zope 2 fornece a infraestrutura para gerenciadores de conteúdo como Plone, Silva (CMS) e Nuxeo CPS, bem como grandes portais desenvolvidos pela Zope Corp.

Zope 3 / BlueBream

Uma nova versão do Zope, o Zope 3, vem sendo desenvolvida desde 2001. Embora o Zope 2 tenha comprovado seu valor como framework para o desenvolvimento de aplicações web, ele não está livre de problemas. Por exemplo, criar um novo produto para estender o Zope envolve o reuso de muito código “mágico” que simplesmente precisa estar lá, e a lógica do domínio da aplicação é inevitavelmente “contaminada” pela lógica da própria infraestrutura. O Zope 3 é uma recriação total do sistema, com ampla participação da comunidade de desenvolvedores que se especializou na plataforma. O objetivo é resolver estes problemas sem perder as vantagens que deram ao Zope sua atual popularidade. O Zope 3 é baseado numa arquitetura de componentes, que visa facilitar por um lado o uso de componentes externos dentro do Zope, e por outro lado o uso de componentes isolados do Zope em projetos que não necessitam de toda a infraestrutura do servidor de aplicações. A primeira versão de produção, chamada Zope X3, foi lançada em 6 de novembro de 2004.

Zope Page Templates

Os Modelos de Páginas Zope (Zope Page Templates) são documentos XHTML propriamente ditos, o que significa que podem ser visualizados e editados utilizando-se editores HTML ou ferramentas compatíveis com XHTML (uma grande vantagem comparada com outras linguagens de modelo usadas para aplicações web). Os modelos (templates) também podem ser verificados para a conformidade XHTML, para que possam ser razoavelmente seguros de que irão se expandir automaticamente em XHTML adequado.

No entanto, esses modelos de páginas não se destinam a serem processados como são. Em vez disso, são marcados com elementos e atributos adicionais nos espaços de nomes XML especiais (ver abaixo). Esta informação adicional é usada para descrever como o modelo de página deverá vir a ser processado.

A seguir estão alguns exemplos básicos. Para incluir condicionalmente um elemento específico, como um elemento div, basta adicionar o atributo tal:condition para o elemento da seguinte forma:

<div tal:condition="...">
  ...
</div>

Para controlar o que aparece dentro de um elemento, use o atributo tal:content como este:

<h1><span tal:content="..."/></h1>
...

Finalmente, para introduzir ou substituir valores de atributos use o atributo tal:attributes da seguinte forma: o poder do Python poderá também ser utilizado para alterar dinamicamente a href durante a execução.

<a href="" tal:attributes="href python:'http://algumaurl.com/%s'%algumobjeto">...</a>

 

Esta é uma explicação muito superficial de Modelos de Páginas Zope. Seu comportamento é quase completamente descrito por uma linguagem de modelos, determinados em espicificações TAL, TALES, e METAL:




Fonte: https://pt.wikipedia.org/wiki/Zope

Simples Farejador de RF – Sniffer – Medidor de Campo

Um farejador de RF ou Sniffer é um tipo de medidor de campo, mais simples porém também mais útil, já que ele detecta os sinais de RF em geral e não somente em uma faixa de frequência fixa. Mas isso tem seus inconvenientes, já que sua sensibilidade cai na proporção que sua frequência de abrangência sobe. O farejador de RF tem muitos usos, ele pode detectar defeitos em circuitos receptores e transmissores além de encontrar transmissores escondidos.

O circuito tem uma faixa de operação bem larga, entre 1,5 MHz e 200 MHz, ele tem um funcionamento simples, os sinais de RF são recebidos na antena, detectado (retificada) pelo diodo D1 (germânio), amplificado pelo FET e depois é enviado ao galvanômetro. A antena tem cerca de 30 cm, que pode ser feita de arame rígido ou uma antena de alumínio de rádio FM sucateado.

[Fonte]

 

 

 

Microscopia de Expansão

Métodos de super-resolução microscópica  estão amadurecendo e estão se tornando mais amplamente utilizados para a descoberta científica. No entanto, a maioria dos métodos permanecem tecnicamente desafiadores e envolvem hardware  ferramentas de software sofisticados. Em 2014, o grupo de Ed Boyden no Instituto de Tecnologia de Massachusetts introduziu microscopia de expansão (missão exploratória) para gerar imagens de super-resolução ( Ciência 347 , 543548 , 2014 ). O conceito por trás da ExM é incrivelmente simples. As etiquetas são afixadas a alvos de interesse dentro de uma amostra e, em seguida, a amostra é expandida para cerca de quatro vezes o seu tamanho original e fotografado com microscópios convencionais. Pode-se dividir a resolução obtida nestas imagens de difração limitada pela expansão da dobra, e assim conseguir uma melhoria aproximadamente quatro vezes na resolução.

Embora o método original servisse para entregar imagens de super-resolução nas mãos de qualquer pessoa com um microscópio convencional, versatilidade ExM foi limitado por detalhes técnicos como a necessidade de sondas de rotulagem especial. No entanto, várias melhorias ao método ExM original foram publicadas em 2016, o que aumentou a sua aplicabilidade geral. Três artigos publicados dentro de alguns meses de cada outras alterações introduzidas no protocolo original que fez missão exploratória compatível com sondas convencionais, tais como anticorpos disponíveis comercialmente rotulados e proteínas fluorescentes endógenos ( Nat Métodos. 13 , 485488 , 2016 ; .. Nat Biotechnol 34 , 987992 , 2016 ; Nat Biotechnol.. 34 , 973981 , 2016 ). Além disso, o método tem sido alargada para permitir fluorescência in situ fluorescente (FISH) de ARN, permitindo medições de melhoria quantitativa única molécula-FISH (smFISH) em tecidos ( Nat Métodos. 13 , 679684 , 2016 ).

Maiores avanços estão no horizonte. Perguntas óbvias, como e se a ExM pode ser combinada com a microscopia de super-resolução convencional, devem ser investigadas. Além disso, a aplicação da ExM a importantes pesquisas em biologia, como explorar o connectome, pode ser dramaticamente avançada. Uma vantagem adicional de ExM é que amostras grandes ou densas não são apenas expandidas, mas também opticamente limpas no mesmo procedimento, removendo alguns problemas associados à imagem desses espécimes. Estamos ansiosos para ver o quadro maior com essas técnicas.

Fonte: http://www.nature.com/nmeth/journal/v14/n1/full/nmeth.4113.html

Proposta de identificação de ataques ao serviço SSH usando padrões no consumo de corrente em plataformas embarcadas

Resumo: Este trabalho apresenta a obtenção de curvas de consumo de corrente elétrica, a partir das respostas geradas por um sistema embarcado de baixo custo Raspberry Pi 2 Model B executando o sistema operacional Linux Raspbian trabalhando como um servidor de acesso remoto SSH, que é avaliado através de diferentes tipos de acessos e ataques de força bruta com dicionários através das ferramentas especializadas Medusa e Hydra, como também a ferramenta não especializada Metasploit. O comportamento energético é interpretado por um sistema de medição de consumo de corrente desenvolvido pela plataforma embarcada de baixo custo Arduino Uno que administra um sensor de corrente baseado no chip ACS721ELC- 5A de efeito Hall, que possui a capacidade de coletar as variações geradas pela plataforma de teste em resposta aos eventos produzidos pelos cenários de provas propostos, os dados são processados pelo Framework Matlab que coleta, analisa e normaliza por meio do método de Welch o sinal de corrente que é interpretado pelo Arduino Uno, posteriormente apresentase uma curva padrão que caracteriza um determinado evento baseado nos cenários de provas. Os resultados apresentam as diferentes curvas padrões normalizadas, e contextualizadas nos tipos de cenários avaliados, seguidamente apresenta-se um modelo matemático teórico do consumo de corrente proposto, como também as regras ou assinaturas propostas para identificar um ataque através do método de detecção por padrões que utilizada o IDS Snort. Essas curvas de corrente facilitam o entendimento e obtenção de um padrão de consumo de corrente para cada acesso e ataque na plataforma embarcada.

https://bdtd.ufs.br/handle/tede/3365

PROPOSTA DE IDENTIFICAÇÃO DE ATAQUES AO SERVIÇO SSH USANDO PADRÕES NO CONSUMO DE CORRENTE EM PLATAFORMAS EMBARCADAS

Este trabalho apresenta a obtenção de curvas de consumo de corrente elétrica, a partir das respostas geradas por um sistema embarcado de baixo custo Raspberry Pi 2 Model B executando o sistema operacional Linux Raspbian trabalhando como um servidor de acesso remoto SSH, que é avaliado através de diferentes tipos de acessos e ataques de força bruta com dicionários através das ferramentas especializadas Medusa e Hydra, como também a ferramenta não especializada Metasploit. O comportamento energético é interpretado por um sistema de medição de consumo de corrente desenvolvido pela plataforma embarcada de baixo custo Arduino Uno que administra um sensor de corrente baseado no chip ACS721ELC- 5A de efeito Hall, que possui a capacidade de coletar as variações geradas pela plataforma de teste em resposta aos eventos produzidos pelos cenários de provas propostos, os dados são processados pelo Framework Matlab que coleta, analisa e normaliza por meio do método de Welch o sinal de corrente que é interpretado pelo Arduino Uno, posteriormente apresentase uma curva padrão que caracteriza um determinado evento baseado nos cenários de provas. Os resultados apresentam as diferentes curvas padrões normalizadas, e contextualizadas nos tipos de cenários avaliados, seguidamente apresenta-se um modelo matemático teórico do consumo de corrente proposto, como também as regras ou assinaturas propostas para identificar um ataque através do método de detecção por padrões que utilizada o IDS Snort. Essas curvas de corrente facilitam o entendimento e obtenção de um padrão de consumo de corrente para cada acesso e ataque na plataforma embarcada.

CAPÍTULO 1 INTRODUÇÃO De acordo com [COELHO et al. 2014], a segurança da informação tem a responsabilidade de proteger a informação sendo determinante para assegurar a competitividade, a lucratividade, e o atendimento aos requisitos legais, preservando a imagem da organização junto ao mercado. A segurança de informação, segundo [GIAVAROTO et al. 2013], não é um produto, é um processo, e por isso, há uma enorme dificuldade em determinar qual é o nível de segurança apropriado. É necessário investigar os riscos, realizar testes, validar as políticas de segurança e tecnologias utilizadas com o objetivo de atender os preceitos de segurança da informação. A segurança nas comunicações [STALLINGS 2007] é uma prática que contém como tarefa principal, prevenir o acesso não autorizado a certos recursos informáticos. Esta conotação é mais estrita no sentido de desenho das soluções entre duas entidades que tentam estabelecer um meio de comunicação comum e seguro. Neste contexto, os protocolos de comunicações são os responsáveis de administrar mecanismos necessários, a fim de estabelecer uma ligação entre uma origem e um destino de forma que os dados enviados sejam transmitidos em forma segura [AMATO 2001]. A confidencialidade, segundo os autores [KUROSE et al. 2010], é um conceito que garante a segurança na transmissão de mensagens e devem ser compreendidas somente pelo remetente e pelo destinatário. A forma de afiançar esta segurança é através de técnicas de cifragem de dados combinada com a autenticação do ponto final. Na atualidade existem soluções em software que cifram os canais de comunicação garantindo a confiabilidade dos dados transmitidos, um exemplo são as redes privadas virtuais VPN [MASON et al. 2002], arquitetura de comunicação que concede um nível aceitável de segurança. Esta arquitetura de segurança exposta a condições de ataques especializados pode chegar a comprometer sua segurança, desta forma um atacante externo está possibilitado a interceptar as mensagens enviadas e recebidas com o agravante de manipular as comunicações à sua vontade [ASHIDANI 2009]. O serviço de comunicação SSH [SILVERMAN et al. 2001] é o serviço de rede mais difundido e utilizado na administração remota de recursos informáticos. Uma das capacidades que possui SSH é estabelecer um canal de comunicação cifra entre uma origem e um destino, este serviço é muito utilizado com o fim de realizar a administração geral de um sistema informático remoto [LAUDON et al. 2013]. Desde o ponto de vista dos administradores de sistemas é a ferramenta por excelência na administração remota, também um ponto de ataque relevante para potenciais intrusões e tudo tipo de ameaças [TABISH et al. 2009]. Hoje em dia se conhecem Malwares [INCE 2008] muito sofisticados que automatizam tudo o processo de conexão a um sistema remoto baseado em ameaças conhecidas [MORTENSEN et al. 2013]. Os sistemas embarcados de acordo com os autores [MORENO et al. 2003] são definidos como uma unidade central de processo integrado a um sistema maior com o objetivo de auxiliar o controle e execução de tarefas, ademais os sistemas embarcados em termos gerais são considerados dispositivos eletrônicos de propósitos gerais. Um claro exemplo é o projeto Raspberry Pi Foundation1 , esta iniciativa nasceu com o objetivo de estimular o ensino da informática baseado na filosofia Open hardware e Open software. Seu desenvolvimento está direcionado em uma economia de escala, frente a um mercado competitivo de sistemas embarcados existentes, tais como: Oluxino2 , Cubieboard23 , Odroid4 , Beagleboard5 , Raspberry Pi possui a maior cota de mercado neste segmento, isso se deve à relação que existe entre o preço e as características disponíveis. Na Tabela 1.1 apresentam-se as características técnicas dos sistemas embarcados mencionados anteriormente…

 Link: https://bdtd.ufs.br/bitstream/tede/3365/2/VICTOR_GABRIEL_GALVAN.pdf

Os melhores lançamentos da Disney podem ser suas ferramentas de código aberto

Quem já conferiu o repositório da empresa no GitHub sabe bem. Lá estão disponíveis diversas ferramentas e bibliotecas open source

É comum associarmos a Disney ao Mickey Mouse, às animações e aos parques de diversões. Mas você seria capaz de associar a empresa como grande produtora de software de fonte aberta, encorajando contribuições de seus desenvolvedores e lançando software próprio?

Pois bem, a empresa, que tanto já nos ensinou sobre Customer Experience, há anos vem construindo um caminho relevante em relação ao mundo open source. Basta lembrar de vários projetos que envolvam imagens, como o formato de arquivo OpenEXR, desenvolvido pela subsidiária Industrial Light and Magic. Mas há também bons resultados menos centrados no campo da imagem, incluindo o Munki, um conjunto de ferramentas para ajudar os administradores do MacOS X a gerenciar instalações e remoções de software.

O repositório no GitHub destaca o Programa de Código Aberto da Disney, através do qual a empresa encoraja os desenvolvedores a explorar vários projetos open source (14, no total), incluindo o Universal Scene Description (USD), que a Disney considera como o núcleo do pipeline de gráficos 3D da Pixar. A empresa usa USD em cada aplicação para criação e renderização em 3D, incluindo a Pixar Presto. Segundo a própria Disney, o USD é seu primeiro software disponível publicamente, através de uma única API. A intenção é que a Pixar evolua o USD para servir como uma linguagem comum para a definição e edição de dados 3D.

No GitHub estão disponíveis ferramentas, bibliotecas e softwares usados pelos animadores e programadores da Disney em diferentes animações e filmes da Pixar Animation Studios, Marvel Studios, LucasFilm, Walt Disney Animation Studios, Disney Interactive Studios e Walt Disney Animation Television.

Outro projeto de destaque é o Partio, uma biblioteca C ++ para trabalhar com formatos de partículas 3D, incluindo GEO, BGEO e PTC. Está disponível através de uma API Python e ferramentas de linha de comando. O Partio destina-se a fornecer uma interface unificada semelhante a bibliotecas de imagens para facilitar o tratamento de arquivos de partícula, uma parte importante do trabalho de efeitos especiais, porque eles permitem informações de forma livre no espaço 3D. Infelizmente, não há um formato padrão para partículas semelhantes ao Wavefront .obj. “A maioria dos sistemas de animação tem seus próprios formatos de partículas, proprietários “, diz a documentação para o projeto.

Há ainda o projeto Dragonchain, orientado a simplificar a integração de aplicativos em um Blockchain. Desenvolvido pela Disney em Seattle este ano, a Dragonchain tem como objetivo proteger negócios que envolvam uma forma independente da moeda, interoperável. Especula-se que venha a ser usada para possibilitar programas de pontos/recompensas baseados em criptomoedas como o Bitcoin. Não há uma aplicação clara e definitiva para as possibilidades de DRAGONchain ainda. A Disney lançou o protocolo blockchain com uma licença de código aberto em Apache 2 modificado.

A linguagem Ruby também recebe um aceno da Disney, com ruby-jss, anteriormente conhecido como jss-api-gem. Este projeto, também da Pixar, oferece um módulo JAMF Server Software (JSS) para trabalhar com Casper Suite do JAMF Software para gerenciar Macs. O conjunto será renomeado como JAMF Pro. “O módulo abstrai os objetos da API como classes Ruby, que interagem para permitir uma automação mais simples das tarefas relacionadas à Casper”, de acordo com a documentação do projeto.

Também em relação à animação, o projeto OpenSubdiv oferece uma API para integração em ferramentas de desenvolvimento de conteúdo digital de terceiros. A tecnologia GPU em OpenSubdiv foi desenvolvido pela Pixar e Microsoft.

Além disso, faz já algum tempo que a Disney abriu o código da SeExpr, uma linguagem de expressão simples usada para controle artístico e personalização de software. “Nós o usamos para síntese de geometria procedural, síntese de imagem, controle de simulação, e muito mais”, afirma a documentação. Desenvolvedores têm usado a linguagem para prototipagem rápida, por exemplo.

Fonte: http://cio.com.br/tecnologia/2016/11/27/os-melhores-lancamentos-da-disney-podem-ser-suas-ferramentas-de-codigo-aberto/

Algas Biodiesel: óleo de algas

algae-based-biofuel-green-1

Uma das formas mais recentes e mais inovadoras de combustíveis alternativos no desenvolvimento hoje é de biocombustíveis de algas base. As algas são um dos organismos mais rápido crescimento e mais adaptáveis do planeta e os pesquisadores estão desenvolvendo maneiras de usar algas para capturar CO2 da atmosfera e aos combustíveis de saída que possam atender nossas necessidades de energia. Os proponentes esperam que a produção em larga escala de combustíveis de algas com base pode diminuir drasticamente a nossa dependência do petróleo bruto, assim como de captura de quantidades imensas de CO2 no processo. Obviamente, isso CO2 será lançado novamente uma vez que o combustível é queimado, mas o sistema representa um ciclo que é muito mais sustentável do que a praticada atualmente.

algae-based-biofuel-green-1

O processo de produção de algas é realmente muito simples. As algas são cultivadas em sistemas ou-lagoa aberta ou fechada-lagoa. Uma vez que as algas foram colhidas, os lipídios (óleos) são extraídos a partir das paredes das células das algas. Existem diferentes maneiras de extrair óleo das algas. A imprensa de óleo é o método mais simples, o mais popular porque ele extrai até 75% do óleo das algas sendo pressionado.

Outro processo é chamado de método de solvente hexano. Neste método, o solvente é combinado com hexano combinada com as algas pressionado, o qual, em seguida, extrai-se a 95% de óleo de algas. Em primeiro lugar, a imprensa aperta o óleo. Em seguida, as algas restante é misturado com hexano, filtrado, e limpo de modo a assegurar que nenhum produto químico é deixado no óleo.

Um terceiro processo é conhecido como o método de fluidos supercríticos. Este método extrai-se a 100% do óleo a partir de algas. O dióxido de carbono se comporta como o fluido supercrítico, quando uma substância é pressurizado e aqueceu-se a mudar a sua composição em um líquido, bem como um gás. O dióxido de carbono é então misturado com as algas. Uma vez combinados, o dióxido de carbono se transforma em óleo a algas. O equipamento adicional e trabalho necessário neste método faz com que seja uma opção menos popular.

Uma vez que o óleo foi extraído das células de algas, é refinado usando cadeias de ácidos gordos de um processo chamado de transesterificação. Neste processo, um catalisador tal como o hidróxido de sódio é misturada com um álcool tal como metanol. Isso cria um combustível biodiesel combinado com glicerol. A mistura é então refinada para remover o glicerol, deixando o produto final: o biodiesel algas.

Algas pesquisadores de biodiesel estão usando um processo estudado em química orgânica chamada transestrerification para descobrir formas eficientes de produzir combustível biodiesel de algas. Na transesterificação, um álcool e um composto de éster são misturados, e através da reacção resultante, um tipo diferente de álcool e um éster diferente é criado. Um éster de sa tipo especial de compostos químicos em que um ácido teve um dos seus grupos hidroxilo substituídos por uma molécula de oxigénio. Neste processo, o óleo que vem a partir da alga é alterada em biodiesel por meio de uma reacção química específica.

Cultivo de algas para biodiesel Uso

A maneira mais natural de cultivo de algas para a produção de biodiesel é através do crescimento-lagoa aberta. Usando lagoas, as algas podem crescer em áreas quentes e ensolarados do mundo, a fim de produzir uma quantidade máxima de algas. Open-lagoas fornecer o método menos invasivo do crescimento de algas, no entanto, ele tem inúmeras desvantagens. Mau tempo e contaminação a partir de estirpes de bactérias ou outros organismos podem prejudicar o crescimento de algas. Além disso, a água, as algas crescem na necessidades para ser mantido a uma determinada temperatura, o que pode ser difícil de manter.

/ Produção de ciclo fechado crescimento vertical tem sido desenvolvido para a produção de algas mais rápido e mais eficiente do que os tanques abertos de crescimento. Com crescimento vertical, as algas são colocados em sacos de plástico transparentes, de modo que eles são expostos à luz solar em dois lados. Os sacos são empilhados e protegido contra a chuva por tampas. Com a exposição extra sol, a taxa de produtividade das algas é aumentada, aumentando a produção de óleo bem. Além disso, as algas são protegidos da contaminação.

plantas biorreatores Closed-tanque são utilizados para aumentar as taxas de produção de petróleo ainda mais. Estas plantas crescem algas em ambientes fechados dentro de grandes tambores, redondas que pode crescer algas em condições ideais. As algas são manipulados para crescer a níveis máximos e pode ser colhida a cada dia. Isso produz uma saída elevada de algas, que produz grandes quantidades de óleo para biodiesel. plantas biorreatores fechados podem ser estrategicamente colocadas perto das plantas de energia para capturar o excesso de dióxido de carbono que poderiam poluir o ar.

Os investigadores estão a experimentar um processo chamado de fermentação onde as algas são cultivadas em recipientes fechados e açúcar alimentados, a fim de promover o crescimento. Neste método, todos os erros são eliminados, porque os produtores têm a capacidade de controlar todos os factores ambientais. Algas biodiesel pode ser produzido em qualquer lugar do mundo através de fermentação. No entanto, os pesquisadores estão tentando encontrar uma maneira de obter açúcar suficiente sem criar problemas.

Os prós e contras de biodiesel de algas

Tudo soa tão ideal: um material plantlike crescido, espremido, quimicamente alterado, e misturado em um biodiesel limpo, eficiente. No entanto, os críticos do biodiesel de algas têm encontrado muitas contras.

Em primeiro lugar,-lagoa aberta crescimento é um processo muito arriscado. Não só a temperatura da água tem que ser mais exato, o dióxido de carbono tem de ser bombeado para os tanques, a criação de um elevado risco de contaminação.Labs biodiesel são actualmente resolver este problema através da utilização do sistema de bioreactor fechado, a fim de contrariar esses problemas.

Nenhum teste real foi feito em biodiesel de algas e da sua eficácia com os carros reais. As empresas estão fazendo negócios com grandes companhias de petróleo para testar e produzir as algas, no entanto, é tudo ainda em fase de testes.Há apenas um carro de biodiesel de algas nas ruas: a Mercedes Benz E320. A empresa usou algas biodiesel para abastecer o carro e conduzi-lo nas ruas de Park City, Utah. Não há estatísticas foram liberados em consumo de combustível do carro ou que tipo de emissões que produziu.

Sob condições óptimas, as algas podem ser cultivadas em grandes quantidades, quase ilimitada,.Metade da composição de algas, em peso, é o óleo de lípido. As algas podem ser convertidos em petróleo, refinados em biodiesel e ter seu material restante vendido como ração animal de alta proteína. As algas são uma cultura não-alimentar que remove grandes quantidades de dióxido de carbono do ar, e que também cresce extremamente rápido. As algas crescem na água, portanto, ele não usa terras valiosas para o crescimento. As algas são uma cultura densa de alta energia que necessita de uma grande fonte de dióxido de carbono para crescer. Assim, as algas podem ser configurados perto concessionárias de energia elétrica que procuram reduzir suas emissões de carbono. Algas fósforo captura e nitrogênio de instalações de tratamento de águas residuais. Se os desenvolvedores podem obter todas as dobras funcionou, algas tem o potencial de mudar a maneira de produzir petróleo e lidar com as emissões de CO2 com um único organismo alta energia.