Inteligência Artificial: Deeplearn.js

A biblioteca Deeplearn.js permite o treinamento de redes neurais, não exigindo instalação de software ou back-end. “Uma biblioteca de aprendizado de máquina do lado do cliente pode ser uma plataforma para explicações interativas, para prototipagem e visualização rápidas, e até para computação offline”, disseram pesquisadores do Google. “E se nada mais, o navegador é uma das plataformas de programação mais populares do mundo”.

Ela é oferecida pelo Google no formato código aberto, com aceleração de hardware para aprendizagem de máquina que é executada em pelo seu navegador. Atualmente ela é suportada apenas na versão desktop do Google Chrome, mas o projeto está para oferecer suporte a outros dispositivos.

Usando a API JavaScript para o WebGL, o Deeplearn.js pode realizar cálculos no GPU. Isso oferece um desempenho significativo, passando assim os limites de velocidade do JavaScript, segundo os pesquisadores.

O Deeplearn.js imita a estrutura da biblioteca de inteligência de máquina TensorFlow da empresa e NumPy, um pacote de computação científica baseado em Python. “Também implementamos versões de algumas das operações TensorFlow mais utilizadas. Com o lançamento do Deeplearn.js, estaremos fornecendo ferramentas para exportar pesos dos pontos de verificação TensorFlow, o que permitirá aos autores importá-los para páginas da internet para a inferência Deeplearn.js “.

Embora o TypeScript da Microsoft seja o idioma escolhido, Deeplearn.js pode ser usado com JavaScript puro. As demonstrações de Deeplearn.js são apresentadas na página inicial do projeto. O Deeplearn.js junta outros projetos que trazem aprendizado de máquina para JavaScript e o navegador, incluindo TensorFire, que permite a execução de redes neurais dentro de uma página e ML.js, que fornece ferramentas de aprendizado de máquina e análise numérica em JavaScript para Node.js.

Caso você tenha interesse em conhecer mais, o site oficial deles é o https://deeplearnjs.org/index.html e eles oferecem diversos demos para que os novos programadores possam ter uma ideia do potencial do Deeplearn. Caso você queira brincar com o código, veja este link: https://deeplearnjs.org/index.html#demos

Nova versão do Reason

Para quem não conhece o Reason (veja o reasonml) não é uma nova linguagem; É uma nova sintaxe e toolchain alimentado pela linguagem OCaml. Ele dá a OCaml uma sintaxe familiar voltada para programadores de JavaScript, e atende aos usuários de fluxo de trabalho NPM / Yarn já conhecidos.

Agora com a versão 3, uma das mudanças mais visíveis na sintaxe do Reason é o uso da sintaxe de aplicação/abstração JavaScript em vez de Ocaml. Isso significa que no Reason 3 você chamaria uma função de dois parâmetros, colocando parênteses em torno deles, como você faz em JavaScript:

myFunction(arg1, arg2) // novo, sintaxe C-like
myFunction arg1 arg2   // antigo, sintaxe OCaml-like

 

Outras mudanças importantes são as seguintes:

  • Nova sintaxe para declarar o tipo de um objeto em Javascript, usando {. }, ex.:
type payload = {.  // Não precisa chamar o no need to call Js.t aqui
    "name": string,
    "age": int
};

 

  • Suporte ampliado para type punning com parâmetros marcados e nova sintaxe usando “~” em vez de “::”. É assim que você declara e chama uma função com o parâmetro marcados:

 

let addCoordinates = (~x, ~y) => {
    /* use x e y aqui */
};
...
addCoordinates(~x=5, ~y=6);

 

Compara a nova implementação com a antiga:

let addCoordinates x::x y::y => {
  /* use x e y aqui */
};
...
addCoordinates x::5 y::6;

 

Além disso, type punning (que, no exemplo acima, permite escrever ~x em vez do mais tedioso ~x como x) pode ser usado junto com tipos de anotações, que não haviam sido suportadas anteriormente:

let add = (~first: int, ~second: int) : int => first + second;

 

  • Concatenação de String agora pode ser feito usando o operador “++” ao invés do “^”.
  • Lógicas de negação agora será pelo operador “!” ao invés do “not”

Os desenvolvedores que possuem uma base de código Reason existente não devem se preocupar com a extensão das mudanças de sintaxe, que foram principalmente impulsionadas pela idéia de torná-lo mais “natural” para desenvolvedores de JavaScript. Na verdade, o Reason 3 vem com um script de migração que promete facilitar a transição.

