;(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

Minas hackers

Elas invadem o mercado da tecnologia para mudar o sistema feito por homens

Marcelle Souza Colaboração para o UOL, em São Paulo Arte/UOL

Ei, garota, já ou pela sua cabeça que as tecnologias não te representam? Talvez você nunca tenha reparado nisso, mas essa inquietação fez com que um grupo de mulheres se reunisse para combater às desigualdades no mundo de hardwares e softwares. Elas chegam para invadir o sistema dominado, desde sempre, por homens brancos e com algum dinheiro.

São as chamadas hackers feministas --ou seriam feministas hackers?

Se vivemos em uma sociedade machista, a tecnologia que ela cria reproduzirá machismo, opressão e exclusão

Karen Ribeiro, professora do Instituto de Computação da Universidade Federal de Mato Grosso

A hacker feminista

Antes que você estranhe, é preciso esclarecer uma coisa. Há dois termos para designar pessoas que conseguem criar e modificar os sistemas computacionais: hackers e  crakers. A diferença é como cada um (ou uma) usa o conhecimento e as ferramentas que possui para alterá-lo. 

Hackers fazem isso de forma legal, sem invasão ou quebra de dispositivos protegidos, enquanto os crackers são vistos como criminosos, porque ignoram possíveis danos a empresas e à sociedade.

Ao usar o termo hacker, então, a ideia dessas mulheres é invadir um espaço bem masculino, o setor de tecnologia, para mudar o jeito com as coisas são feitas e pensadas --não só os espaços virtuais, mas também os reais, de discussão e de ação.

Ser hacker feminista é reprogramar as redes de poder e informação da nossa sociedade para que as conexões humanas sejam mais baseadas em equidade e empatia que em dominação e hegemonia. Eu tento fazer isso por meio da educação e tecnologia

Karen Ribeiro, professora do Instituto de Computação da Universidade Federal de Mato Grosso (UFMT) e coordenadora do Programa Meninas Digitais

Ser hacker é não se contentar com o que lhe é dado e ir atrás de mais conhecimento e inovação. Também pode ser ativista, porque se preocupa com questões éticas, políticas, liberdade de expressão, colaboração e difusão do conhecimento

Mônica Paz, pesquisadora do GIG@ (Grupo de pesquisa em Gênero, Tecnologias Digitais e Cultura da UFBA) e professora do Centro Universitário Estácio da Bahia

Para isso, elas investem, por exemplo, em novos aplicativos e plataformas digitais, capacitam outras mulheres para que, sabendo como a rede funciona, decidam melhor quais dados querem ou não disponibilizar e montam redes para formar e encaminhar profissionais qualificadas para o mercado de trabalho. 

O grande hackeamento é no modo como os produtos tecnológicos são pensados e realizados e como a informação é selecionada e circula.

Com um olhar mais diverso, eles am a ser concebidos carregando as experiências de quem está de fora do sistema --não só as mulheres, como negros, indígenas, LGBTQ+, populações periféricas e demais grupos excluídos.

O olhar muda tudo: apps para todos

  • Mete a Colher

    497 pessoas, na maioria mulheres, financiaram coletivamente o app que conecta vítimas de violência doméstica e pessoas dispostas a ofereça ajuda. Você deixa um relato, com segurança e privacidade, e outras mulheres ajudam para te tirar de relações abusivas.

    Leia mais
  • Homo Driver

    É um app de transporte, como os outros de carona que já existem, mas voltado para a comunidade LGBT+. Funciona para dar mais tranqüilidade e empatia aos ageiros durante as corridas e mais empoderamento os motoristas gays.

    Leia mais
  • Black Bird

    "Viajar é uma experiência transformadora, por que não pode ser também inclusiva">Educação

    Elas são apenas 15% dos alunos matriculados em cursos de ciência da computação e engenharia, percentual que se repete no mercado de trabalho. As mulheres representam só 17% das programadoras, segundo a Sociedade Brasileira de Computação.

  • Interesse

    74% das meninas manifestam interesse em ciência, tecnologia, engenharia e matemática. O problema é que apenas 30% das pesquisadoras do mundo são mulheres, segundo a ONU (Organização das Nações Unidas).

  • Discriminação

    Pesquisa de 2018 feita pelo site de recrutamento Catho com a consultoria UPWIT mostrou que 51% das 1.000 entrevistadas da área relatam discriminação no trabalho por gênero, sendo que 46,6% delas consideram as chances de crescer em suas empresas ruins ou péssimas.

Somos ensinadas desde pequenas a sermos cuidadoras e a servir, ganhamos bonecas e as para brincar, enquanto aos homens são reservadas outras expectativas. Durante muito tempo, o computador e o videogame foram objetos para os meninos. Tudo isso cria esse estereótipo tão difundido de que mulher e tecnologia não combinam

Iana Chan

Nem todas são iguais

Se não está fácil para as mulheres brancas e com o, imagina para negras, indígenas e garotas da periferia. Segundo estudo feito em 2010 nos Estados Unidos, apenas 10% das mulheres que obtiveram diplomas como engenheiras ou cientistas naquele país eram negras. No mercado, elas ocupavam menos de 1% do total de mulheres empregadas nessa indústria. No Brasil, segundo a PretaLab (iniciativa para capacitar mulheres negras e indígenas para a tecnologia), não há dados precisos sobre o assunto.

Silvana Bahia, diretora de projetos do Olabi e coordenadora do PretaLab, conta que sempre achou que, como negra e periférica, o universo da tecnologia estava distante demais da sua realidade:

Só consegui aprender quando encontrei mulheres com paciência e boa vontade, e aquilo me fez achar que eu era capaz. Isso tem a ver com afeto e acolhimento, mulheres que estão a fim de ensinar, o que é muito revolucionário

Ela ressalta é preciso entender o quanto a tecnologia está associada aos direitos humanos. "Porque nós somos diretamente afetadas por elas", diz.

Programe como uma garota

Se animou">Programa Meninas Digitais

A Sociedade Brasileira de Computação também criou em 2011 o curso que envolve alunas do ensino fundamental e médio na produção de aplicativos, jogos eletrônicos e projetos de robótica ou eletrônica. O programa hoje está presente em 21 estados e já recebeu mais de 3.000 crianças e adolescentes, sendo 70% meninas.

A pioneira

Se você está lendo esta reportagem na tela de um computador ou de um smartphone, saiba que é graças a uma mulher, a britânica Ada Lovelace, que ainda no século 19 escreveu o primeiro código complexo de programação do mundo.

Ada viveu entre 1815 e 1852 no Reino Unido. Aos 17 anos, conheceu o inventor Charles Babbage, que na época trabalhava em duas máquinas, uma delas era uma espécie de ancestral computador moderno. Anos depois, ele pediu que Ada que traduzisse do francês as anotações do matemático italiano Luigi Federico Menabrea sobre a máquina analítica.

Ada não só fez a tradução, como decidiu acrescentar notas próprias, que descreviam o funcionamento da máquina e elaborou um plano para que ela pudesse executar cálculos, ou seja, criou o primeiro algoritmo.

Topo