;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Vital Brasil Médico e cientista brasileiro

28/04/1865, Campanha, MG

08/05/1950, Niterói, RJ

Da Página 3 Pedagogia & Comunicação

03/09/2007 11h05

O nome Vital Brazil Mineiro da Campanha traz a junção de "Vital", o santo do dia de seu nascimento; "Brazil" (com Z, atualizado para "Brasil", após a morte), o país de nascimento; "Mineiro", do estado de Minas Gerais, e "Campanha", o nome da cidade natal.

Aos 15 anos, Vital Brasil foi com a família para São Paulo, onde ou a juventude entre o trabalho e os estudos. Aos 21 anos mudou-se para o Rio de Janeiro para cursar medicina e lá exerceu diversos ofícios: condutor de bondes, auxiliar de engenheiro e professor particular.

Em 1891 formou-se em medicina e logo depois se casou com a prima Maria da Conceição Philipina de Magalhães.

Ele trabalhou como médico na Força Pública e no Serviço Sanitário, em São Paulo e na cidade de Botucatu. Durante as epidemias de febre amarela, varíola e cólera, Vital Brasil chefiou a comissão sanitária em Cachoeira, no Vale do Paraíba, e combateu a peste bubônica na cidade de Santos, contraindo a doença durante o trabalho.

Foi em Botucatu que o cientista resolveu estudar as serpentes venenosas, ando a trabalhar no Instituto Bacteriológico de São Paulo, hoje Instituto Adolfo Lutz.

Com o apoio de Lutz e com conhecimento dos estudos sobre soros antiofídicos do doutor Calmette, no Instituto Pasteur da Índia, Vital fez suas primeiras experiências com venenos.

Vital Brasil foi em seguida chamado pelo governo do Estado de São Paulo para ajudar a criar um laboratório de produção de soro antipestoso, vinculado ao Instituto Bacteriológico.

Foi então comprada a fazenda Butantã e instalado o laboratório, reconhecido como instituição autônoma em fevereiro de 1901, sob a denominação de Instituto Serumtherápico, com Vital Brasil como diretor. Em 1914 foi inaugurado o prédio principal. O instituto ou a se chamar Butantã e ganhou prestígio internacional.

Em 1919, Vital Brazil foi convidado pelo governo do Estado do Rio de Janeiro a criar um centro de pesquisas biológicas em Niterói. Foi fundado então o Instituto Vital Brazil.

Viúvo desde 1913, casou-se novamente, em 1920, com Dinah Carneiro Vianna. Vital Brasil Mineiro da Campanha morreu em 1950, aos 85 anos, ainda na direção do instituto que leva seu nome.