Outra nova característica promissora do ecossistema Reason é a disponibilidade de uma API oficial para acesso programático ao Parser Reason, refmt, que já possui várias ferramentas como o Klipsereason-tools, a documentação no site do Reason, etc.

fonte:

https://reasonml.github.io/

https://www.infoq.com/br/news/2017/12/facebook-releases-reason-3

https://www.infoq.com/news/2017/11/facebook-releases-reason-3

Dia do Profissional da Informática

O Dia do Profissional da Informática ou Tecnologia da Informação (TI) é comemorado no dia 19 de outubro, no Brasil. O Dia da Informática é celebrado no dia 14 de agosto.

Os profissionais que trabalham na área de Informática são pessoas importantes para as empresas e demais pessoas, pois são esses trabalhadores que nos mantém conectados e rodeados de tecnologia.

O profissional da Informática atua em diversas funções, sendo que é o responsável por uma boa interação entre usuários e computador, criação de softwares, criação de sites, suporte técnico, organização de banco de dados, configurações em redes de computadores, entre outros.

Existem muitos cursos superiores de bacharelado e licenciatura para a área de Informática, sendo que muitos também preferem iniciar seus estudos em um curso técnico. Dos cursos existentes atualmente, os dois que mais se destacam são a Ciência da Computação e Sistemas de Informação.

Origem do Dia do Profissional da Informática ou Tecnologia da Informação

O profissional da Informática é uma profissão recente, criada nos últimos 40 anos. Não há registro do motivo pelo qual o dia 19 de outubro foi escolhido como o dia desses profissionais, até porque é considerada apenas uma data comemorativa, e não oficial.

De todo o modo, a data comemorativa não é voltada para a comemoração em si, e sim para lembrar da importância do profissional da Informática exercida ao redor do mundo.

Regulamentação do Profissional da Informática ou Tecnologia da Informação

Desde 2007, há um projeto em discussão no Senado sobre a regulamentação da profissão. O projeto em questão aborda que, se entrar em vigor, os profissionais que exercerão atividades no setor de Tecnologia da Informação precisarão – de forma obrigatória – de registro no conselho regional de Informática, porém, para que o registro seja válido, a pessoa deve ter:

  • 5 anos de experiência comprovada (ou seja, com carteira assinada) – para ser analista de sistemas.
  • 4 anos de experiência comprovada para técnico de Informática.

A Sociedade Brasileira de Computação (SBC), por exemplo, expõe-se contra essa reserva de mercado de trabalho, enquanto que é a favor da liberdade do exercício da profissão, isto é, adquirir conhecimento técnico-científico e social de qualidade em um curso superior, que compreende a competência profissional como diferencial.

The Pirate Bay usou JavaScript para minerar moeda virtual

O The Pirate Bay testou uma funcionalidade controversa dia 15/09: usou uma biblioteca JavaScript para minerar a moeda virtual Monero. Os visitantes de algumas páginas do portal de download de arquivos torrent foram surpreendidos com um pico elevado de consumo de recursos de CPU, quando seu processamento foi sequestrado pelo código

Após quase 24 horas de silêncio, os administradores do The Pirate Bay se manifestaram oficialmente sobre o incidente, confirmando que houve testes no uso de um minerador em JavaScript e que eles estão estudando uma forma de substituir os anúncios presentes no site. “Conforme vocês devem ter percebido, nós estamos testando um minerador de Monero em JavaScript. Isso é apenas um teste. Nós realmente queremos nos livrar de todos os anúncios. Mas nós também precisamos de dinheiro suficiente para manter o site funcionando”, explicam.

A iniciativa não foi bem recebida pela comunidade de usuários, para dizer o mínimo, que convergiram para o fórum oficial do site para protestarem contra a ideia. Até mesmo alguns moderadores se posicionaram contrários ao esquema financeiro. Ainda assim, os administradores levantaram a pergunta depois: “vocês querem anúncios ou querem nos dar um pouco de seus ciclos de CPU toda a vez que visitam o site?”.

A “funcionalidade” pode ser bloqueada normalmente com um bloqueador de anúncios ou desabilitando o JavaScript e os próprios administradores do site sugerem essas possibilidades. Eles se desculparam pela forma como o código foi empregado, que chegou a consumir até 80% do processamento das máquinas afetadas, quando, na verdade, deveria consumir “apenas 20-30%”.

