Summit auxilia no combate ao COVID-19

O novo coronavírus é um desafio para os cientistas. Eles devem acelerar suas pesquisas pois a velocidade que o vírus se espalha é muito grande. O supercomputador Summit, do IBM, equipado com o “cérebro da IA”, realizou milhares de simulações para analisar compostos de drogas que podem impedir a infecção às células hospedeiras causadas pelo novo vírus COVID-19. Após essas simulações, foram identificados 77 compostos promissores para tratamentos eficazes. As descobertas realizadas pelos pesquisadores do Laboratório Nacional de Oak Ridge foram publicadas na revista ChemRxiv.

O Summit foi construído para resolver os problemas do mundo. Ele possui o poder de 200 petaflops, e isso significa que ele possui uma capacidade de 200 quadrilhões de cálculos por segundo.

O supercomputador modelou como diferentes compostos podem impedir que o COVID-19 se espalhe para outras células.

O vírus infecta as células hospedeiras, injetando-as com “pico” de material genético. O Summit encontra compostos de drogas que possam se ligar ao “pico”, potencialmente impedindo a disseminação.

Micholas Smith, pesquisador de Oak Ridge, criou um modelo de pico de coronavírus. Com o Summit, ele simulou como os átomos e partículas da proteína viral reagiriam a diferentes compostos. Foram executadas simulações de mais de 8.000 compostos que poderiam se ligar à proteína de pico do vírus, limitando sua capacidade de espalhar pelas células hospedeiras.

O Summit ocupa uma área de 520 m². Ele foi construído a partir de fileiras de servidores equivalentes ao tamanho de geladeiras que, no total, pesam 340 toneladas. Os seus processadores possuem no total 200 mil núcleos. Cada servidor possui seis modelos de uma placa de vídeo de estruturas avançadas desenvolvidas exclusivamente para o supercomputador. São 250 petabytes de memória, que possuem a capacidade de armazenar 74 milhões de anos de vídeo em alta definição em seu HD.

Gostou desa notícia? Comente abaixo e compartilhe com seus amigos

Fontes:

https://edition.cnn.com/2020/03/19/us/fastest-supercomputer-coronavirus-scn-trnd/index.html

https://www.gentside.com.br/computador/summit-o-supercomputador-mais-poderoso-do-mundo_art10808.html

Bill Gates em 2015 falando de pandemia

 

Saindo um pouco das nossas postagens sobre JavaScript. Gostaríamos de compartilhar esse vídeo de 5 anos atrás que é uma gravação da palestra do Bill Gates fez no Ted Talks falando que não estávamos (e pelo jeito ainda não estamos) preparados para a próxima grande epidemia.

 

É incrível algumas coisas que ele menciona e como realmente não foi feito muito para controlar/impedir o efeito de um vírus como o coronavírus desde lá.

 

Ao final do vídeo ele disse uma coisa que realmente marcou. Lembrando que foi em 2015

If we start now, we can be ready for the next epidemic

 

Em Português

Se começarmos agora, poderemos estar prontos para a próxima epidemia

Conheça o CylonJS, um framework para robótica

O Cylon.js é um framework JavaScript para robótica, computação física e Internet das Coisas (IoT). Ele fornece uma maneira simples, mas poderosa, de criar soluções que incorporam vários dispositivos de hardware diferentes simultaneamente. Deseja usar o Node.js para robôs, drones e dispositivos de IoT? Este é o framework certo.

Instalação:

Você pode utilizar o npm para instalar o módulo cylon:

npm install cylon

No ubuntu, você pode utilizar o apt-get para instalar o NodeJs na sua máquina, e assim, utilizar o npm:

sudo apt-get install nodejs

Com o módulo core instalado, você precisa instalar módulos de suporte de hardware necessários. Utilizaremos os módulos firmata, gpio e i2c. Esses módulos são utilizados no Arduino para a ligação de um LED.

npm install cylon-firmata cylon-gpio cylon-i2c

Hello World com Cylon.js:

Para criar uma aplicação Olá Mundo com o Cylon.js, você precisará:

  • Fazer a requisição do módulo cylon;
  • Utilizar o método Robot para logar o resultado no console;
  • utilizar o método start() para mostrar o resultado.
