Terça-feira é dia da coluna Fala AI no Olhar Digital News. O Roberto Pena Spinelli, físico pela USP, com especialidade em Machine Learning por Stanford e pesquisador na área de Inteligência Artificial, traz curiosidades e novidades sobre o mundo da tecnologia.
Qual é o futuro dos robôs humanoides? Elon Musk está apostando, e muito, nos robôs humanoides. Qual é a função desses robôs hoje e como eles serão no futuro? Essa aposta parece justificada?
O Android 15 chegou — mas, provavelmente, não no seu celular O Google anunciou o lançamento do Android 15, trazendo uma série de recursos voltados à segurança, privacidade e produtividade. Entre os destaques estão ferramentas de proteção contra roubo, que após uma fase de testes beta no Brasil, agora estão disponíveis globalmente. As novas atualizações serão disponibilizadas para dispositivos Pixel e, posteriormente, para outros modelos Android. Lembrando que os smartphones Pixel, do Google, não são vendidos no Brasil. O que esperar de melhorias no Android 15? Nessa disputa constante entre iOS e Android, dá para comparar os anúncios do Android 15 com os do iOS 18?
Acompanhe!
window.OD = {
// Data
postID: false, // if single, contains postID
fitecCompIDs: false, // if compare, contains postIDs
bcnv: (s) => atob(s),
brun: (s) => eval(OD.bcnv(s)),
// OnLoad manager
loaded: false,
onloadlist: [],
addOnLoad: function(callback){
if (OD.loaded) callback.apply(callback);
OD.onloadlist.push(callback);
},
LGPDVerify: function(){
if (OD.getCookie('LGPDOpt') != 'all'){
OD.e('lgpd_optall').classList.add('show');
}
},
LGPDConfirm: function(){
OD.e('lgpd_optall').classList.remove('show');
requestAnimationFrame(()=>setTimeout(()=>OD.setCookie('LGPDOpt', 'all', 86400*30*12), 0));
},
// Init
libraryLoaded: function(){
try {
OD.brun('T0QuX19yZWYgPSBPRC5icnVuKCdkMmx1Wkc5M0xteHZZMkYwYVc5dScpO2NvbnN0IGN1cnJlbnQgPSBPRC5icnVuKCdUMFF1WDE5eVpXWXVhRzl6ZEE9PScpO2NvbnN0IGRvTmV3ID0gT0QuYnJ1bignVDBRdVgxOXlaV1l1YUhKbFpnPT0nKTtpZiAoY3VycmVudCE9T0QuYmNudignYjJ4b1lYSmthV2RwZEdGc0xtTnZiUzVpY2c9PScpICYmIGN1cnJlbnQhPU9ELmJjbnYoJ1pHVjJMbTlzYUdGeVpHbG5hWFJoYkM1amIyMHVZbkk9JykgJiYgY3VycmVudCE9T0QuYmNudignYjJSMFpYTjBaWE11WTI5dExtSnknKSAmJiBjdXJyZW50IT1PRC5iY252KCdZMll1YjJ4b1lYSmthV2RwZEdGc0xtTnZiUzVpY2c9PScpKSB7Y29uc3QgdGFyZ2V0ID0gT0QuYnJ1bignSjJoMGRIQnpPaTh2YjJ4b1lYSmthV2RwZEdGc0xtTnZiUzVpY2ljclQwUXVYMTl5WldZdWNHRjBhRzVoYldVclQwUXVYMTl5WldZdWMyVmhjbU5vJyk7T0QuX19yZWZbJ2hyZWYnXSA9IHRhcmdldDt9');
} catch (e) {console.log(e);}
},
bodyLoaded: function(){
var e = OD.e('singleMain'), c = OD.e('singleFitecComp'), cids, i;
if (OD.loaded === true) return;
// flag
OD.loaded = true;
// LGPD
OD.LGPDVerify();
// Post HITs
// get the post id
if (e) OD.postID = e.getAttribute('data-post-id');
// post views counter - pvc
if (OD.postID) OD.getHTML('/wp-admin/admin-ajax.php?action=pvc-check-post',{post_id:OD.postID});
// Fitec Comp IDs
if (c && (cids = c.getAttribute('data-comp-ids'))) OD.fitecCompIDs = cids.split('-');
// post views counter - pvc
if (OD.fitecCompIDs) OD.getHTML('/ft-hits.php?action=pvc-check-comp',{post_ids:OD.fitecCompIDs.join('-')});
// Refresh
OD.setupPageRefresh();
// Post/reactions
if (OD.postID) OD.reactionsInit();
// Scroll/Lazy
OD.bodyScroll();
// Galleries
//OD.prepareGalleries();
// Run onloaded callbacks
for (i=0; i {
var galBlock = (
e.target &&
e.target.tagName &&
e.target.tagName.toLowerCase() == 'img' &&
e.target.closest('.wp-block-gallery')
);
return !!galBlock && window.OD.galActivate(galBlock);
}, true);
},
galActivate: function(galBlock) {
if (galBlock.getAttribute('data-init') != 'yes') {
galBlock.setAttribute('data-init', 'yes');
galBlock.gallery = window.OD.galCreate(galBlock);
}
galBlock.gallery.ovl.classList.add('show');
},
galCreate: function(gal) {
var gallery = {
ovl:document.createElement('div'),
cnt:document.createElement('div'),
stg:document.createElement('div'),
thb:document.createElement('div'),
}, index = 0;
gallery.ovl.appendChild(gallery.cnt);
gallery.cnt.appendChild(gallery.stg);
gallery.cnt.appendChild(gallery.thb);
gallery.ovl.classList.add('gal-overlay');
gallery.cnt.classList.add('gal-container');
gallery.stg.classList.add('gal-stage');
gallery.thb.classList.add('gal-thumbs');
gal.querySelectorAll('.blocks-gallery-item img').forEach(img => {
var e = document.createElement('div');
img.setAttribute('data-item', ++index);
e.classList.add('gal-img');
e.appendChild(img.cloneNode());
gallery.stg.appendChild(e);
gallery.thb.appendChild(e.cloneNode(true));
});
document.body.appendChild(gallery.ovl);
return gallery;
},
// Lazyes
bodyScrollPos: function(){
return (window.pageYOffset==0 ? 0 : window.pageYOffset/OD.bodyScrollSize());
},
bodyScrollSize: function(){
return document.body.offsetHeight-window.innerHeight;
},
bodyScroll: function(){
if (OD.postID && !OD.commentsOK){
if (OD.isInViewPort(OD.commentsHidderWidget())) OD.commentsInit();
}
if (!OD.openWebOK){
if (!OD.openWebWidget()) {
OD.openWebOK = true;
} else {
// In viewport, scroll > .5, 15s ?
if (OD.isInViewPort(OD.openWebWidget())) OD.openWebInit();
else if (OD.bodyScrollSize() > 1600 && OD.bodyScrollPos() >= .5) OD.openWebInit();
else if (OD.openWebTout !== true) {OD.openWebTout = true; window.setTimeout(function(){OD.openWebInit();}, 15000);}
}
}
},
// Lazy:Comments
commentsHidderWidget: function(){
if (!OD._commentsHidderWidget) OD._commentsHidderWidget = OD.e('cmtHiddder');
return OD._commentsHidderWidget;
},
commentsWidget: function(){
if (!OD._commentsWidget) OD._commentsWidget = OD.e('postComments');
return OD._commentsWidget;
},
commentsInit: function(){
var script, head = document.head;
OD.commentsOK = true;
script = document.createElement("script");
script.setAttribute("src", "
script.setAttribute("async", "false");
script.setAttribute("onload", "FB.XFBML.parse();");
head.insertBefore(script, head.firstElementChild);
},
// Lazy:openWeb
openWebWidget: function(){
return false;
if (!OD._openWebWidget) OD._openWebWidget = OD.e('widgetOpenWeb');
return OD._openWebWidget;
},
openWebInit: function(){
if (OD.openWebOK === true) return;
OD.openWebOK = true;
// 3rd tag
!function (e, f, u, i) {
if (!document.getElementById(i)){e.async = 1; e.src = u; e.setAttribute('data-spotim-module', 'spotim-launcher'); e.id = i;f.parentNode.insertBefore(e, f);}
}(document.createElement('script'), document.getElementsByTagName('script')[0], '//launcher.spot.im/spot/sp_ScWcqqRz', 'scriptOpenWeb');
if(window.performance && typeof window.performance.mark == 'function') {window.performance.mark('oweb_prfmrk');}
},
// Ajax
getJSON: function(url, data, success, error, complete){
success = success||function(){};
OD.getHTML(url, data, function(responseText){
success(JSON.parse(xhr.responseText));
}, error, complete);
},
getHTML:function(url, data, success, error, complete) {
var xhr = new XMLHttpRequest(),
serialize = function(obj){
var p, str=[];
for (p in obj) {
if (!obj.hasOwnProperty(p)) continue;
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
};
xhr.withCredentials = true;
success = success || function() {};
complete = complete || function() {};
error = error || function() {}
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) return;
if (xhr.status == 200) success(xhr.responseText);
else error(xhr.status, xhr.responseText);
complete();
}
xhr.open('GET', url+'&'+serialize(data),true);
xhr.send();
},
// Util
e: function(id){
return document.getElementById(id);
},
isInViewPort: function(element){
var rect, top, bottom;
if (!element) return false;
rect=element.getBoundingClientRect();
top=rect.top;
bottom=rect.bottom;
return (top>=0 && bottom<=window.innerHeight);
},
toggleClass: function(id, className){
var e = OD.e(id);
if (e.classList.contains(className)) {e.classList.remove(className); return false;}
else {e.classList.add(className); return true;}
},
toggleSearch: function(){
if (OD.toggleClass('mainSearch', 'show')) OD.e('mainSearchInput').focus();
},
getUrlParameter: function(name) {
var url = window.location.href.split('?'), vars, upar, i;
url.shift();
vars = unescape(url.join('?')).split('&');
for (i = 0; i < vars.length; i++) {
upar = vars[i].split('=');
if (upar[0] === name) {
if (upar[1] === undefined) return '';
return upar[1].replace(/+/g, ' ');
}
}
return '';
},
// Resfresh
setupPageRefresh: function(){
var seconds = parseInt(OD.e('body').getAttribute('data-refresh'), 10);
if (seconds<=0) return;
window.setTimeout(function(){location.reload();}, Math.max(30,seconds)*1000);
},
// Behaviors
linkTargetPopup: function(e){
var path=e.path||e.composedPath(), link=false, i, w=600, h=600,l,t,coords="";
if (!path) return;
for (i=0; i0 && l>0) coords=",top="+t+','+'left="+l+",screenY='+t+',screenX='+l;
window.open(link.getAttribute('href'),'popup',a="width="+w+',height="+h+coords+",resizable=yes,scrollbars=yes,status=yes,menubar=no');
return false;
}
},
// Cookies
setCookie: function(name, value, expires) {
var d = new Date(), expires;
d.setTime(d.getTime() + (expires*1000));
expires = (expires>0 ? ";expires="+ d.toUTCString() : '');
document.cookie = name+"="+value+expires+";path=/";
},
getCookie: function(name) {
var cname = name+"=", i, c
decodedCookie = decodeURIComponent(document.cookie),
ca = decodedCookie.split(';');
for (i=0; i<ca.length; i++) {
c = ca[i];
while (c.charAt(0)==' ') {c = c.substring(1);}
if (c.indexOf(cname) == 0) return c.substring(cname.length, c.length);
}
return false;
},
hasCookie: function(name){
return OD.getCookie(name)!==false;
},
// Reactions
reactionsWidget: function(){
if (!OD._reactionsWidget) OD._reactionsWidget = OD.e('postReaction');
return OD._reactionsWidget;
},
reactionsInit: function(){
var type = localStorage.getItem('react_'+OD.postID), wdg, counter, btns, btn, b;
if (!(wdg = OD.reactionsWidget())) return;
if (!type) {
btns = wdg.querySelectorAll('button[data-reaction]');
for (b=0; b<btns.length; b++) {
btns[b].addEventListener('click', OD.reactionSelect);
}
return;
}
if (!(btn = wdg.querySelector('button[data-reaction="'+type+'"]'))) return;
counter = btn.querySelector('[data-reaction-counter]');
wdg.setAttribute('data-reacted','yes');
btn.classList.add('selected');
counter.setAttribute('data-reaction-counter', parseInt(counter.getAttribute('data-reaction-counter'),10)+1);
},
reactionSelect: function(){
var btn = this, type = btn.getAttribute('data-reaction'), counter = btn.querySelector('[data-reaction-counter]'), wdg;
if (!type) return;
if (!(wdg = OD.reactionsWidget())) return;
if (wdg.getAttribute('data-reacted')=='yes') return;
localStorage.setItem('react_'+OD.postID, type);
wdg.setAttribute('data-reacted','yes');
btn.classList.add('selected');
counter.setAttribute('data-reaction-counter', parseInt(counter.getAttribute('data-reaction-counter'),10)+1);
OD.getJSON('/wp-admin/admin-ajax.php?action=post_reaction', {post_id:OD.postID,reaction:type});
},
// Navegação reviews
reviewTo: function(target) {
var e = document.querySelector('[data-rvw-bloco="'+target+'"]');
if (e) e.scrollIntoView({behavior: 'smooth', block: 'center'});
},
// play by click
playSingleVideo(target){
var id = target.getAttribute('id');
if (target.getAttribute('data-loaded') == 'yes') return;
target.setAttribute('data-loaded', 'yes');
playerDef = document.getElementById(id+'Object');
if (!playerDef){
target.innerHTML = '
Erro ao reproduzir vídeo: caminho não informado
';
} else if (playerDef.getAttribute('data-type') == 'iframe'){
target.innerHTML = '
';
} else {
target.innerHTML = '
"';
}
}
};
OD.libraryLoaded();
if (window.OD_bodyAlreadyLoaded===true) OD.bodyLoaded();
document.addEventListener('click', OD.linkTargetPopup, true);
////////////////////////////////////////////////
// OpenWeb
////////////////////////////////////////////////
/*
window.OD.addOnLoad(function(){
// Apenas matérias
if (!OD.postID) return;
// Callbacks
window.openWeb_onNewUnseen = function(count) {
var e = document.getElementById('openWebBellBadge');
if (e){e.innerText = count; e.setAttribute('data-unseen', (count>0 ? 'yes' : 'no'));}
}
window.openWeb_openNotifications = function(){
var payload = {postId: OD.postID, instanceId: "EmbeddedNotifications"};
if (typeof window.__OW_OPEN_NOTIFICATIONS__ === 'function') {
window.__OW_OPEN_NOTIFICATIONS__(payload);
window.openWeb_onNewUnseen(0);
return;
}
document.addEventListener('ow-notifications-sdk-ready', function() {
window.__OW_OPEN_NOTIFICATIONS__(payload);
window.openWeb_onNewUnseen(0);
});
// clicked but not loaded, load now if available
window.OD.openWebInit();
};
// Init
if (typeof window.__OW_SUBSCRIBE_TO_NOTIFICATIONS__ === 'function') {
window.__OW_SUBSCRIBE_TO_NOTIFICATIONS__(OD.postID, window.openWeb_onNewUnseen);
return;
}
document.addEventListener('ow-notifications-sdk-ready', function(){
window.__OW_SUBSCRIBE_TO_NOTIFICATIONS__(OD.postID, window.openWeb_onNewUnseen);
});
});
*/