Solidot 公告
文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
Wilson(42865)
发表于2025年01月04日 23时56分 星期六
来自好兆头
笔记本电脑制造商 Framework 计划在 2025 年推出首款采用 RISC-V CPU 的产品。RISC-V 为开源指令集架构,最早由加州伯克利的 Parallel Computing Laboratory 研究人员开发,因其自由度过去几年硬件开发社区在积极开发 RISC-V 相关产品,但其发展仍然处于早期阶段。Framework 的 RISC-V 笔记本电脑主要面向开发者,这不是第一款 RISC-V 笔记本电脑。第一款 RISC-V 笔电是 DeepComputing 在 2023 年推出的 Roma,该公司在 2024 年推出了后续产品 DC-Roma II,预装了 Ubuntu 操作系统,能完成基本计算任务。DeepComputing 正与 Framework 展开合作,该公司承认 DC-Roma II 使用 RISC-V CPU 的性能远落后于主流的 x86 和 Arm CPU,希望新一代的 DC-Roma III 能改变这一状况。
Wilson(42865)
发表于2025年01月04日 23时20分 星期六
来自沙皇的邮件
美国卫生局局长呼吁为酒精饮品添加致癌风险警告,以提高对酒是可预防癌症的主要诱因的认识。他公布了关于酒精与患癌风险的建议,包括在含酒精饮品的标签上标注致癌风险警告等,以最大程度减少与酒精相关的癌症病例和死亡。建议说,在美国,饮酒是仅次于吸烟和肥胖的第三大可预防的致癌因素。饮酒已被证实与至少7种癌症的患癌风险直接相关,包括乳腺癌、结直肠癌、食道癌、肝癌、口腔癌、咽部和喉部癌,对于包括乳腺癌、口腔癌等在内的某些癌症,有证据表明患癌风险可能在每天喝一杯或更少的酒时开始增加。酒精是一种公认的、可预防的致癌因素,美国每年约有 10 万例癌症病例和2万例癌症死亡病例与酒精有关,比美国每年与酒精相关的交通事故造成的约 1.35 万死亡人数还要多,但大多数美国人都没有意识到这种风险。
Wilson(42865)
发表于2025年01月04日 23时10分 星期六
来自太阳之塔
圣诞节前夕,数据丢失预防服务 Cyberhaven 的开发者收到了据称来自 Google 的邮件,称该公司的 Chrome 扩展没有遵守 Google 的条款,要求立即采取行动,否则扩展将会被下架。邮件包含的链接指向了一个 Google 同意屏幕,要求获得 OAuth 应用 Privacy Policy Extension 的访问授权。Cyberhaven 的一名开发者同意了授权,攻击者利用该授权向 Chrome Web Store 上传了包含后门的新版本。从 12 月 25 日 1:32 AM UTC 到 26 日 2:50 AM UTC 之间,运行中的 Chrome 浏览器会自动下载恶意版本 v24.10.4。Cyberhaven 注意到这一安全事件,迅速释出了新版本。这一攻击事件公开之后,安全研究人员发现至少 36 个 Chrome 扩展遭到了相似的钓鱼攻击,其中部分被植入后门的恶意扩展在 Chrome Web Store 存在了 18 个月之久。这些扩展的总安装量约 260 万。大部分受影响扩展与 AI 工具和 VPN 相关,如 GPT 4 Summary with OpenAI,Proxy SwitchyOmega(V3),Wayin AI,AI Assistant - ChatGPT and Gemini for Chrome,等等。
function effect_add(ele,num2=1){
var num1 = parseInt(ele.text());
num2=num1+1;
var tt = 15;
var cc = 3;
var span_num = num2-num1;
if(span_num<=0)return false;
if(span_num<10){
tt=0.1;cc=1;
}else if(span_num>=10 && span_num<20){
tt=10;cc=2;
}else{
tt=15;cc=3;
}
var nn = 0;
var tc = parseInt(span_num/cc);
var c_num = 0;
var rt = parseInt(tt*100/tc);
var t = setInterval(function(){
if(c_num == tc){
var val = num1+span_num;
clearInterval(t);
}else{
var val = num1+cc*c_num;
}
ele.text(val);
c_num++;
},rt);
}
$("div.actions a[rel=hvala]").click(function () {
var _this = $(this);
var span = _this.find('span');
var id = _this.attr('data');
$.post('//solidot.justindustin.workers.dev/my/act?op=hvala', {id: id}, function (data) {
var data = eval("(" + data + ")");
if (data.id == 1) {
effect_add(span,data.num);
_this.parent('li').toggleClass('active');
} else {
alert(data.msg);
if (data.id == -2) {
window.location.href = "/login";
}
}
});
});
$("div.actions a[rel=fav]").click(function () {
window.location.href="/login";
})
$('div.block_m span.user').mouseover(function () {
var _this = $(this).children('.user_box');
if (_this.html() == "") {
var start = '
';
var end = '
';
_this.html(start + '
' + end);
$.ajax({
type: "POST",
url: "/user/userinfo",
data: "user=" + $(this).attr('id'),
success: function (data) {
var data = eval("(" + data + ")");
var content = '';
if (data[0] == -2) {
content += '
暂无个人简介
';
} else {
content += '
' + data[0][0] + data[0][1] + '
';
content += '
关系:';
if (data[1] == -1) {
content += '自己';
} else if (data[1][0] == 0) {
content += '
普通
修改关系';
} else if (data[1][0] == 1) {
content += '
朋友
修改关系';
} else if (data[1][0] == 2) {
content += '
敌人
修改关系';
}
content += "
";
if (data[2] != undefined) {
content += '
签名:' + data[2] + '
';
}
}
_this.html(start + content + end);
}
})
}
else
_this.removeClass('hiden')
}).mouseout(function () {
$(this).children('div.user_box').addClass('hiden')
})
$('#ul_nav li.s_icon').mouseover(function(){
var d = $(this).children('div');
d.toggleClass('hiden');
}).mouseout(function(){
var d = $(this).children('div');
d.toggleClass('hiden');
});
$('.wechat').mouseover(function(){
$('.wechat_code').toggleClass('hiden');
}).mouseout(function(){
$('.wechat_code').toggleClass('hiden');
});
$(document).ready(function(){
$('.nav-secondary a').click(function(){
var _txt = $(this).text();
_hmt.push(['_trackEvent', 'nav', 'click', _txt])
})
$('.btn_ss').click(function(){
var _txt = $(".textinp").val()
_hmt.push(['_trackEvent', 'search', 'click', _txt])
})
$('.block_m a').click(function(){
var _txt = $(this).text();
_hmt.push(['_trackEvent', 'story', 'click', _txt])
})
})
document.write(unescape("%3Cscript src='https://hm.baidu.com/h.js%3Fd11396a350156e4682e4156a671bdaf1' type='text/javascript'%3E%3C/script%3E"));