let Cylon = require('cylon');

Cylon.robot({
    work: function() {
        every((1).second(), function() {
            console.log("Olá Mundo!");
        });
    }
}).start();

Com isso, temos um Olá Mundo!

Arduino = LED + Botão

Este exemplo acende um LED ao clicar em um botão:

let Cylon = require('cylon');

Cylon.robot({
    connections: {
        arduino: { adaptor: 'firmata', port: '/dev/ttyACM0'}
    },

    devices: {
        led: { driver: 'led', pin: 13 },
        button: { drier: 'button', pin: 2}
    },

    work: function(my){
        my.button.on('push', function() {
            my.led.toggle()
        });
    }
}).start();

O Cylon.js pode ser executado diretamente no navegador, usando o módulo NPM do browserify. Você pode executá-lo usando um aplicativo conectado ao Chrome ou um aplicativo móvel PhoneGap.

Você pode ver mais alguns exemplos do Cylon.JS em ação, consulte a página de exemplos.

O Cylon.js fornece uma maneira simples e poderosa de criar soluções que incorporam vários dispositivos de hardware diferentes ao mesmo tempo.

Para verificar atualizações, notas e outros comentários sobre o Cylon.js , você pode acessar o blog do Cylon.js. Também pode acessar o GitHub.

O Cylon.js foi feito e atualizado pelo Hybrid Groud. É licenciado sob a licença Apache 2.0.

Gostou deste artigo? Comente abaixo!

Novas funcionalidades DevTools

O Google Chrome fornece um conjunto robusto de ferramentas integradas diretamente no navegador, chamado afetivamente de DevTools do Chrome. Essas ferramentas são atualizadas o tempo todo pela equipe de desenvolvedores do Google Chrome; portanto, às vezes vale a pena procurar no site do DevTools para ver as novidades.

Alguns dos recursos menos conhecidos se enquadram na API do utilitário do console. Isso significa que eles estão disponíveis apenas para uso no console do Chrome. Você não pode usar esses recursos dos seus scripts.

  1. $ e $$

Esses dois caras são pseudônimos. Um único $ é um atalho para document.querySelector () e um duplo $$ é um atalho para document.querySelectorAll ().

Digamos que tenhamos um documento HTML simples parecido com este:

<div class="container">
    <div id="app">
        <div :class="{ ugly: isUgly }">{{ message }}</div>
        <h2 id="theCount">The count is: {{ count }}</h2>
        <button class="btn btn-primary" @click="increment">+</button>
        <button class="btn btn-primary" @click="decrement">-</button>
        <button class="btn btn-primary" @click="applyUgly">make ugly</button>
    </div>
</div>

E vamos especular ainda mais que queremos selecionar o primeiro botão deste documento, bem como uma coleção de todos os botões. Dê uma olhada neste:

O único $ retorna um elemento enquanto o $$ retorna a coleção.

Observe que, se você estiver usando uma biblioteca como o jQuery, que atribuirá outro valor a $, substituirá a funcionalidade interna.

  1. A função inspect()

Este pode ser usado em conjunto com o código anterior. Digamos que nosso documento HTML seja enorme e gostaríamos de selecionar um botão no HTML no console. Se inserirmos o seguinte:

Assim que pressionar enter, o DevTools passará da guia Console para a guia Elementos e destacará o elemento HTML que foi selecionado.

Também podemos usar o atalho $$ com inspect(). Ele exibirá uma lista de correspondências no console e podemos clicar em uma para ir para ela no DOM.

 

  1. key / values

Este é útil para ver rapidamente do que um objeto é composto. Digamos que temos o seguinte objeto simples.

let myObj = {
    first: 'alex',
    last: 'ritzcovan',
    state: 'ny'
}

 

Usando keys() e values(), podemos extrair exatamente isso ou podemos exibir as chaves e os valores chamando o objeto diretamente, como mostrado abaixo:

 

  1. Table

Por último, temos a função table(). Usando o mesmo objeto que usamos anteriormente, se o passarmos para table(), obtemos o seguinte no console.

