Solidot 公告
文章提交注意事项:
请在发布文章时用HTML代码加上至少一条新闻来源的链接;原创性消息,可加入相关信息(如涉及公司的网址)的链接。有任何问题,邮件至:he.fang#zhiding.cn
注意:收到邮件乱码的用户请修改客户端的默认字体编码,从"简体中文(GB2312)"修改为"Unicode(UTF-8)"。
Wilson(42865)
发表于2022年12月11日 22时17分 星期日
来自大魔法师
13 岁的 Alyssa 去年五月被诊断患有 T 细胞急性淋巴细胞白血病。T 细胞本是人体免疫系统的重要组成部分,但 Alyssa 的 T 细胞却变得危险并失去控制。她的癌症是恶性的,化疗和骨髓移植都无法治愈。没有实验性的疗法,Alyssa 的唯一选择是死前能不那么痛苦。伦敦儿童医院 Great Ormond Street Hospital 的医生使用了一种实验性的“碱基编辑”(base editing)技术,六个月后她的癌症已经无法检测到。碱基编辑是在六年前发明的,科学家改良了基因编辑工具 CRISPR,能更容易改变遗传代码中 DNA 的个别 “字母”,而不是插入或删除整个基因。在这项研究中,医生和科学家团队从健康捐赠者捐赠的健康 T 细胞开始:第一次碱基编辑关闭了 T 细胞的靶向机制阻止其攻击 Alyssa;第二次剔除了 T 细胞的一种化学标记 CD7;第三次编辑是一个隐形斗篷,防止其被化疗药物杀死。碱基编辑的最后阶段是指示修改后的细胞搜寻所有带有 CD7 的 T 细胞,杀死所有癌变的 T 细胞。Alyssa 是碱基编辑技术治疗的第一位病人。
Wilson(42865)
发表于2022年12月11日 20时47分 星期日
来自我们祖先的祖先
华为与手机制造商 OPPO 达成专利交叉许可协议,OPPO 付费授权使用华为的 5G 技术专利。在手机业务遭受打击之后,华为正努力开辟新的收入来源。华为庞大的专利组合超过 10 万项,是 5G 技术的最大专利持有者之一。华为此前表示将在 2019 年到 2021 年间通过授权其知识产权获得 12 亿-13 亿美元的收入。华为表示它在 2021 年达到了其知识产权收入预期,但没有提供具体数字。
Wilson(42865)
发表于2022年12月11日 18时08分 星期日
来自荷鲁斯崛起
计算机历史博物馆首次公开了 Adobe 突破性数字打印技术 PostScript 的早期版本源代码。该版本可上溯至 1984 年,包含了作为商业机密保护的字体微调(font hinting)程序的早期版本,Bill Paxton 后来对此进行了重写、扩展和改进,这些改动对 PostScript 投入市场大获成功至关重要。Adobe Systems 创办于 40 年前的 1982 年 12 月,公司联合创始人 Chuck Geschke 和 John Warnock 设想利用最新的计算机技术创造一种全新的数字化打印机。他们与 Digital Equipment Corporation 和苹果等公司展开的讨论令其确信,软件是新数字化打印机的关键。他们的愿景是:任何计算机都可以通过一种通用的语言连接打印机和排字机,以最高的保真度打印文字和图像。Adobe 公司组建了一支精练的团队去创造这种通用的语言。这个团队除了两位联合创始人外,还有 Doug Brotz、Bill Paxton 和 Ed Taft。他们创造的语言 PostScript 于 1984 年发布。PostScript 让文字和图像的自由缩放、旋转和移动成为可能,今天大部分打印机都依赖于 PostScript 或其后续技术 PDF。 John Warnock 在 1990 年代推动开发了 PDF,将 PostScript 转变为一种更安全和更容易用作数字文档基础的技术,保留了互操作性、保真度和质量上的优点。
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"));