World news – Double Ewe in this week’s open thread

0
19

account
Subscribe to
On that day in 1997, scientists at the Roslin Institute revealed the existence of Dolly, the first mammalian clone made from adult cells. Although many subsequent clones have been made, mammalian cloning remains extremely difficult and its usefulness outside of work to empower or bring back rare animals that are either endangered or extinct remains in doubt. Dolly the Sheep’s main scientific legacy was techniques for more fruitful avenues in stem cell research.

You can use this page to talk about Dolly the Sheep, Hello Dolly, or Dolly Parton, or other areas of free-wheeling discourse outside of the topic follow. Previous discussions can be found in the Open Thread archive. Except for asking that you stay on topic, all of Slate’s standard commenting guidelines apply.

If you are dependent on this community and Slate journalism, you should join Slate Plus. We appreciate your support.

Slate is published by The Slate Group, a Graham Holdings Company.
All content © 2021 The Slate Group LLC. All rights reserved.

Slate depends on advertising to support our journalism. If you appreciate our work, please deactivate your ad blocker.

By joining Slate Plus you support our work and receive exclusive content. And you will never see this message again.

« )), c = d (m [i.size_id] .split ( » x « ). Map (function (s) {return value (s)}), 2 ), s.width = c [0], s .height = c [1]), s.rubiconTargeting = (Array.isArray (i.targeting)? i.targeting: []). redu (function (e, t ) {return e [t.key] = t. Values ​​[0], e}, {rpfl_elemid: f.adUnitCode}), t.push (s)): n.logError (« Rubicon: bidRequest undefined at index position: » . concat (o), r, e), t}, []). sort (function (e, t) {return (t.cpm || 0) – (e.cpm || 0)})}, getUserSyncs : Function (e, t, r, n) {if (! X&&e.iframeEnabled) {var i = «  »; return r&& « string » == typeof r.consentString&& (« boolean »? == typeof r.gdpries) « ? gdpr = » .gdprApplies), « &gdpr_consent = »). concat (r.consentString): i = « ? gdpr_consent = « . concat (r.consentString)), n&& (i = » « . concat (i? » & « : »? « , » us_privacy = « ) .concat (encodeURIComponent (n))), x =! 0 , {type: « iframe », url: « https: // » .concat (g.syncHost || « eus », « .rubiconproject.com / usync.html ») i}}}, transformBidParams: function (e) {return n.convertTypes ({accountId: « number », siteId: « number », zoneId: « number »}, e)}}; Function v (e, t) {var r = obgetConfig (« pageUrl »); r = e.params.referrer? e.params.referrer: r || t.refererInfo.referer; return e.params.secure?r.replace(/^http:/i, »https: »):r Genealogie function y (e, t) {var r = e.params; if (« video » === t) {var i = []; return r.video&&r.video.playerWidth&&r.video.playerHeight? i = [r.video. playerWidth, r.video.playerHeight]: Array.isArray (n.deepAccess (e, « mediaTypes.video.playerSize »)) &&1 === e.mediaTypes.video.playerSize.length? i = e.mediaTypes.video. playerSize [0]: Array.isArray (e.sizes) CSSEANDCH AR&0e.length) && (t = e.length); for (var r = 0, n = new array (t); r ‘; var i, o}}, h = function (e) {var t = 0 = e&&t.innerWidth’ v.vast_url «  »: v.vast_string&& (y = v.vast_string), g.pre_market_bids.push ({id: v.deal_id, seatbid: [{bid: [{impid:, dealid: v.deal_id, price: v.price, adm: y}]} ], cur: v.currency, ext: {event_log: [{}]}}}} var h = n.getBidIdParameter (« mimes » « , e .params) || [ » application / javascript « , » video / mp4 « , » video / webm « ], _ = {id: e.bidId, sure: l, video: {w: p, h: f, ext: g, mimes: h}}; » « ! = n.getBidIdParameter (« price_floor », e.params) && (_. bidfloor = n.getBidIdParameter (« price_floor », e.params)), «  »! = n .getBidIdParameter (« start_delay », e.params) && (_. video. video .startdelay = 0 Boolean (n.getBidIdParameter (« start_delay », e.params))), «  »! = n.getBidIdParameter (« e! .params) && (_. video.minduration = n.getBidIdParameter ( » min_duration « ) , e.params)), «  »! = n.getBidIdParameter (« max_ duration « , e.params) && (_. video.md .getBidIdParameter (« max_duration », e.params)), «  »! = n.getBidIdParameter (« placement type », e.params) && (_. video.ext.placement = n.getBidIdParameter (« placement type », e.params))), «  »! = n.getBidIdParameter (« position », e.params) && (_. video.ext.pos = n.getBidIdParameter (« position », e.params)), e.crumbs&&e.crumbs (c = e .crumbs.pubcid ); var S = navigator.language? « language »: « userLanguage », I = {id: s, imp: _, site: {id: «  », page: a, content: « content »}, device: {h: screen height, w: screen width, dnt : n.getDNT ()? 1: 0, language: Navigator [S] .split (« -« ) [0], brand: Navigator.Vendor navigator.vendor: «  », including: navigator.userAgent}, ext: {wrap_response: 1}}; n.getBidIdParameter (« number_of_ads », e.params) && (I.ext.number_of_ads = n.getBidIdParameter_ « , e.params)); var A = {}; return 1 == n.getBidIdParameter ( » spotx_all_google_consent « , e .params) && (A.consented_providers_settings = u), t&&t.gdprConsentConsent .consentString, void 0! == t.gdprConsent.gdprApplies&ons )), t&&t .us_privacy « , t.uspConsent), n.deepAccess (e, » userId.id5id.uid « ) && (A.eids = A.eids || [], A.eids.push ({source: « id5-syn c.com », uids: [{id: e.userId.id5id.uid}], ext: e.userId.id5id.ext || {}})), c&& (A.fpc = c) , e&&e.schain&CSSE (I.source = {ext: {schain: e.schain}}), e&&e.userId&&e.userId.tdid&&, {source | : « adserver. org », uids: [{id : e.userId.tdid, ext: {rtiPartner: « TDID »}}]}))), n.isEmpty (A) || (I.user = {ext: A}), {method: « POST », URL: « https://search.spotxchange.com/openrtb/2.3/dados/ » s, data: I, bidRequest: t}} )}, interpretResponse: function (e, t) {var r = [], i = e.body; return i&&n.isArray (i.seatbid) &&n._each (i.seatbid, function (s) {n._each (e.bid, function (s) {var a = {}; for (var c in t.bidRequest. bids) e.impid == t.bidRequest.bids [c] .bidId&& (a = t.bidRequest.bids [c]); n._each (a.params. pre_market_bids, function (t) {t.deal_id == e.id&& (e.price = t.price, i.cur = t.currency)}); var d = {requestId: a.bidId, currency: i.cur || « USD », cpm: e.price, creativeId: e.crid || «  », dealId: e.dealid || «  », ttl: 360, netRevenue:! 0, channel_id: i.id, cache_key: e.ext.cache_key, vastUrl: « https: // search .spotxchange.com / ad / vast.html? key = « e.ext.cache_key, videoCacheKey: e.ext.cache_key, media type: sd, width: ew, height: eh}; d.meta = d.meta | | {}, e&&e.adomain&&0e.length) && (t = e.length); for (var r = 0, n = new array (t); rt? e: t} function d (e, t, n) { ! e.preload&&e.preloadThreshh old&&function (e, t, n, i) {return t.top = e.shownThreshold&&! e.seen? (e.seen =! 0, setTimeout (function) new r (« shown », t))}, 15)) :(! n || i1&& (h = e (r, Math.floor (n / o), i-1, o)), h}, dies .getVerticallyVisiblePixels = f, this.getViewportHeight = function () {return t.innerHeight || e.documentElement.clientHeight || e.body.clientHeight}, this.getViewportWidth = function () {return t.innerWidth || e.documentElement .clientWidth || e.body.clientWidth}, this.isElementNotHidden = u, this.isElementInViewport = functi on (n) {var i = n.getBoundingClientRect (); return i .top> = 0&&i.left> = 0&&i.bottom = o.length) return {done: true}; return {done: false, value: o [i]}; }, e: function e (_e) {throw _e; }, f: F}; } throw new TypeError (« Invalid attempt to iterate on a non-iterable instance. nTo be iterable, non-array objects must have a [Symbol.iterator] () method. »); } var normalCompletion = true, didErr = false, err; return {s: function s () {it = o [symbol.iterator] (); }, n: function n () {var step = it.next (); normalCompletion = step.done; Regression; }, e: function e (_e2) {didErr = true; err = _e2; }, f: function f () {try {if (! normalCompletion && it.return! = null) it.return (); } finally {if (didErr) throw err; }}}; }}

Function _unsupportedIterableToArray (o, minLen) {if (! O) return; if (typeof o === « string ») return _arrayLikeToArray (o, minLen); var n = Object.prototype.toString.call (o) .slice (8, -1); if (n === « Object » && o.constructor) n = o.constructor.name; if (n === « Map » || n === « Set ») returns Array.from (o); if (n === « Arguments » || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray (o, minLen); }}

Function _arrayLikeToArray (arr, len) {if (len == null || len> arr.length) len = arr.length; for (var i = 0, arr2 = new array (len); i

Associated title :
Double Ewe
# ThrowBackToday: When mankind cloned a sheep 24 years ago and made the feat known
On this day: Scientists reveal Dolly, the cloned sheep

Ref: https://slate.com