Referência: https://medium.com/dailyjs/5-chrome-devtools-utilities-you-need-to-know-5bfe58c75773

Gostou? Comente abaixo!

Cargos de TI no Brasil precisando de profissionais

Atualmente os CIOs (chief Information Officers; também conhecido como o chefão da area de tecnologia em empresas grandes) estão tendo que assumir maior responsabilidades mais complexas e que vão além do desenvolvimento de sistemas e infraestrutura de redes da empresa. Agora eles precisam se preocupar mais com coisas como segurança cibernética, ciência e análise de dados (Data Science) e aprendizado de máquina e inteligência artificial (Artificial Intelligence). Com essa mudança, novas vagas de emprego começam a ser mais requisitadas e com isso a necessidade de profissionais especializados que consigam preencher tais vagas.

Tendo isso em menste, foi feita uma pesquisa que entrevistou 679 diretores de TI e 250 líderes de TI de linha de negócios, eles informaram que em 2020 as prioridades são:

  • aumentar a eficiência operacional (37%)
  • melhorar a experiência do cliente (35%)
  • Aumentar as proteções de segurança cibernética (33%)
  • transformar os processos de negócios (30%)
  • melhorar a lucratividade (24%)

Essas mudanças estão ditando novas demandas por talentos. O que permanece o mesmo, no entanto, é que a competição por profissionais qualificados continua aumentando, principalmente em áreas como cibersegurança, segundo John McKnight, vice-presidente executivo de serviços de pesquisa do Enterprise Strategy Group.

Embora a ciência e a análise de dados permaneçam escassas, as habilidades em cibersegurança ocuparam o primeiro lugar na pesquisa deste ano, com 39% dos líderes de TI prevendo dificuldade em encontrar talentos neste ano, ante 33% em 2019. Outras mudanças notáveis: o design thinking, o DevOps e as habilidades ágeis são todos percebidos como desafios crescentes para contratação no próximo ano, em parte por conta da abordagem de concentração em produto e cliente.

Confira as 12 áreas que serão mais desafiadoras para encontrar talentos em 2020:

  • Cibersegurança: 39%
  • Ciência de dados / análise: 35%
  • IA / aprendizado de máquina / RPA: 31%
  • Serviços / integração em nuvem: 18%
  • Tecnologias herdadas: 18%
  • DevOps / DevSecOps / processos ágeis: 17%
  • Internet das coisas: 17%
  • Arquitetura em nuvem: 16%
  • Design thinking / UX: 16%
  • Engenharia de software: 15%
  • Desenvolvimento de aplicativos: 15%
  • Gerenciamento multi cloud: 15%

Com isso você pode ver que diversas áreas que já vem sido mencionadas por diversos sites e mídias focadas na área de tecnologia; Lecionadas nas universidades e cursos do Brasil estão ficando mais fortes no mercado de trabalho. Se você está na duvida sobre qual ramo da Ciêcia/Engenharia da Computação seguir ou até mesmo se você já é trabalha com TI mas está pensando em trocar de área de especialização, vale a pena dar uma olhada nestas áreas que foram mencionadas. Boa sorte.

fonte:

https://cio.com.br/os-12-cargos-de-ti-mais-dificeis-de-serem-preenchidos-nas-empresas/

 

eXtern OS: Linux + JavaScript

O eXtern OS é uma nova distribuição do GNU/Linux, criada por um estudante de engenharia eletrônica com sede na Austrália e acaba de ser lançada na versão beta. Em um ecossistema como o do Linux, onde cada desenvolvedor pode criar sua própria variação do sistema operacional, o lançamento de novas distribuições não é novidade em si. Então, o que torna o eXtern OS especial? A distribuição eXtern OS é baseada em JavaScript.

Atualmente  ele está na versão 2.2.2 com as seguintes correções e melhorias:

O JavaScript começou como uma linguagem de programação restrita ao ambiente da Web e focada no cliente, o que significa que ele só foi executado no navegador da Internet. Então o NodeJS chegou e o JavaScript também começou a ser executado no servidor. Mais tarde veio o NW.js, baseado no anterior (e compatível com seus módulos de terceiros), e projetado para aplicar todo o poder das tecnologias da web no desenvolvimento de aplicativos de desktop. E é precisamente nessa tecnologia que se baseiam as novas aplicações de interface e eXtern OS.