O serviço via JavaScript não foi desenvolvido pelo The Pirate Bay, mas através de uma empresa conhecida como Coinhive. Uma biblioteca JavaScript chamada a partir do HTML de uma página pode transformar qualquer site de internet em uma oficina de mineração de Monero enquanto a página estiver aberta em qualquer navegador. É um precedente perigoso de sequestro de processamento que apenas serve para jogar mais lenha na fogueira contra os anúncios exibidos na web e prejudicar toda a indústria a longo prazo.

Fonte:

tambotech

JavaScript é utilizado na criação de malwares

De acordo com analistas da Kaspersky, empresa de segurança contra malwares e ataques hacker, o aumento nas tentativas de ameaças do tipo na América Latina de janeiro a agosto de 2017 foi de 59% em relação ao ano passado.

Fábio Assolini, analista de segurança, diz que entre 1º de janeiro e 31 de agosto de 2017 a Kaspersky detectou 677 milhões de ameaças digitais na América Latina. Um crescimento em relação a 2016, quando 398 milhões de ameaças foram detectadas no ano inteiro, decorre da popularização de computadores e celulares na região e do barateamento da conexão à Internet, o que aumenta o número de alvos em potencial e, consequentemente, o interesse de quem desenvolve esse tipo de software malicioso.

O Brasil é palco de 53% dos ataques na região, enquanto o segundo colocado, México, responde por 17% do total. Proporcionalmente, ou seja, considerando o total de usuários em relação ao número de ataques, ainda ficamos à frente dos outros países, respondendo por 30% do total. O país também se destaque como berço desses ataques, hospedando 84% de sites e outros recursos necessários à aplicação de golpes na América Latina.

Novos tipos de ataque

Os tipos de ataque variam, acompanhando mudanças tecnológicas e comportamentais. Assolini explica que os executados via web, ou seja, através de sites maliciosos, têm confiado no JavaScript para serem executados.

O JavaScript substituiu o Java e o Flash como preferidas pelos criminosos digitais. Essas duas tecnologias já são legadas e os navegadores modernos desativam conteúdo criado para elas por padrão. Hoje, elementos em Java ou Flash precisam ser clicados para serem ativados, o que diminui consideravelmente a eficiência dos ataques.

“O JavaScript é essencial para navegar na Internet hoje. Se desativá-lo, nada vai funcionar”, explica Assolini. Recentemente, uma desenvolvedora alemã tentou acessar 20 sites populares com o JavaScript desativado. O resultado foi desastroso, comprovando o ponto do especialista. As ameaças são capazes de provocar ataques de ataques chamados “phishing”, injetar publicidade de terceiros e ocasionar ataques de ransomware.

Além das ameaças online, a Kaspersky trabalha com outras duas classificações: as que se disseminam por e-mail, onde predominam o JavaScript e documentos PDF infectados baixáveis, e as que se propagam por meios offline, que compreendem infecções por pen drives USB e disseminados em redes corporativas.

Além das ameaças online, a Kaspersky trabalha com outras duas classificações: as que se disseminam por e-mail, onde predominam o JavaScript e documentos PDF infectados baixáveis, e as que se propagam por meios offline, que compreendem infecções por pen drives USB e disseminados em redes corporativas.

Smartphones

Os smartphones atraem cada vez mais a atenção dos criminosos digitais e requerem cuidados especiais. O grande número de ataques, 931 mil entre os clientes latino-americanos da Kaspersky só nos oito primeiros meses de 2017, combinado às facilidades nas transações financeiras proporcionadas pelos aplicativos, ligaram um sinal de alerta entre os especialistas.

Thiago Marques, analista de segurança da Kaspersky, chamou a atenção para o WhatsApp como vetor de ataque. Os criminosos, segundo ele, exploram temas relevantes — do furacão Irma ao FGTS — para aumentarem o apelo dos ataques. Esses golpes, em geral, capturam o número de telefone da vítima para inscrevê-la em serviços premium, que cobram valores pequenos que são revertidos a eles. Outra parcela considerável das ameaças mais populares é do tipo adware, ou seja, após instaladas, passam a veicular anúncios intrusivos que se revertem em dinheiro fácil aos criminosos.