Portanto, quando ele fala sobre suas “infinitas possibilidades de desenvolvimento”, o que ele está falando é facilitar para os programadores o uso de tecnologias como HTML5, CSS3, WebGL etc. para criar novos aplicativos para nossos sistemas de desktop. De acordo com o site, “é um sistema operacional que oferece uma interface de usuário e experiência únicas em comparação com os sistemas tradicionais. Além disso, trabalha com JavaScript, o que […] torna infinitas as possibilidades de desenvolvimento de aplicativos”. Apenas um momento, o que significa que “funciona com JavaScript“?

eXtern OS é uma distribuição Linux com interface baseada em JavaScript

O eXtern OS inclui seus próprios aplicativos padrão para navegação na Web e reprodução de multimídia, além de um navegador de arquivos. A seguir estão os requisitos mínimos para usar o eXternOS:

  • Intel Celeron de 64 bits a 1,2 GHz ou superior.
  • 4 GB de RAM
  • VGA com resolução de tela de 1366 × 768.
  • Conexão com a Internet (seu criador explica que esse requisito não existirá nas próximas versões).

Se você quiser dar uma olhada ( lembre-se de que ele está na fase inicial ), você pode baixar a ISO do seu beta 2 no site oficial e executá-lo em um DVD ou em um USB inicializável. Os usuários que tentaram (a propósito, muitos em máquinas virtuais, apesar do site oficial desaconselhar) elogiam sua facilidade de uso e seu baixo consumo de recursos.

Nas minhas tentativas de baixar a ISO, houve várias falhas, com a página fora do ar em diversos momentos. Os arquivos estão em torrent e no Google Drive. Portanto, talvez seja uma boa ver como funciona eXtern OS, que é uma distribuição Linux com interface baseada em JavaScript.

Quanto esta ganhando o TI nos Estados Unidos?

Se você quer saber como estão os salários de TI nos EUA, este post é para você. Listamos abaixo as os cargos em empresas de tecnologia que tiveram os maiores aumentos de salário entre 2018 e 2019. Com base em na análise da insights, fica claro que os empregadores têm fome de profissionais da área que podem realizar uma variedade de tarefas, desde a análise de dados até a criação de aplicativos (além de garantir que esses aplicativos entrem no mundo relativamente livre de erros).

Os dados do Relatório Salarial foram extraídos de 12.837 cargos da área de TI nos Estados Unidos. Além disso, as ocupações abaixo do gráfico também incorporaram dados da Burning Glass, que coleta e analisa milhões de vagas de emprego em todo o país, para obter informações que ajudem eles a preencher vagas com habilidades mais solicitadas. é importante ressaltar que a Burning Glass define “Definindo habilidades” como as tarefas e responsabilidades diárias de um trabalho específico, enquanto “habilidades diferenciadas” são habilidades avançadas exigidas ocasionalmente e que realmente definem e diferenciam os funcionários altamente especializados.

Como você pode ver na lista a seguir, um amplo espectro de ocupações obteve ganhos, o que é um reflexo de todos os tipos de empresas e indústrias que precisam de uma gama de serviços de tecnologia:

Lembrando: É o salário em dólares e por ano, não por mês! O pessoal ganha bem mas não é para tanto.. kkk

Occupation 2018 2019 Y/Y (%)
Systems Architect $128,440 $138,277 8
Data Architect $129,528 $128,890 0
Cloud Engineer $121,491 $128,347 6
Product Manager $114,174 $121,316 6
Security Engineer $110,716 $121,228 10
DevOps Engineer $111,683 $117,478 5
Project Manager $110,925 $116,012 5
Software Developer $109,360 $114,336 5
Data Engineer $103,596 $113,249 9
Sales Engineer $90,356 $110,030 22
Data Scientist $95,404 $106,298 11
MIS Manager $104,917 $106,080 1
UI / UX Designer $97,863 $105,226 8
Database Administrator $103,473 $104,127 1
Mainframe Systems Programmer $100,629 $102,879 2
Other Info Technology $95,789 $97,396 2
Business Analyst $94,926 $92,760 -2
Quality Assurance Engineer $86,734 $91,098 5
Network Engineer $86,220 $89,596 4
Systems Administrator $82,624 $82,961 0

CheerpJ 2.0: Converta apps Java em JavaScript

Foi lançado o CheerpJ 2.0(https://leaningtech.com/pages/cheerpj.html) da Learning Techonologies (https://leaningtech.com). Com ele é possível converter aplicações web client em código HTML5/WebAssembly/JavaScript.

Como funciona?

  1. Compilação antecipada:
    • O compilador do CheerpJ processa o bytecode antecipadamente, gerando um código JavaScript otimizado que pode rodar em qualquer browser.
  2. Runtime CheerpJ:
    • Em paralelo com a aplicação convertida, ele executa um runtime altamente otimizado utilizando JavaScript e WebAssembly. Isso mantém a execução 100% no lado do cliente.
  3. Compilador Java online:
    • Sempre que uma nova classe for gerada, o CheerpJ a converte na hora.

O legal da tecnologia é que ela permite converter com o bytecode do Java, então você nem precisa ter o código fonte. Outra coisa importante é que ela é 100% compatível com o Java 8(incluindo reflections e classes dinâmicas). Isso torna possível trabalhar com client Swing, applets e bibliotecas.

Se você quiser ver alguns exemplos, acesse a página de demo do CheerpJ (https://leaningtech.com/pages/cheerpj_demos.html) . Se você preferir testar na prática, vale a pena acessar o code playground (https://javafiddle.leaningtech.com) e criar algumas aplicações para ver os resultados.

JavaScript é a linguagem mais demandada

JavaScript é a linguagem mais exigida em 2020, segundo um relatório da DevSkiller, o JavaScript substitui o Java na comparação com o relatório do ano anterior. Sendo que agora o SQL está em segundo lugar e ele caiu de primeiro para terceiro.

O crescimento na popularidade do JavaScript mostra que existe uma grande necessidades dos desenvolvedores de criar aplicativos web em contraste com o declínio de grandes sistemas focados no back-end.

Segue abaixo as 5 linguagens mais procuradas:

  1. JavaScript
  2. SQL
  3. Java
  4. HTML/CSS
  5. .NET/C#

Outras observações que são importantes destacar:

  • 72% das empresas procurando estão procurando por desenvolvedores com conhecimento de JavaScript. Seguido por 55% que estão procurando profissionais com conhecimentos de SQL e 53% de desenvolvedores Java.
  • React, Spring, ASP.NET, MySQL e HTML são as tecnologias mais populares para as linguagens mais populares.
  • Para desenvolvedores Python, análise de dados é o termo mais comum sendo procurado. Seguido por Django e NumPy.

Novidades React v3.3.0

O React já disponibilizou a versão v3.3.0, que é uma versão que inclui recursos como modelos customizados e suporte para alguns novos operadores opcionais de encadeamento e coalescência nula.

Modelos personalizados:

Agora, você pode criar um aplicativo novo utilizando modelos personalizados. Alguns modelos existentes como cra-template e cra-template-typescript. Utilize esse comando para criar um novo aplicativo tendo como base um modelo personalizado:

npx create-react-app my-app --template typescript

Você pode omitir o prefixo cra-template ao especificar o modelo desejado.

Operadores de encadeamento e coalescência nula:

// encadeamento opcional
a?.(); // undefined se a `a` é null/undefined
b?.c; // undefined se a `b` é null/undefined

// coalescência nula
undefined ?? 'algum outro padrão'; // resulta em: 'algum outro padrão'
null ?? 'algum outro padrão'; // resulta em: 'algum outro padrão'
'' ?? 'algum outro padrão'; // resulta em: ''
0 ?? 300; // resulta em: 0
false ?? true; // resulta em: false
Importante:

Para utilizar os novos operadores, atualize o seu TypeScript para a versão 3.7.0. Caso utilize o VS Code 1.4 ou anterior, configure o editor para que ele entenda os novos operadores.

Continue lendo “Novidades React v3.3.0”